branch feature/8109 updated (5198ea0 -> fa8b548)
This is an automated email from the git hooks/post-receive script. New change to branch feature/8109 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git from 5198ea0 ajout de la popup d'edition des etats matures d'une caracteristique (refs #8109) new c714d04 ajout des nouveaux objets dans le modele + persistence (refs #8109) new f0a22bc validation + couleurs des caractéristiques (refs #8109) new 8c66e19 ajout du tooltip (refs #8109) new fa8b548 gestion de la maturité dans le cache des observations individuelles (refs #8109) The 4 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit fa8b5488f6e6d8cfd3eefe9944603b01455bd790 Author: Kevin Morin <morin@codelutin.com> Date: Wed Mar 23 19:41:21 2016 +0100 gestion de la maturité dans le cache des observations individuelles (refs #8109) commit 8c66e198df69f0c306cdc53c7f6c6fab78b0cbf2 Author: Kevin Morin <morin@codelutin.com> Date: Wed Mar 23 18:18:47 2016 +0100 ajout du tooltip (refs #8109) commit f0a22bcdc8a25457088b2c80b8e15dd3b3dd434c Author: Kevin Morin <morin@codelutin.com> Date: Wed Mar 23 17:58:27 2016 +0100 validation + couleurs des caractéristiques (refs #8109) commit c714d04f5e6300bffcff8f58cdd8a7af47965ed4 Author: Kevin Morin <morin@codelutin.com> Date: Wed Mar 23 16:07:42 2016 +0100 ajout des nouveaux objets dans le modele + persistence (refs #8109) Summary of changes: .../entities/protocol/MaturityCaracteristics.java | 14 ++ .../entities/protocol/TuttiProtocols.java | 1 + .../src/main/xmi/tutti-persistence.properties | 2 +- .../src/main/xmi/tutti-persistence.zargo | Bin 59165 -> 59646 bytes .../ifremer/tutti/service/PersistenceService.java | 9 +- .../service/samplingCache/CruiseSamplingCache.java | 47 ++++++- .../samplingCache/CruiseSamplingCacheLoader.java | 6 +- .../frequency/SpeciesFrequencyUIHandler.java | 19 ++- .../ui/swing/content/protocol/EditProtocolUI.jaxx | 1 + .../content/protocol/EditProtocolUIHandler.java | 70 +++++++++- .../content/protocol/EditProtocolUIModel.java | 147 +++++++++++++++++---- .../actions/EditMaturityCaracteristicAction.java | 61 ++++----- .../maturity/EditMaturityCaracteristicPopupUI.jaxx | 7 +- .../EditMaturityCaracteristicPopupUIHandler.java | 29 ++-- .../EditMaturityCaracteristicPopupUIModel.java | 93 +++++++------ .../EditProtocolUIModel-error-validation.xml | 11 ++ ...yCaracteristicPopupUIModel-error-validation.xml | 2 +- .../resources/i18n/tutti-ui-swing_en_GB.properties | 3 + .../resources/i18n/tutti-ui-swing_fr_FR.properties | 4 +- 19 files changed, 387 insertions(+), 139 deletions(-) create mode 100644 tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/MaturityCaracteristics.java -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8109 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit c714d04f5e6300bffcff8f58cdd8a7af47965ed4 Author: Kevin Morin <morin@codelutin.com> Date: Wed Mar 23 16:07:42 2016 +0100 ajout des nouveaux objets dans le modele + persistence (refs #8109) --- .../entities/protocol/MaturityCaracteristics.java | 14 + .../entities/protocol/TuttiProtocols.java | 1 + .../src/main/xmi/tutti-persistence.properties | 2 +- .../src/main/xmi/tutti-persistence.zargo | Bin 59165 -> 59646 bytes .../ifremer/tutti/service/PersistenceService.java | 9 +- .../content/protocol/EditProtocolUIHandler.java | 4 +- .../content/protocol/EditProtocolUIModel.java | 131 +- .../actions/EditMaturityCaracteristicAction.java | 55 +- .../maturity/EditMaturityCaracteristicPopupUI.jaxx | 7 +- .../EditMaturityCaracteristicPopupUIHandler.java | 29 +- .../EditMaturityCaracteristicPopupUIModel.java | 93 +- ...yCaracteristicPopupUIModel-error-validation.xml | 2 +- .../resources/i18n/tutti-ui-swing_fr_FR.properties | 2056 +++++++++----------- 13 files changed, 1194 insertions(+), 1209 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/MaturityCaracteristics.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/MaturityCaracteristics.java new file mode 100644 index 0000000..c43f284 --- /dev/null +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/MaturityCaracteristics.java @@ -0,0 +1,14 @@ +package fr.ifremer.tutti.persistence.entities.protocol; + +import javax.annotation.Generated; + +@Generated(value = "org.nuiton.eugene.java.SimpleJavaBeanTransformer", date = "Wed Mar 23 10:50:48 CET 2016") +public class MaturityCaracteristics extends AbstractMaturityCaracteristics { + + public static MaturityCaracteristic newMaturityCaracteristic(String id) { + MaturityCaracteristic caracteristic = newMaturityCaracteristic(); + caracteristic.setId(id); + return caracteristic; + } + +} //MaturityCaracteristics diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java index 814ddf2..80c3a2e 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java @@ -448,6 +448,7 @@ public class TuttiProtocols extends AbstractTuttiProtocols { result.setClassTag(Zone.class.getSimpleName(), Zones.typeOfZone()); result.setClassTag(Strata.class.getSimpleName(), Stratas.typeOfStrata()); result.setClassTag(SubStrata.class.getSimpleName(), SubStratas.typeOfSubStrata()); + result.setClassTag(MaturityCaracteristic.class.getSimpleName(), MaturityCaracteristics.typeOfMaturityCaracteristic()); result.writeConfig.setAlwaysWriteClassname(false); result.writeConfig.setWriteRootTags(false); return result; diff --git a/tutti-persistence/src/main/xmi/tutti-persistence.properties b/tutti-persistence/src/main/xmi/tutti-persistence.properties index d92795b..e31e43c 100644 --- a/tutti-persistence/src/main/xmi/tutti-persistence.properties +++ b/tutti-persistence/src/main/xmi/tutti-persistence.properties @@ -41,7 +41,7 @@ fr.ifremer.tutti.persistence.entities.data.SpeciesBatch.attribute.childBatchs.st fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol.attribute.caracteristicMapping.stereotype=ordered fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol.attribute.individualObservationPmfmId.stereotype=ordered fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol.attribute.lengthClassesPmfmId.stereotype=ordered -fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol.attribute.maturityPmfmId.stereotype=ordered +fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol.attribute.maturityCaracteristics.stereotype=ordered fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol.attribute.species.stereotype=ordered fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol.attribute.benthos.stereotype=ordered diff --git a/tutti-persistence/src/main/xmi/tutti-persistence.zargo b/tutti-persistence/src/main/xmi/tutti-persistence.zargo index a07a79f..9729091 100644 Binary files a/tutti-persistence/src/main/xmi/tutti-persistence.zargo and b/tutti-persistence/src/main/xmi/tutti-persistence.zargo differ diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java index 8d898fd..02934c2 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java @@ -48,6 +48,7 @@ import fr.ifremer.tutti.persistence.entities.data.Program; import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModel; import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch; import fr.ifremer.tutti.persistence.entities.data.SpeciesBatchFrequency; +import fr.ifremer.tutti.persistence.entities.protocol.MaturityCaracteristic; import fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol; import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocols; @@ -547,14 +548,14 @@ public class PersistenceService extends AbstractTuttiService implements TuttiPer if (protocol != null) { result = Lists.newArrayListWithCapacity( - protocol.sizeMaturityPmfmId()); + protocol.sizeMaturityCaracteristics()); Map<String, Caracteristic> allCaractericsById = TuttiEntities.splitById(caracteristics); - if (!protocol.isMaturityPmfmIdEmpty()) { - for (String id : protocol.getMaturityPmfmId()) { - result.add(allCaractericsById.get(id)); + if (!protocol.isMaturityCaracteristicsEmpty()) { + for (MaturityCaracteristic caracteristic : protocol.getMaturityCaracteristics()) { + result.add(allCaractericsById.get(caracteristic.getId())); } } } else { diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java index 9883fdf..8dad769 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java @@ -114,6 +114,7 @@ import java.util.HashSet; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.TreeSet; import java.util.stream.Collectors; @@ -241,7 +242,8 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI programStratasAndSubstratas.keySet().forEach(strata -> { locationLabelCacheBuilder.put(strata.getId(), strata.getLabel()); - programStratasAndSubstratas.get(strata).forEach(subStrata -> locationLabelCacheBuilder.put(subStrata.getId(), subStrata.getLabel())); + programStratasAndSubstratas.get(strata).stream().filter(Objects::nonNull) + .forEach(subStrata -> locationLabelCacheBuilder.put(subStrata.getId(), subStrata.getLabel())); }); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java index 55e70e4..8d13e59 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java @@ -30,6 +30,8 @@ import com.google.common.collect.Multimap; import com.google.common.collect.Multimaps; import fr.ifremer.tutti.persistence.entities.TuttiEntities; import fr.ifremer.tutti.persistence.entities.protocol.CaracteristicMappingRow; +import fr.ifremer.tutti.persistence.entities.protocol.MaturityCaracteristic; +import fr.ifremer.tutti.persistence.entities.protocol.MaturityCaracteristics; import fr.ifremer.tutti.persistence.entities.protocol.OperationFieldMappingRow; import fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol; import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; @@ -49,9 +51,12 @@ import org.apache.commons.lang3.mutable.MutableInt; import org.nuiton.util.beans.Binder; import org.nuiton.util.beans.BinderFactory; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -95,6 +100,8 @@ public class EditProtocolUIModel extends AbstractTuttiBeanUIModel<TuttiProtocol, public static final String PROPERTY_MODIFYING_ZONES = "modifyingZones"; + public static final String PROPERTY_MATURITY_PMFM_ID = "maturityPmfmId"; + /** * Delegate edit object. * @@ -155,6 +162,19 @@ public class EditProtocolUIModel extends AbstractTuttiBeanUIModel<TuttiProtocol, protected Map<String, Caracteristic> allCaracteristic; + /** + * List of the maturity pmfm ids + * @since 4.5 + */ + protected List<String> maturityPmfmId; + + /** + * Map of the maturity caracteristic by id. This is what is being edited. + * We do not push the maturity caracteristics directly into the editobject, this is done only when the user saves the protocol + * @since 4.5 + */ + protected final LinkedHashMap<String, MaturityCaracteristic> maturityCaracteristicsById = new LinkedHashMap<>(); + protected Map<Caracteristic, EditProtocolCaracteristicsRowModel> caracteristicMappingRows = new HashMap<>(); @@ -189,6 +209,35 @@ public class EditProtocolUIModel extends AbstractTuttiBeanUIModel<TuttiProtocol, public EditProtocolUIModel() { super(fromBeanBinder, toBeanBinder); + + // reset the list of maturity pmfm id when the list of maturity caracteristic changes + addPropertyChangeListener(PROPERTY_MATURITY_CARACTERISTICS, new PropertyChangeListener() { + + @Override + public void propertyChange(PropertyChangeEvent evt) { + List<MaturityCaracteristic> newValue = (List<MaturityCaracteristic>) evt.getNewValue(); + + EditProtocolUIModel.this.setMaturityPmfmId(newValue.stream().map(MaturityCaracteristic::getId).collect(Collectors.toList())); + + LinkedHashMap<String, MaturityCaracteristic> newMap = new LinkedHashMap<>(); + newValue.forEach(maturityCaracteristic -> newMap.put(maturityCaracteristic.getId(), maturityCaracteristic)); + EditProtocolUIModel.this.setMaturityCaracteristicsById(newMap); + } + }); + + // when the maturity psmf list changes, then remove the removed caracteristic or add the new caracteristic from the maturity caracteristics + addPropertyChangeListener(PROPERTY_MATURITY_PMFM_ID, new PropertyChangeListener() { + + @Override + public void propertyChange(PropertyChangeEvent evt) { + List<String> newValue = (List<String>) evt.getNewValue(); + LinkedHashMap<String, MaturityCaracteristic> newMap = new LinkedHashMap<>(); + newValue.forEach(maturityPmfmId -> newMap.put(maturityPmfmId, + maturityCaracteristicsById.getOrDefault(maturityPmfmId, + MaturityCaracteristics.newMaturityCaracteristic(maturityPmfmId)))); + EditProtocolUIModel.this.setMaturityCaracteristicsById(newMap); + } + }); } @Override @@ -216,7 +265,7 @@ public class EditProtocolUIModel extends AbstractTuttiBeanUIModel<TuttiProtocol, @Override public TuttiProtocol toEntity() { TuttiProtocol result = TuttiProtocols.newTuttiProtocol(); - toBeanBinder.copyExcluding(this, result, PROPERTY_ZONE); + toBeanBinder.copyExcluding(this, result, PROPERTY_ZONE, PROPERTY_MATURITY_CARACTERISTICS); // tree to model Set<Zone> zones = zonesTreeModel.getZones(); @@ -276,6 +325,8 @@ public class EditProtocolUIModel extends AbstractTuttiBeanUIModel<TuttiProtocol, } result.setBenthos(benthosProtocols); + result.setMaturityCaracteristics(new ArrayList<>(maturityCaracteristicsById.values())); + return result; } @@ -581,14 +632,12 @@ public class EditProtocolUIModel extends AbstractTuttiBeanUIModel<TuttiProtocol, firePropertyChange(PROPERTY_INDIVIDUAL_OBSERVATION_PMFM_ID, null, individualObservationPmfmId); } - @Override public List<String> getMaturityPmfmId() { - return editObject.getMaturityPmfmId(); + return maturityPmfmId; } - @Override public void setMaturityPmfmId(List<String> maturityPmfmId) { - editObject.setMaturityPmfmId(maturityPmfmId); + this.maturityPmfmId = maturityPmfmId; firePropertyChange(PROPERTY_MATURITY_PMFM_ID, null, maturityPmfmId); } @@ -749,54 +798,65 @@ public class EditProtocolUIModel extends AbstractTuttiBeanUIModel<TuttiProtocol, } @Override - public void addMaturityPmfmId(String maturityPmfmId) { - editObject.addMaturityPmfmId(maturityPmfmId); - firePropertyChange(PROPERTY_MATURITY_PMFM_ID, null, getMaturityPmfmId()); + public void addAllMaturityCaracteristics(Collection<MaturityCaracteristic> maturityCaracteristics) { + editObject.addAllMaturityCaracteristics(maturityCaracteristics); + firePropertyChanged(PROPERTY_MATURITY_CARACTERISTICS, null, getMaturityCaracteristics()); } @Override - public void addAllMaturityPmfmId(Collection<String> maturityPmfmId) { - editObject.addAllMaturityPmfmId(maturityPmfmId); - firePropertyChange(PROPERTY_MATURITY_PMFM_ID, null, getMaturityPmfmId()); + public MaturityCaracteristic getMaturityCaracteristics(int index) { + return editObject.getMaturityCaracteristics(index); } @Override - public boolean containsAllMaturityPmfmId(Collection<String> maturityPmfmId) { - return editObject.containsAllMaturityPmfmId(maturityPmfmId); + public boolean isMaturityCaracteristicsEmpty() { + return editObject.isMaturityCaracteristicsEmpty(); } @Override - public boolean containsMaturityPmfmId(String maturityPmfmId) { - return editObject.containsMaturityPmfmId(maturityPmfmId); + public int sizeMaturityCaracteristics() { + return editObject.sizeMaturityCaracteristics(); } @Override - public String getMaturityPmfmId(int index) { - return editObject.getMaturityPmfmId(index); + public void addMaturityCaracteristics(MaturityCaracteristic maturityCaracteristics) { + editObject.addMaturityCaracteristics(maturityCaracteristics); + firePropertyChanged(PROPERTY_MATURITY_CARACTERISTICS, null, getMaturityCaracteristics()); } @Override - public boolean isMaturityPmfmIdEmpty() { - return editObject.isMaturityPmfmIdEmpty(); + public boolean removeMaturityCaracteristics(MaturityCaracteristic maturityCaracteristics) { + boolean result = editObject.removeMaturityCaracteristics(maturityCaracteristics); + firePropertyChanged(PROPERTY_MATURITY_CARACTERISTICS, null, getMaturityCaracteristics()); + return result; } @Override - public boolean removeAllMaturityPmfmId(Collection<String> maturityPmfmId) { - boolean result = editObject.removeAllMaturityPmfmId(maturityPmfmId); - firePropertyChange(PROPERTY_MATURITY_PMFM_ID, null, getMaturityPmfmId()); + public boolean removeAllMaturityCaracteristics(Collection<MaturityCaracteristic> maturityCaracteristics) { + boolean result = editObject.removeAllMaturityCaracteristics(maturityCaracteristics); + firePropertyChanged(PROPERTY_MATURITY_CARACTERISTICS, null, getMaturityCaracteristics()); return result; } @Override - public boolean removeMaturityPmfmId(String maturityPmfmId) { - boolean result = editObject.removeMaturityPmfmId(maturityPmfmId); - firePropertyChange(PROPERTY_MATURITY_PMFM_ID, null, getMaturityPmfmId()); - return result; + public boolean containsMaturityCaracteristics(MaturityCaracteristic maturityCaracteristics) { + return editObject.containsMaturityCaracteristics(maturityCaracteristics); + } + + @Override + public boolean containsAllMaturityCaracteristics(Collection<MaturityCaracteristic> maturityCaracteristics) { + return editObject.containsAllMaturityCaracteristics(maturityCaracteristics); + } + + @Override + public List<MaturityCaracteristic> getMaturityCaracteristics() { + return editObject.getMaturityCaracteristics(); } @Override - public int sizeMaturityPmfmId() { - return editObject.sizeMaturityPmfmId(); + public void setMaturityCaracteristics(List<MaturityCaracteristic> maturityCaracteristics) { + editObject.setMaturityCaracteristics(maturityCaracteristics); + firePropertyChanged(PROPERTY_MATURITY_CARACTERISTICS, null, maturityCaracteristics); } @Override @@ -1255,4 +1315,19 @@ public class EditProtocolUIModel extends AbstractTuttiBeanUIModel<TuttiProtocol, this.zonesTreeModel.setLocationLabelCache(locationLabelCache); this.availableStratasTreeModel.setLocationLabelCache(locationLabelCache); } + + public Map<String, MaturityCaracteristic> getMaturityCaracteristicsById() { + return maturityCaracteristicsById; + } + + public void setMaturityCaracteristicsById(LinkedHashMap<String, MaturityCaracteristic> maturityCaracteristicsById) { + this.maturityCaracteristicsById.clear(); + if (maturityCaracteristicsById != null) { + this.maturityCaracteristicsById.putAll(maturityCaracteristicsById); + } + } + + public MaturityCaracteristic getMaturityCaracteristic(String id) { + return maturityCaracteristicsById.get(id); + } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/actions/EditMaturityCaracteristicAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/actions/EditMaturityCaracteristicAction.java index fabb121..d35eeec 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/actions/EditMaturityCaracteristicAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/actions/EditMaturityCaracteristicAction.java @@ -1,10 +1,13 @@ package fr.ifremer.tutti.ui.swing.content.protocol.actions; +import fr.ifremer.tutti.persistence.entities.protocol.MaturityCaracteristic; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUI; import fr.ifremer.tutti.ui.swing.content.protocol.maturity.EditMaturityCaracteristicPopupUI; import fr.ifremer.tutti.ui.swing.util.actions.SimpleActionSupport; +import java.util.Collection; + /** * @author Kevin Morin (Code Lutin) * @since 4.5 @@ -19,43 +22,21 @@ public class EditMaturityCaracteristicAction extends SimpleActionSupport<EditPro protected void onActionPerformed(EditProtocolUI ui) { EditMaturityCaracteristicPopupUI popupUI = new EditMaturityCaracteristicPopupUI(ui); - popupUI.open((Caracteristic) ui.getMaturityList().getSelectedList().getSelectedValue()); - -// JXTable cpsTable = ui.getCpsTable(); -// CalcifiedPiecesSamplingEditorTableModel tableModel = (CalcifiedPiecesSamplingEditorTableModel) cpsTable.getModel(); -// -// int selectedRow = cpsTable.getSelectedRow(); -// -// List<CalcifiedPiecesSamplingEditorRowModel> cpsRows = ui.getModel().getCpsRows(); -// -// CalcifiedPiecesSamplingEditorRowModel row = cpsRows.get(selectedRow); -// -// int minMinSize = row.getMinSize() + 1; -// Integer maxMinSize = row.getMaxSize() != null ? row.getMaxSize() - 1 : null; -// -// MinSizePopupUI minSizePopupUI = new MinSizePopupUI(ui); -// minSizePopupUI.open(minMinSize, maxMinSize); -// -// if (minSizePopupUI.getModel().isValid()) { -// -// Integer minSize = minSizePopupUI.getModel().getMinSize(); -// Integer exMaxSize = row.getMaxSize(); -// row.setMaxSize(minSize - 1); -// -// CalcifiedPiecesSamplingEditorRowModel newRow = ui.getHandler().createNewRow(row.getProtocolSpecies(), -// row.getMaturity(), -// row.isSex(), -// minSize, -// exMaxSize); -// cpsRows.add(selectedRow + 1, newRow); -// -// tableModel.fireTableRowsUpdated(selectedRow, selectedRow); -// tableModel.fireTableRowsInserted(newRow); -// -// // select this new row -// // int rowIndex = tableModel.getRowIndex(newRow); -// // SwingUtil.setSelectionInterval(cpsTable, rowIndex); -// } + Caracteristic selectedValue = (Caracteristic) ui.getMaturityList().getSelectedList().getSelectedValue(); + + if (selectedValue != null) { + MaturityCaracteristic maturityCaracteristic = ui.getModel().getMaturityCaracteristic(selectedValue.getId()); + popupUI.open(selectedValue, maturityCaracteristic); + + if (popupUI.getModel().isValid()) { + + Collection<String> matureStateIds = popupUI.getModel().getMatureStateIds(); + maturityCaracteristic.setMatureStateIds(matureStateIds); + + ui.getModel().setModify(true); + + } + } } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/maturity/EditMaturityCaracteristicPopupUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/maturity/EditMaturityCaracteristicPopupUI.jaxx index cf11700..db9e214 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/maturity/EditMaturityCaracteristicPopupUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/maturity/EditMaturityCaracteristicPopupUI.jaxx @@ -23,6 +23,7 @@ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<EditMaturityCaracteristicPopupUIModel, EditMaturityCaracteristicPopupUIHandler>'> <import> + fr.ifremer.tutti.persistence.entities.protocol.MaturityCaracteristic fr.ifremer.tutti.persistence.entities.referential.Caracteristic fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue @@ -39,8 +40,8 @@ public EditMaturityCaracteristicPopupUI(TuttiUI<?,?> parentUI) { TuttiUIUtil.setParentUI(this, parentUI); } -public void open(Caracteristic maturityCaracteristic) { - handler.open(maturityCaracteristic); +public void open(Caracteristic caracteristic, MaturityCaracteristic maturityCaracteristic) { + handler.open(caracteristic, maturityCaracteristic); } ]]></script> @@ -48,7 +49,7 @@ public void open(Caracteristic maturityCaracteristic) { <BeanValidator id='validator' bean='model' uiClass='jaxx.runtime.validator.swing.ui.ImageValidationUI'> - <field name='qualitativeValues' component='maturityValuesEditor'/> + <field name='matureStateIds' component='maturityValuesEditor'/> </BeanValidator> <Table id='mainPanel' fill='both'> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/maturity/EditMaturityCaracteristicPopupUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/maturity/EditMaturityCaracteristicPopupUIHandler.java index 550baa8..6080f07 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/maturity/EditMaturityCaracteristicPopupUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/maturity/EditMaturityCaracteristicPopupUIHandler.java @@ -22,6 +22,7 @@ package fr.ifremer.tutti.ui.swing.content.protocol.maturity; * #L% */ +import fr.ifremer.tutti.persistence.entities.protocol.MaturityCaracteristic; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler; @@ -35,7 +36,7 @@ import javax.swing.ListCellRenderer; import java.awt.Component; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; -import java.util.Map; +import java.util.List; import static org.nuiton.i18n.I18n.t; @@ -61,8 +62,14 @@ public class EditMaturityCaracteristicPopupUIHandler extends AbstractTuttiUIHand CaracteristicQualitativeValue item = list.getModel().getElementAt(index); // Toggle selected state + if (item != null) { + if (getModel().isMature(item)) { + getModel().removeMatureState(item); - getModel().setValueMature(item, !getModel().isMature(item)); + } else { + getModel().addMatureState(item); + } + } // Repaint cell @@ -70,10 +77,10 @@ public class EditMaturityCaracteristicPopupUIHandler extends AbstractTuttiUIHand } }); - getModel().addPropertyChangeListener(EditMaturityCaracteristicPopupUIModel.PROPERTY_QUALITATIVE_VALUES, evt -> { - Map<CaracteristicQualitativeValue, Boolean> newValue = (Map<CaracteristicQualitativeValue, Boolean>) evt.getNewValue(); + getModel().addPropertyChangeListener(EditMaturityCaracteristicPopupUIModel.PROPERTY_ALL_MATURITY_STATES, evt -> { + List<CaracteristicQualitativeValue> newValue = (List<CaracteristicQualitativeValue>) evt.getNewValue(); if (newValue != null) { - maturityValuesEditor.setListData(newValue.keySet().toArray(new CaracteristicQualitativeValue[newValue.size()])); + maturityValuesEditor.setListData(newValue.toArray(new CaracteristicQualitativeValue[newValue.size()])); } else { maturityValuesEditor.setListData(new CaracteristicQualitativeValue[0]); } @@ -95,10 +102,13 @@ public class EditMaturityCaracteristicPopupUIHandler extends AbstractTuttiUIHand return getUI().getMaturityValuesEditor(); } - public void open(Caracteristic maturityCaracteristic) { - getModel().setQualitativeValues(maturityCaracteristic.getQualitativeValue()); + public void open(Caracteristic caracteristic, MaturityCaracteristic maturityCaracteristic) { + getModel().setAllMaturityStates(caracteristic.getQualitativeValue()); + getModel().setMatureStateIds(maturityCaracteristic.getMatureStateIds()); getModel().setValid(false); - ui.getMessage().setText(t("tutti.editProtocol.maturityCaracteristic.dialog.message", decorate(maturityCaracteristic))); + + getUI().getMessage().setText(t("tutti.editProtocol.maturityCaracteristic.dialog.message", decorate(caracteristic))); + getUI().pack(); SwingUtil.center(getContext().getMainUI(), ui); getUI().setVisible(true); @@ -112,7 +122,8 @@ public class EditMaturityCaracteristicPopupUIHandler extends AbstractTuttiUIHand } public void cancel() { - getModel().setQualitativeValues(null); + getModel().setAllMaturityStates(null); + getModel().setMatureStateIds(null); onCloseUI(); } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/maturity/EditMaturityCaracteristicPopupUIModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/maturity/EditMaturityCaracteristicPopupUIModel.java index f9d0322..7c57f15 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/maturity/EditMaturityCaracteristicPopupUIModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/maturity/EditMaturityCaracteristicPopupUIModel.java @@ -4,10 +4,10 @@ import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativ import org.jdesktop.beans.AbstractSerializableBean; import java.util.ArrayList; -import java.util.LinkedHashMap; +import java.util.Collection; +import java.util.HashSet; import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; +import java.util.Objects; /** * @author Kevin Morin (Code Lutin) @@ -15,67 +15,78 @@ import java.util.stream.Collectors; */ public class EditMaturityCaracteristicPopupUIModel extends AbstractSerializableBean { - public static final String PROPERTY_QUALITATIVE_VALUES = "qualitativeValues"; - public static final String PROPERTY_MATURE_VALUES = "matureValues"; - public static final String PROPERTY_IMMATURE_VALUES = "immatureValues"; + public static final String PROPERTY_ALL_MATURITY_STATES = "allMaturityStates"; + + public static final String PROPERTY_MATURE_STATE_IDS = "matureStateIds"; /** * Is the model valid? */ protected boolean valid; - protected final Map<CaracteristicQualitativeValue, Boolean> qualitativeValuesStates = new LinkedHashMap<>(); + protected final List<CaracteristicQualitativeValue> allMaturityStates = new ArrayList<>(); + + protected final Collection<String> matureStateIds = new HashSet<>(); + + public List<CaracteristicQualitativeValue> getAllMaturityStates() { + return allMaturityStates; + } - public Map<CaracteristicQualitativeValue, Boolean> getQualitativeValuesStates() { - return qualitativeValuesStates; + public void setAllMaturityStates(List<CaracteristicQualitativeValue> allMaturityStates) { + this.allMaturityStates.clear(); + if (allMaturityStates != null) { + this.allMaturityStates.addAll(allMaturityStates); + } + firePropertyChange(PROPERTY_ALL_MATURITY_STATES, null, this.allMaturityStates); } - public List<CaracteristicQualitativeValue> getQualitativeValues() { - return new ArrayList<>(qualitativeValuesStates.keySet()); + public Collection<String> getMatureStateIds() { + return matureStateIds; } -// public void setQualitativeValues(TreeMap<Serializable, Boolean> qualitativeValues) { -// Object oldValue = getQualitativeValues(); -// -// this.qualitativeValues.clear(); -// if (qualitativeValues != null) { -// this.qualitativeValues.putAll(qualitativeValues); -// } -// firePropertyChange(PROPERTY_QUALITATIVE_VALUES, oldValue, qualitativeValues); -// } - - public void setQualitativeValues(List<CaracteristicQualitativeValue> qualitativeValues) { - Object oldMatureValues = hasMatureValues(); - Object oldImmatureValues = hasImmatureValues(); - - this.qualitativeValuesStates.clear(); - if (qualitativeValues != null) { - this.qualitativeValuesStates.putAll(qualitativeValues.stream().collect(Collectors.toMap(c -> c, c -> false))); + public void setMatureStateIds(Collection<String> matureStateIds) { + this.matureStateIds.clear(); + if (matureStateIds != null) { + this.matureStateIds.addAll(matureStateIds); } + firePropertyChange(PROPERTY_MATURE_STATE_IDS, null, this.matureStateIds); + } + + public void addMatureState(CaracteristicQualitativeValue state) { + Objects.requireNonNull(state); + addMatureState(state.getId()); + } + + public void addMatureState(String stateId) { + matureStateIds.add(stateId); + firePropertyChange(PROPERTY_MATURE_STATE_IDS, null, matureStateIds); + } + + public void removeMatureState(CaracteristicQualitativeValue state) { + Objects.requireNonNull(state); + removeMatureState(state.getId()); + } - firePropertyChange(PROPERTY_QUALITATIVE_VALUES, null, this.qualitativeValuesStates); - firePropertyChange(PROPERTY_MATURE_VALUES, oldMatureValues, hasMatureValues()); - firePropertyChange(PROPERTY_IMMATURE_VALUES, oldImmatureValues, hasImmatureValues()); + public void removeMatureState(String stateId) { + matureStateIds.remove(stateId); + firePropertyChange(PROPERTY_MATURE_STATE_IDS, null, matureStateIds); } - public void setValueMature(CaracteristicQualitativeValue value, boolean mature) { - Object oldMatureValues = hasMatureValues(); - Object oldImmatureValues = hasImmatureValues(); - qualitativeValuesStates.put(value, mature); - firePropertyChange(PROPERTY_MATURE_VALUES, oldMatureValues, hasMatureValues()); - firePropertyChange(PROPERTY_IMMATURE_VALUES, oldImmatureValues, hasImmatureValues()); + public boolean isMature(CaracteristicQualitativeValue state) { + Objects.requireNonNull(state); + return isMature(state.getId()); } - public boolean isMature(CaracteristicQualitativeValue value) { - return qualitativeValuesStates.get(value); + public boolean isMature(String id) { + return matureStateIds.contains(id); } public boolean hasMatureValues() { - return qualitativeValuesStates.containsValue(true); + return matureStateIds.size() > 0; } public boolean hasImmatureValues() { - return qualitativeValuesStates.containsValue(false); + return matureStateIds.size() < allMaturityStates.size(); } public boolean isValid() { diff --git a/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/protocol/maturity/EditMaturityCaracteristicPopupUIModel-error-validation.xml b/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/protocol/maturity/EditMaturityCaracteristicPopupUIModel-error-validation.xml index 0db968d..610f47c 100644 --- a/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/protocol/maturity/EditMaturityCaracteristicPopupUIModel-error-validation.xml +++ b/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/protocol/maturity/EditMaturityCaracteristicPopupUIModel-error-validation.xml @@ -27,7 +27,7 @@ "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> <validators> - <field name="qualitativeValues"> + <field name="matureStateIds"> <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> <![CDATA[ hasMatureValues() && hasImmatureValues() ]]> diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties index 3ad657f..026f016 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties @@ -1295,1102 +1295,990 @@ tutti.editSpeciesBatch.action.importMultiPostOnlyFrequencies.tip=Importer des lo tutti.editSpeciesBatch.action.importMultiPostOnlyIndividualObservations=Lot espèces et observations individuelles tutti.editSpeciesBatch.action.importMultiPostOnlyIndividualObservations.mnemonic=O tutti.editSpeciesBatch.action.importMultiPostOnlyIndividualObservations.sourceFile.button=Importer -tutti.editSpeciesBatch.action.importMultiPostOnlyIndividualObservations.sourceFile.title=Importer des lots d'espèces et des observations individuelles -tutti.editSpeciesBatch.action.importMultiPostOnlyIndividualObservations.success=Des lots d'espèces et observations individuelles ont été importés depuis le fichier %s -tutti.editSpeciesBatch.action.importMultiPostOnlyIndividualObservations.tip=Importer des lots d'espèces et des observations individuelles créés sur un poste satellite -tutti.editSpeciesBatch.action.importPsion=Import Psion -tutti.editSpeciesBatch.action.importPsion.existingData.help=Que voulez-vous faire ?<ul><li><strong>Annuler</strong> pour ne pas importer les données Pupitri et conserver les espèces saisies</li><li><strong>OK</strong> pour supprimer les espèces existantes et les remplacer par les données de Pupitri</li></ul> -tutti.editSpeciesBatch.action.importPsion.existingData.message=Des espèces ont déjà été saisies dans la capture. Si vous continuez, elles vont être écrasées. -tutti.editSpeciesBatch.action.importPsion.existingData.title=Données existantes -tutti.editSpeciesBatch.action.importPsion.invalidSampleCategoryModel.message=<html><body>Le modèle de catégorisation n'est pas compatible pour un import psion.<br> Il manque les catégories suivantes \: <ul>%s</ul><hr/>Veuillez ajouter cette catégorie dans la configuration de catégorisation (menu administration).</body></html> -tutti.editSpeciesBatch.action.importPsion.invalidSampleCategoryModel.title=Modèle de catégorisation non compatible -tutti.editSpeciesBatch.action.importPsion.mnemonic=m -tutti.editSpeciesBatch.action.importPsion.no.matching.data=Import psion non réalisé (des erreurs ont été détectées lors de la lecture du fichier) -tutti.editSpeciesBatch.action.importPsion.no.matching.fishingOperation=L'import Psion n'a pas été réalisé, des erreurs ont été détectées \:<ul>%s</ul><br/>Aucun lot n'a donc été importé. -tutti.editSpeciesBatch.action.importPsion.no.matching.fishingOperation.title=Import Psion -tutti.editSpeciesBatch.action.importPsion.success=Import Psion réussi \: %1s espèces importées (Vrac), %2s espèces importées (Hors-Vrac) -tutti.editSpeciesBatch.action.importPsion.tip=Import Psion -tutti.editSpeciesBatch.action.importPupitri=Import Pupitri -tutti.editSpeciesBatch.action.importPupitri.existingData.help=Que voulez-vous faire ?<ul><li><strong>Annuler</strong> pour ne pas importer les données Pupitri et conserver les espèces saisies</li><li><strong>OK</strong> pour supprimer les espèces existantes et les remplacer par les données de Pupitri</li></ul> -tutti.editSpeciesBatch.action.importPupitri.existingData.message=Des espèces ont déjà été saisies dans la capture. Si vous continuez, elles vont être écrasées. -tutti.editSpeciesBatch.action.importPupitri.existingData.title=Données existantes -tutti.editSpeciesBatch.action.importPupitri.invalidSampleCategoryModel.message=<html><body>Le modèle de catégorisation n'est pas compatible pour un import pupitri.<br> Il manque les catégories suivantes \: <ul>%s</ul><hr/>Veuillez ajouter cette catégorie dans la configuration de catégorisation (menu administration).</body></html> -tutti.editSpeciesBatch.action.importPupitri.invalidSampleCategoryModel.title=Modèle de catégorisation non compatible -tutti.editSpeciesBatch.action.importPupitri.mnemonic=u -tutti.editSpeciesBatch.action.importPupitri.no.matching.data=Import pupitri non réalisé (Les identifiants de Station et/ ou de Date du trait ne correspondent pas) -tutti.editSpeciesBatch.action.importPupitri.no.matching.fishingOperation=L'application n'a pas trouvé dans les fichiers Trunk et Carrousel les identifiants de Station et/ou de Date du trait en cours de saisie.<br/>Aucun lot n'a donc été importé. -tutti.editSpeciesBatch.action.importPupitri.no.matching.fishingOperation.title=Import Pupitri -tutti.editSpeciesBatch.action.importPupitri.showReport.message=L'import pupitri a été réalisé et un rapport a été généré.<br/>Ce rapport (<strong>%s</strong>) a été enregistré dans les pièces-jointes de la capture. -tutti.editSpeciesBatch.action.importPupitri.showReport.title=Consulter le rapport d'import Pupitri -tutti.editSpeciesBatch.action.importPupitri.speciesNotImported.message=%s espèces n'ont pas été importées lors de l'import Pupitri, en voici la liste \: <ul>%s</ul> -tutti.editSpeciesBatch.action.importPupitri.speciesNotImported.title=Import Pupitri (espèces non importées) -tutti.editSpeciesBatch.action.importPupitri.success=Import Pupitri réussi \: %1s espèces importées, %2s espèces rejetées -tutti.editSpeciesBatch.action.importPupitri.tip=Import Pupitri -tutti.editSpeciesBatch.action.removeBatch=Supprimer le lot -tutti.editSpeciesBatch.action.removeBatch.confirm.message=<html>Vous êtes sur le point de supprimer un lot d'espèces.<hr/>Êtes-vous sur de vouloir le supprimer ?</html> -tutti.editSpeciesBatch.action.removeBatch.confirm.title=Suppression de lots d'espèces -tutti.editSpeciesBatch.action.removeBatch.mnemonic=S -tutti.editSpeciesBatch.action.removeBatch.tip=Supprimer le lot courant (celui de la ligne sélectionnée) et tous ces fils -tutti.editSpeciesBatch.action.removeBatches=Supprimer les lots -tutti.editSpeciesBatch.action.removeBatches.confirm.message=<html>Vous êtes sur le point de supprimer %s lots d'espèces.<hr/>Êtes-vous sur de vouloir les supprimer ?</html> -tutti.editSpeciesBatch.action.removeBatches.tip=Supprimer les lot courants (ceux des lignes sélectionnées) et tous leurs fils -tutti.editSpeciesBatch.action.removeSubBatch=Supprimer les lots fils -tutti.editSpeciesBatch.action.removeSubBatch.confirm.message=<html>Vous êtes sur le point de supprimer les fils d'un lot d'espèces.<hr/>Êtes-vous sur de vouloir les supprimer ?</html> -tutti.editSpeciesBatch.action.removeSubBatch.confirm.title=Suppression des fils d'un lot d'espèces -tutti.editSpeciesBatch.action.removeSubBatch.mnemonic=f -tutti.editSpeciesBatch.action.removeSubBatch.tip=Supprimer tous les lots fils du lot sélectionné -tutti.editSpeciesBatch.action.renameBatch=Corriger l'espèce -tutti.editSpeciesBatch.action.renameBatch.mnemonic=o -tutti.editSpeciesBatch.action.renameBatch.tip=Corriger l'espèce -tutti.editSpeciesBatch.action.showReport=Consulter le rapport généré -tutti.editSpeciesBatch.action.splitBatch=Catégoriser le lot -tutti.editSpeciesBatch.action.splitBatch.mnemonic=C -tutti.editSpeciesBatch.action.splitBatch.tip=Catégoriser le lot courant (celui de la ligne sélectionné) -tutti.editSpeciesBatch.action.title.choose.importBigfinFile=Importer un fichier Bigfin -tutti.editSpeciesBatch.action.title.choose.importPsionFile=Importer un fichier Psion -tutti.editSpeciesBatch.error.sampleCategoryValue.notAvailable=La valeur %s de la catégorie %s est déjà utilisée -tutti.editSpeciesBatch.field.speciesTotalInertWeight=Poids inerte trié -tutti.editSpeciesBatch.field.speciesTotalInertWeight.tip=Poids de la fraction inerte restante après le tri des espèces (cailloux, vase, débris coquilliers, etc.) -tutti.editSpeciesBatch.field.speciesTotalLivingNotItemizedWeight=Poids vivant non détaillé trié -tutti.editSpeciesBatch.field.speciesTotalLivingNotItemizedWeight.tip=Poids de la fraction vivante restante après le tri des espèces (algues, matières vivantes non reconnaissable, etc.) -tutti.editSpeciesBatch.field.speciesTotalSampleSortedWeight=Poids Vrac observé -tutti.editSpeciesBatch.field.speciesTotalSampleSortedWeight.tip=Poids total des espèces triées (poissons, crustacés etc.) -tutti.editSpeciesBatch.field.speciesTotalSortedWeight=Poids espèces isolées -tutti.editSpeciesBatch.field.speciesTotalSortedWeight.tip=Poids total VRAC des espèces dans la capture (poissons, crustacés etc.) -tutti.editSpeciesBatch.field.speciesTotalUnsortedWeight=Poids Hors Vrac observé -tutti.editSpeciesBatch.field.speciesTotalUnsortedWeight.tip=Poids total HORS VRAC observé des espèces dans la capture (sans les captures accidentelles) -tutti.editSpeciesBatch.field.speciesTotalWeight=Poids total espèces -tutti.editSpeciesBatch.field.speciesTotalWeight.tip=Poids total des espèces dans la capture (poissons, crustacés etc.) -tutti.editSpeciesBatch.filterBatch=Filtre -tutti.editSpeciesBatch.filterBatch.mode.all=Aucun -tutti.editSpeciesBatch.filterBatch.mode.all.tip=Pas de filtre (tous les lots sont visibles) -tutti.editSpeciesBatch.filterBatch.mode.leaf=Feuilles -tutti.editSpeciesBatch.filterBatch.mode.leaf.tip=Voir uniquement les lots *feuilles* -tutti.editSpeciesBatch.filterBatch.mode.root=Parents (%s) -tutti.editSpeciesBatch.filterBatch.mode.root.tip=Voir uniquement les lots *parents* -tutti.editSpeciesBatch.filterSpeciesBatch.tip=Pour filtrer les lots -tutti.editSpeciesBatch.sortSpeciesBatch=Tri -tutti.editSpeciesBatch.sortSpeciesBatch.tip=Trier les lignes selon les espèces -tutti.editSpeciesBatch.speciesSortMode.asc=Ascendant -tutti.editSpeciesBatch.speciesSortMode.asc.tip=Utiliser l'ordre ascendant -tutti.editSpeciesBatch.speciesSortMode.desc=Descendant -tutti.editSpeciesBatch.speciesSortMode.desc.tip=Utiliser l'ordre descendant -tutti.editSpeciesBatch.speciesSortMode.none=Saisie -tutti.editSpeciesBatch.speciesSortMode.none.tip=Utiliser l'ordre de saisie -tutti.editSpeciesBatch.split.weightNotNull.help=Que voulez-vous faire ? <ul><li><strong>Annuler</strong> pour ne pas catégoriser le lot et garder le poids sous-échantilloné</li><li><strong>OK</strong> pour catégoriser le lot et supprimer le poids sous-échantillonné</li></ul>. -tutti.editSpeciesBatch.split.weightNotNull.message=Pour catégoriser un lot, il ne doit pas avoir de poids sous-échantillonné -tutti.editSpeciesBatch.split.weightNotNull.title=Poids sous-échantillonné non nul -tutti.editSpeciesBatch.table.header.comment=Commentaire -tutti.editSpeciesBatch.table.header.comment.tip=Commentaire sur la ligne -tutti.editSpeciesBatch.table.header.computedNumber=Tailles/Poids ou Nombre -tutti.editSpeciesBatch.table.header.computedNumber.tip=Tailles/Poids ou Nombre d'individus dans le lot -tutti.editSpeciesBatch.table.header.file=Pièces jointes -tutti.editSpeciesBatch.table.header.file.tip=Pièces jointes associées à la ligne -tutti.editSpeciesBatch.table.header.id=Id -tutti.editSpeciesBatch.table.header.id.tip=Identifiant du lot -tutti.editSpeciesBatch.table.header.species=Espèce -tutti.editSpeciesBatch.table.header.species.tip=Code campagne ou code Rubin – Nom scientifique -tutti.editSpeciesBatch.table.header.toConfirm.tip=Case à cocher pour marquer le lot -tutti.editSpeciesBatch.table.header.weight=Poids sous-échantillonné -tutti.editSpeciesBatch.table.header.weight.tip=Poids du lot mesuré ou dénombré -tutti.editSpeciesBatch.title.changeSampleCategoryValue=Changer la valeur de la catégorie %s -tutti.editSpeciesFrequencies.action.addLengthStepCaracteristic=... -tutti.editSpeciesFrequencies.action.addLengthStepCaracteristic.mnemonic=. -tutti.editSpeciesFrequencies.action.addLengthStepCaracteristic.tip=Sélectionner une autre caractéristique -tutti.editSpeciesFrequencies.action.cancel=Annuler -tutti.editSpeciesFrequencies.action.cancel.mnemonic=A -tutti.editSpeciesFrequencies.action.cancel.tip=Annuler l'édition des mensurations -tutti.editSpeciesFrequencies.action.exportMultiPostFull=Mensurations et observations individuelles -tutti.editSpeciesFrequencies.action.exportMultiPostFull.mnemonic=e -tutti.editSpeciesFrequencies.action.exportMultiPostFull.tip=Exporter les mensurations et observations individuelles du lot pour les importer sur le poste maître -tutti.editSpeciesFrequencies.action.exportMultiPostOnlyFrequencies=Mensurations -tutti.editSpeciesFrequencies.action.exportMultiPostOnlyFrequencies.mnemonic=M -tutti.editSpeciesFrequencies.action.exportMultiPostOnlyFrequencies.tip=Exporter les mensurations du lot pour les importer sur le poste maître -tutti.editSpeciesFrequencies.action.exportMultiPostOnlyIndividualObservations=Observations individuelles -tutti.editSpeciesFrequencies.action.exportMultiPostOnlyIndividualObservations.mnemonic=O -tutti.editSpeciesFrequencies.action.exportMultiPostOnlyIndividualObservations.tip=Exporter les observations individuelles du lot pour les importer sur le poste maître -tutti.editSpeciesFrequencies.action.generate=Générer -tutti.editSpeciesFrequencies.action.generate.mnemonic=G -tutti.editSpeciesFrequencies.action.generate.tip=Générer les mensurations -tutti.editSpeciesFrequencies.action.importMultiPostFull=Mensurations et observations individuelles -tutti.editSpeciesFrequencies.action.importMultiPostFull.mnemonic=e -tutti.editSpeciesFrequencies.action.importMultiPostFull.tip=Importer les mensurations et observations individuelles du lot créés sur un poste satellite -tutti.editSpeciesFrequencies.action.importMultiPostOnlyFrequencies=Mensurations -tutti.editSpeciesFrequencies.action.importMultiPostOnlyFrequencies.mnemonic=M -tutti.editSpeciesFrequencies.action.importMultiPostOnlyFrequencies.tip=Importer les mensurations du lot créés sur un poste satellite -tutti.editSpeciesFrequencies.action.importMultiPostOnlyIndividualObservations=Observations individuelles -tutti.editSpeciesFrequencies.action.importMultiPostOnlyIndividualObservations.mnemonic=O -tutti.editSpeciesFrequencies.action.importMultiPostOnlyIndividualObservations.tip=Importer les observations individuelles du lot créés sur un poste satellite -tutti.editSpeciesFrequencies.action.removeObservation=Supprimer -tutti.editSpeciesFrequencies.action.removeObservation.confirm.message=<html>Vous êtes sur le point de supprimer l'observation sélectionnée.<hr/>Êtes-vous sur de vouloir la supprimer ?</html> -tutti.editSpeciesFrequencies.action.removeObservation.mnemonic=S -tutti.editSpeciesFrequencies.action.removeObservation.tip=Supprimer les lignes sélectionnées -tutti.editSpeciesFrequencies.action.removeObservations.confirm.message=<html>Vous êtes sur le point de supprimer les %s observations sélectionnées.<hr/>Êtes-vous sur de vouloir les supprimer ?</html> -tutti.editSpeciesFrequencies.action.removeObservations.confirm.title=Suppression d'observations individuelles -tutti.editSpeciesFrequencies.action.reset=Réinitialiser -tutti.editSpeciesFrequencies.action.reset.mnemonic=R -tutti.editSpeciesFrequencies.action.reset.tip=Supprimer toutes les mensurations saisies -tutti.editSpeciesFrequencies.action.saveAndClose=Enregistrer et Fermer -tutti.editSpeciesFrequencies.action.saveAndClose.mnemonic=F -tutti.editSpeciesFrequencies.action.saveAndClose.tip=Enregistrer les mensurations -tutti.editSpeciesFrequencies.action.saveAndContinue=Enregistrer et Continuer -tutti.editSpeciesFrequencies.action.saveAndContinue.mnemonic=C -tutti.editSpeciesFrequencies.action.saveAndContinue.tip=Enregistrer les mensurations et saisir les mensurations pour le lot suivant -tutti.editSpeciesFrequencies.addMeasure=Ajout d'un individu de taille <strong>%1$s</strong>%3$s (classe de taille <strong>%2$s</strong>%3$s) -tutti.editSpeciesFrequencies.askBeforeSave.help=Que voulez-vous faire?<ul><li><strong>Non</strong> pour rester sur cet écran</li><li><strong>Oui</strong> pour enregisrer les mensurations avec poids</li></ul> -tutti.editSpeciesFrequencies.askBeforeSave.message=La saisie comporte des classes de taille avec et sans poids associés.<br/><strong>Seules les classes de taille avec poids seront dans ce cas sauvegardées.</strong> -tutti.editSpeciesFrequencies.askBeforeSave.title=Confirmer l'enregistrement des mensurations -tutti.editSpeciesFrequencies.averageWeight.label=Poids moyen -tutti.editSpeciesFrequencies.changeCopyMode.confirm.help=Que voulez-vous faire ?<ul><li><strong>Annuler</strong> pour ne pas changer de mode de copie</li><li><strong>OK</strong> pour changer de mode de copie et supprimer les données saisies</li></ul> -tutti.editSpeciesFrequencies.changeCopyMode.confirm.message=Vous êtes sur le point de changer de mode de copie alors que des données ont été saisies dans les mensurations.<br/>Si vous changez de mode, les données vont être supprimées. -tutti.editSpeciesFrequencies.changeCopyMode.confirm.title=Changement de mode de copie -tutti.editSpeciesFrequencies.changeCopyRtpWeights.confirm.help=Que voulez-vous faire ?<ul><li><strong>Annuler</strong> pour ne pas copier les poids calculés via les RTP</li><li><strong>OK</strong> pour copier les poids calculés via les RTP et supprimer les données saisies</li></ul> -tutti.editSpeciesFrequencies.changeCopyRtpWeights.confirm.message=Vous êtes sur le point de remplacer les poids saisis par les poids calculés via les RTP.<br/>Si vous les remplacez, les données saisies seront perdues. -tutti.editSpeciesFrequencies.changeCopyRtpWeights.confirm.title=Copier les poids calculés via les RTP -tutti.editSpeciesFrequencies.error.itchyometer.bad.record=La mesure provenant de l'ichtyomètre n'est pas valide (la donnée est peut-être corrompue) \:<br/><ul><li>Enregistrement \: <strong>%s</strong></li><li>CRC \: <strong>%s</strong></li><li>CRC calculé \: <strong>%s</strong></li></ul> -tutti.editSpeciesFrequencies.error.length.doublon=La classe de taille <strong>%s</strong> est utilisée plusieurs fois (deuxième occurrence trouvée à la ligne <strong>%s</strong>), ce qui n'est pas autorisé.<hr/>Veuillez corriger cela pour pouvoir enregistrer les mensurations. -tutti.editSpeciesFrequencies.field.addIndividualObservationOnRafale=Ajouter aux observations individuelles -tutti.editSpeciesFrequencies.field.addIndividualObservationOnRafale.tip=Ajouter une ligne d'observation individuelle avec la taille saisie -tutti.editSpeciesFrequencies.field.copyRtpWeights=Recopie des poids via RTP -tutti.editSpeciesFrequencies.field.copyRtpWeights.tip=Recopie des poids via RTP -tutti.editSpeciesFrequencies.field.copyToSizeTableMode.all=Tout -tutti.editSpeciesFrequencies.field.copyToSizeTableMode.all.mnemonic=T -tutti.editSpeciesFrequencies.field.copyToSizeTableMode.all.tip=Tout recopier (tailles et poids) -tutti.editSpeciesFrequencies.field.copyToSizeTableMode.label=Recopier \: -tutti.editSpeciesFrequencies.field.copyToSizeTableMode.nothing=Rien -tutti.editSpeciesFrequencies.field.copyToSizeTableMode.nothing.mnemonic=R -tutti.editSpeciesFrequencies.field.copyToSizeTableMode.nothing.tip=Ne rien recopier -tutti.editSpeciesFrequencies.field.copyToSizeTableMode.size=Seulement les tailles -tutti.editSpeciesFrequencies.field.copyToSizeTableMode.size.mnemonic=T -tutti.editSpeciesFrequencies.field.copyToSizeTableMode.size.tip=Ne recopier que les tailles, pas les poids -tutti.editSpeciesFrequencies.field.frequencyMode.autoGen=Génération des classes -tutti.editSpeciesFrequencies.field.frequencyMode.autoGen.mnemonic=G -tutti.editSpeciesFrequencies.field.frequencyMode.autoGen.tip=\=Mode où toutes les classes de taille sont générées -tutti.editSpeciesFrequencies.field.frequencyMode.rafale=Mode "rafale" -tutti.editSpeciesFrequencies.field.frequencyMode.rafale.mnemonic=l -tutti.editSpeciesFrequencies.field.frequencyMode.rafale.tip=Mode où on ne saisit uniquement la classe de taille (les nombres seront alors incrémentés...) -tutti.editSpeciesFrequencies.field.graphAverageWeight=Poids moyens -tutti.editSpeciesFrequencies.field.lengthStepCaracteristic=Type de mesure -tutti.editSpeciesFrequencies.field.lengthStepCaracteristic.tip=Méthode de mensuration des individus -tutti.editSpeciesFrequencies.field.maxStep=Classe max -tutti.editSpeciesFrequencies.field.maxStep.tip=Taille maximale mesurée -tutti.editSpeciesFrequencies.field.minStep=Classe min -tutti.editSpeciesFrequencies.field.minStep.tip=Taille minimale mesurée -tutti.editSpeciesFrequencies.field.mode.frequencyMode=Mensuration -tutti.editSpeciesFrequencies.field.mode.frequencyMode.mnemonic=M -tutti.editSpeciesFrequencies.field.mode.frequencyMode.tip=Mode par défaut si la classe de taille est renseignée dans le protocole. -tutti.editSpeciesFrequencies.field.mode.simpleCounting=Mode simple dénombrement -tutti.editSpeciesFrequencies.field.mode.simpleCounting.mnemonic=b -tutti.editSpeciesFrequencies.field.mode.simpleCounting.tip=Mode par défaut si la classe de taille n'est pas renseignée dans le protocole. -tutti.editSpeciesFrequencies.field.rafaleStep=Classe de taille à incrémenter -tutti.editSpeciesFrequencies.field.rafaleStep.tip=Saisir à la suite les différentes tailles mesurées -tutti.editSpeciesFrequencies.field.rows=Classes de taille -tutti.editSpeciesFrequencies.field.simpleCountingNumber=Nombre -tutti.editSpeciesFrequencies.field.simpleCountingNumber.tip=Saisir le nombre d'individus dans le lot -tutti.editSpeciesFrequencies.field.simpleCountingWeight=Poids du sous-échantillon -tutti.editSpeciesFrequencies.field.simpleCountingWeight.tip=Poids du sous-échantillon du lot -tutti.editSpeciesFrequencies.field.step=Pas de la classe de taille -tutti.editSpeciesFrequencies.field.step.tip=Pas de la classe de taille pour cette espèce (ex. \: 1 cm, 0,5 cm, 1 mm etc.) -tutti.editSpeciesFrequencies.field.totalNumber=Nombre total -tutti.editSpeciesFrequencies.field.totalNumber.tip=Nombre total d'individus des lignes valides -tutti.editSpeciesFrequencies.field.totalWeight=Poids total -tutti.editSpeciesFrequencies.field.totalWeight.tip=Poids total des lignes valides -tutti.editSpeciesFrequencies.field.useRtp=Utiliser les RTP -tutti.editSpeciesFrequencies.field.useRtp.tip=Utiliser les RTP -tutti.editSpeciesFrequencies.frequenciesPanel=Mensurations -tutti.editSpeciesFrequencies.individualObservationsPanel=Observations individuelles -tutti.editSpeciesFrequencies.label.no.configuration=< Pas de configuration > -tutti.editSpeciesFrequencies.logTable.header.label=Logs -tutti.editSpeciesFrequencies.logTable.removeRow.confirm.message=Êtes-vous sûr de vouloir supprimer la mesure %s ? -tutti.editSpeciesFrequencies.logTable.removeRow.confirm.title=Suppression d'une mesure +tutti.editSpeciesBatch.action.importMultiPostOnlyIndividualObservations.sourceFile.title=Importer des lots d'espèces et des observations individu +tutti.editSpeciesBatch.action.importMultiPostOnlyIndividualObservations.success= +tutti.editSpeciesBatch.action.importMultiPostOnlyIndividualObservations.tip= +tutti.editSpeciesBatch.action.importPsion= +tutti.editSpeciesBatch.action.importPsion.mnemonic= +tutti.editSpeciesBatch.action.importPsion.no.matching.data= +tutti.editSpeciesBatch.action.importPsion.no.matching.fishingOperation= +tutti.editSpeciesBatch.action.importPsion.no.matching.fishingOperation.title= +tutti.editSpeciesBatch.action.importPsion.success= +tutti.editSpeciesBatch.action.importPsion.tip= +tutti.editSpeciesBatch.action.importPupitri= +tutti.editSpeciesBatch.action.importPupitri.existingData.help= +tutti.editSpeciesBatch.action.importPupitri.existingData.message= +tutti.editSpeciesBatch.action.importPupitri.existingData.title= +tutti.editSpeciesBatch.action.importPupitri.invalidSampleCategoryModel.message= +tutti.editSpeciesBatch.action.importPupitri.invalidSampleCategoryModel.title= +tutti.editSpeciesBatch.action.importPupitri.mnemonic= +tutti.editSpeciesBatch.action.importPupitri.no.matching.data= +tutti.editSpeciesBatch.action.importPupitri.no.matching.fishingOperation= +tutti.editSpeciesBatch.action.importPupitri.no.matching.fishingOperation.title= +tutti.editSpeciesBatch.action.importPupitri.showReport.message= +tutti.editSpeciesBatch.action.importPupitri.showReport.title= +tutti.editSpeciesBatch.action.importPupitri.speciesNotImported.message= +tutti.editSpeciesBatch.action.importPupitri.speciesNotImported.title= +tutti.editSpeciesBatch.action.importPupitri.success= +tutti.editSpeciesBatch.action.importPupitri.tip= +tutti.editSpeciesBatch.action.removeBatch= +tutti.editSpeciesBatch.action.removeBatch.confirm.message= +tutti.editSpeciesBatch.action.removeBatch.confirm.title= +tutti.editSpeciesBatch.action.removeBatch.mnemonic= +tutti.editSpeciesBatch.action.removeBatches= +tutti.editSpeciesBatch.action.removeBatches.confirm.message= +tutti.editSpeciesBatch.action.removeBatches.tip= +tutti.editSpeciesBatch.action.removeSubBatch= +tutti.editSpeciesBatch.action.removeSubBatch.confirm.message= +tutti.editSpeciesBatch.action.removeSubBatch.confirm.title= +tutti.editSpeciesBatch.action.removeSubBatch.mnemonic= +tutti.editSpeciesBatch.action.removeSubBatch.tip= +tutti.editSpeciesBatch.action.renameBatch= +tutti.editSpeciesBatch.action.renameBatch.mnemonic= +tutti.editSpeciesBatch.action.renameBatch.tip= +tutti.editSpeciesBatch.action.showReport= +tutti.editSpeciesBatch.action.splitBatch= +tutti.editSpeciesBatch.action.splitBatch.mnemonic= +tutti.editSpeciesBatch.action.splitBatch.tip= +tutti.editSpeciesBatch.action.title.choose.importBigfinFile= +tutti.editSpeciesBatch.action.title.choose.importPsionFile= +tutti.editSpeciesBatch.error.sampleCategoryValue.notAvailable= +tutti.editSpeciesBatch.field.speciesTotalInertWeight= +tutti.editSpeciesBatch.field.speciesTotalInertWeight.tip= +tutti.editSpeciesBatch.field.speciesTotalLivingNotItemizedWeight= +tutti.editSpeciesBatch.field.speciesTotalLivingNotItemizedWeight.tip= +tutti.editSpeciesBatch.field.speciesTotalSampleSortedWeight= +tutti.editSpeciesBatch.field.speciesTotalSampleSortedWeight.tip= +tutti.editSpeciesBatch.field.speciesTotalSortedWeight= +tutti.editSpeciesBatch.field.speciesTotalSortedWeight.tip= +tutti.editSpeciesBatch.field.speciesTotalUnsortedWeight= +tutti.editSpeciesBatch.field.speciesTotalUnsortedWeight.tip= +tutti.editSpeciesBatch.field.speciesTotalWeight= +tutti.editSpeciesBatch.field.speciesTotalWeight.tip= +tutti.editSpeciesBatch.filterBatch= +tutti.editSpeciesBatch.filterBatch.mode.all= +tutti.editSpeciesBatch.filterBatch.mode.all.tip= +tutti.editSpeciesBatch.filterBatch.mode.leaf= +tutti.editSpeciesBatch.filterBatch.mode.leaf.tip= +tutti.editSpeciesBatch.filterBatch.mode.root= +tutti.editSpeciesBatch.filterBatch.mode.root.tip= +tutti.editSpeciesBatch.filterSpeciesBatch.tip= +tutti.editSpeciesBatch.sortSpeciesBatch= +tutti.editSpeciesBatch.sortSpeciesBatch.tip= +tutti.editSpeciesBatch.speciesSortMode.asc= +tutti.editSpeciesBatch.speciesSortMode.asc.tip= +tutti.editSpeciesBatch.speciesSortMode.desc= +tutti.editSpeciesBatch.speciesSortMode.desc.tip= +tutti.editSpeciesBatch.speciesSortMode.none= +tutti.editSpeciesBatch.speciesSortMode.none.tip= +tutti.editSpeciesBatch.split.weightNotNull.help= +tutti.editSpeciesBatch.split.weightNotNull.message= +tutti.editSpeciesBatch.split.weightNotNull.title= +tutti.editSpeciesBatch.table.header.comment= +tutti.editSpeciesBatch.table.header.comment.tip= +tutti.editSpeciesBatch.table.header.computedNumber= +tutti.editSpeciesBatch.table.header.computedNumber.tip= +tutti.editSpeciesBatch.table.header.file= +tutti.editSpeciesBatch.table.header.file.tip= +tutti.editSpeciesBatch.table.header.id= +tutti.editSpeciesBatch.table.header.id.tip= +tutti.editSpeciesBatch.table.header.species= +tutti.editSpeciesBatch.table.header.species.tip= +tutti.editSpeciesBatch.table.header.toConfirm.tip= +tutti.editSpeciesBatch.table.header.weight= +tutti.editSpeciesBatch.table.header.weight.tip= +tutti.editSpeciesBatch.title.changeSampleCategoryValue= +tutti.editSpeciesFrequencies.action.addLengthStepCaracteristic= +tutti.editSpeciesFrequencies.action.addLengthStepCaracteristic.mnemonic= +tutti.editSpeciesFrequencies.action.addLengthStepCaracteristic.tip= +tutti.editSpeciesFrequencies.action.cancel= +tutti.editSpeciesFrequencies.action.cancel.mnemonic= +tutti.editSpeciesFrequencies.action.cancel.tip= +tutti.editSpeciesFrequencies.action.exportMultiPostFull= +tutti.editSpeciesFrequencies.action.exportMultiPostFull.mnemonic= +tutti.editSpeciesFrequencies.action.exportMultiPostFull.tip= +tutti.editSpeciesFrequencies.action.exportMultiPostOnlyFrequencies= +tutti.editSpeciesFrequencies.action.exportMultiPostOnlyFrequencies.mnemonic= +tutti.editSpeciesFrequencies.action.exportMultiPostOnlyFrequencies.tip= +tutti.editSpeciesFrequencies.action.exportMultiPostOnlyIndividualObservations= +tutti.editSpeciesFrequencies.action.exportMultiPostOnlyIndividualObservations.mnemonic= +tutti.editSpeciesFrequencies.action.exportMultiPostOnlyIndividualObservations.tip= +tutti.editSpeciesFrequencies.action.generate= +tutti.editSpeciesFrequencies.action.generate.mnemonic= +tutti.editSpeciesFrequencies.action.generate.tip= +tutti.editSpeciesFrequencies.action.importMultiPostFull= +tutti.editSpeciesFrequencies.action.importMultiPostFull.mnemonic= +tutti.editSpeciesFrequencies.action.importMultiPostFull.tip= +tutti.editSpeciesFrequencies.action.importMultiPostOnlyFrequencies= +tutti.editSpeciesFrequencies.action.importMultiPostOnlyFrequencies.mnemonic= +tutti.editSpeciesFrequencies.action.importMultiPostOnlyFrequencies.tip= +tutti.editSpeciesFrequencies.action.importMultiPostOnlyIndividualObservations= +tutti.editSpeciesFrequencies.action.importMultiPostOnlyIndividualObservations.mnemonic= +tutti.editSpeciesFrequencies.action.importMultiPostOnlyIndividualObservations.tip= +tutti.editSpeciesFrequencies.action.removeObservation= +tutti.editSpeciesFrequencies.action.removeObservation.confirm.message= +tutti.editSpeciesFrequencies.action.removeObservation.mnemonic= +tutti.editSpeciesFrequencies.action.removeObservation.tip= +tutti.editSpeciesFrequencies.action.removeObservations.confirm.message= +tutti.editSpeciesFrequencies.action.removeObservations.confirm.title= +tutti.editSpeciesFrequencies.action.reset= +tutti.editSpeciesFrequencies.action.reset.mnemonic= +tutti.editSpeciesFrequencies.action.reset.tip= +tutti.editSpeciesFrequencies.action.saveAndClose= +tutti.editSpeciesFrequencies.action.saveAndClose.mnemonic= +tutti.editSpeciesFrequencies.action.saveAndClose.tip= +tutti.editSpeciesFrequencies.action.saveAndContinue= +tutti.editSpeciesFrequencies.action.saveAndContinue.mnemonic= +tutti.editSpeciesFrequencies.action.saveAndContinue.tip= +tutti.editSpeciesFrequencies.addMeasure= +tutti.editSpeciesFrequencies.askBeforeSave.help= +tutti.editSpeciesFrequencies.askBeforeSave.message= +tutti.editSpeciesFrequencies.askBeforeSave.title= +tutti.editSpeciesFrequencies.averageWeight.label= +tutti.editSpeciesFrequencies.changeCopyMode.confirm.help= +tutti.editSpeciesFrequencies.changeCopyMode.confirm.message= +tutti.editSpeciesFrequencies.changeCopyMode.confirm.title= +tutti.editSpeciesFrequencies.changeCopyRtpWeights.confirm.help= +tutti.editSpeciesFrequencies.changeCopyRtpWeights.confirm.message= +tutti.editSpeciesFrequencies.changeCopyRtpWeights.confirm.title= +tutti.editSpeciesFrequencies.error.itchyometer.bad.record= +tutti.editSpeciesFrequencies.error.length.doublon= +tutti.editSpeciesFrequencies.field.addIndividualObservationOnRafale= +tutti.editSpeciesFrequencies.field.addIndividualObservationOnRafale.tip= +tutti.editSpeciesFrequencies.field.copyRtpWeights= +tutti.editSpeciesFrequencies.field.copyRtpWeights.tip= +tutti.editSpeciesFrequencies.field.copyToSizeTableMode.all= +tutti.editSpeciesFrequencies.field.copyToSizeTableMode.all.mnemonic= +tutti.editSpeciesFrequencies.field.copyToSizeTableMode.all.tip= +tutti.editSpeciesFrequencies.field.copyToSizeTableMode.label= +tutti.editSpeciesFrequencies.field.copyToSizeTableMode.nothing= +tutti.editSpeciesFrequencies.field.copyToSizeTableMode.nothing.mnemonic= +tutti.editSpeciesFrequencies.field.copyToSizeTableMode.nothing.tip= +tutti.editSpeciesFrequencies.field.copyToSizeTableMode.size= +tutti.editSpeciesFrequencies.field.copyToSizeTableMode.size.mnemonic= +tutti.editSpeciesFrequencies.field.copyToSizeTableMode.size.tip= +tutti.editSpeciesFrequencies.field.frequencyMode.autoGen= +tutti.editSpeciesFrequencies.field.frequencyMode.autoGen.mnemonic= +tutti.editSpeciesFrequencies.field.frequencyMode.autoGen.tip= +tutti.editSpeciesFrequencies.field.frequencyMode.rafale= +tutti.editSpeciesFrequencies.field.frequencyMode.rafale.mnemonic= +tutti.editSpeciesFrequencies.field.frequencyMode.rafale.tip= +tutti.editSpeciesFrequencies.field.graphAverageWeight= +tutti.editSpeciesFrequencies.field.lengthStepCaracteristic= +tutti.editSpeciesFrequencies.field.lengthStepCaracteristic.tip= +tutti.editSpeciesFrequencies.field.maxStep= +tutti.editSpeciesFrequencies.field.maxStep.tip= +tutti.editSpeciesFrequencies.field.minStep= +tutti.editSpeciesFrequencies.field.minStep.tip= +tutti.editSpeciesFrequencies.field.mode.frequencyMode= +tutti.editSpeciesFrequencies.field.mode.frequencyMode.mnemonic= +tutti.editSpeciesFrequencies.field.mode.frequencyMode.tip= +tutti.editSpeciesFrequencies.field.mode.simpleCounting= +tutti.editSpeciesFrequencies.field.mode.simpleCounting.mnemonic= +tutti.editSpeciesFrequencies.field.mode.simpleCounting.tip= +tutti.editSpeciesFrequencies.field.rafaleStep= +tutti.editSpeciesFrequencies.field.rafaleStep.tip= +tutti.editSpeciesFrequencies.field.rows= +tutti.editSpeciesFrequencies.field.simpleCountingNumber= +tutti.editSpeciesFrequencies.field.simpleCountingNumber.tip= +tutti.editSpeciesFrequencies.field.simpleCountingWeight= +tutti.editSpeciesFrequencies.field.simpleCountingWeight.tip= +tutti.editSpeciesFrequencies.field.step= +tutti.editSpeciesFrequencies.field.step.tip= +tutti.editSpeciesFrequencies.field.totalNumber= +tutti.editSpeciesFrequencies.field.totalNumber.tip= +tutti.editSpeciesFrequencies.field.totalWeight= +tutti.editSpeciesFrequencies.field.totalWeight.tip= +tutti.editSpeciesFrequencies.frequenciesPanel= +tutti.editSpeciesFrequencies.individualObservationsPanel= +tutti.editSpeciesFrequencies.logTable.header.label= +tutti.editSpeciesFrequencies.logTable.removeRow.confirm.message= +tutti.editSpeciesFrequencies.logTable.removeRow.confirm.title= tutti.editSpeciesFrequencies.samplingNeeded.immature= tutti.editSpeciesFrequencies.samplingNeeded.mature= -tutti.editSpeciesFrequencies.samplingNeeded.max=max -tutti.editSpeciesFrequencies.samplingNeeded.resume=<html><body><strong>%s</strong> \: trait \: %s | zone \: %s | campagne \: %s -tutti.editSpeciesFrequencies.samplingNeeded.warning=<html><body><strong>Prélevez les pièces calcifiées \!</body></html> -tutti.editSpeciesFrequencies.simpleCountingAndFrequencies=Des mensurations ont été saisies dans le tableau. Saisir un simple dénombrement les effacera. -tutti.editSpeciesFrequencies.table.header.lengthStep=Classe de taille -tutti.editSpeciesFrequencies.table.header.number=Nombre -tutti.editSpeciesFrequencies.table.header.rtpComputedWeight=Poids calculé par les RTP -tutti.editSpeciesFrequencies.table.header.weight=Poids observé -tutti.editSpeciesFrequencies.title=Mensuration -tutti.editSpeciesFrequencies.title.addLengthStepCaracteristic=Choisir une autre caractéristique -tutti.editSpeciesFrequencies.unkownStepUnit=NA -tutti.editSpeciesFrequency.action.exportMultiPostFull.destinationFile.button=Exporter -tutti.editSpeciesFrequency.action.exportMultiPostFull.destinationFile.title=Exporter les mensurations et observations individuelles -tutti.editSpeciesFrequency.action.exportMultiPostFull.success=Les mensurations et observations individuelles du lot ont été exportés dans le fichier %s -tutti.editSpeciesFrequency.action.exportMultiPostOnlyFrequencies.destinationFile.button=Exporter -tutti.editSpeciesFrequency.action.exportMultiPostOnlyFrequencies.destinationFile.title=Exporter les mensurations -tutti.editSpeciesFrequency.action.exportMultiPostOnlyFrequencies.success=Les mensurations du lot ont été exportés dans le fichier %s -tutti.editSpeciesFrequency.action.exportMultiPostOnlyIndividualObservations.destinationFile.button=Exporter -tutti.editSpeciesFrequency.action.exportMultiPostOnlyIndividualObservations.destinationFile.title=Exporter les observations individuelles -tutti.editSpeciesFrequency.action.exportMultiPostOnlyIndividualObservations.success=Les observations individuelles du lot ont été exportés dans le fichier %s -tutti.editSpeciesFrequency.action.importMultiPostFull.sourceFile.button=Importer -tutti.editSpeciesFrequency.action.importMultiPostFull.sourceFile.title=Importer les mensurations et observations individuelles -tutti.editSpeciesFrequency.action.importMultiPostFull.success=Les mensurations et observations individuelles du lot ont été importées depuis le fichier %s -tutti.editSpeciesFrequency.action.importMultiPostOnlyFrequencies.sourceFile.button=Importer -tutti.editSpeciesFrequency.action.importMultiPostOnlyFrequencies.sourceFile.title=Importer les mensurations -tutti.editSpeciesFrequency.action.importMultiPostOnlyFrequencies.success=Les mensurations du lot ont été importées depuis le fichier %s -tutti.editSpeciesFrequency.action.importMultiPostOnlyIndividualObservations.sourceFile.button=Importer -tutti.editSpeciesFrequency.action.importMultiPostOnlyIndividualObservations.sourceFile.title=Importer les observations individuelles -tutti.editSpeciesFrequency.action.importMultiPostOnlyIndividualObservations.success=Les observations individuelles du lot ont été importées depuis le fichier %s -tutti.error.application.already.started=<html><body>L'application est déjà démarrée.<br/>Si ce n'était pas le cas, veuillez supprimer le fichier <strong>tutti.lock</strong> présent dans le répertoire de l'outil avant de lancer l'applicatif.</body></html> -tutti.error.delete.startActionFile=Impossible de supprimer le fichier %s -tutti.error.read.startActionFile=Impossible de lire le contenu du fichier %s -tutti.error.update.bad.url.syntax=Mise à jour impossible (le format de l'url <strong>%s</strong> n'est pas valide) -tutti.error.update.could.not.found.url=Mise à jour impossible (l'url <strong>%s</strong> n'existe pas) -tutti.error.update.could.not.reach.url=Mise à jour impossible (l'url <strong>%s</strong> n'est pas joignable) -tutti.error.write.startActionFile=impossible d'écrire dans le fichier %s -tutti.exportCruise.action.computeNbSteps=Calcul du nombre d'opérations à réaliser -tutti.exportCruise.action.exportErrors=Des erreurs sont apparues pendant l'élévation des poids de la campagne <strong>%s</strong>.<br/>L'export a cependant été réalisé.<hr/>Erreur(s) rencontrée(s) \: <br/>%s -tutti.exportCruise.action.success=La campagne <strong>%s</strong> a été exportée dans le fichier <strong>%s</strong>. -tutti.exportCruiseCsv.action.chooseFile=Exporter -tutti.exportCruiseCsv.action.success=La campagne sélectionnée a été exportée dans le fichier <strong>%s</strong> -tutti.exportCruiseCsv.message.badBenthos=<html><body>Des espèces non présentes (ou avec un code campagne non renseigné) dans le protocole (onglet Benthos) ont été détectées \: <ul>%s</ul></body></html> -tutti.exportCruiseCsv.message.badSpecies=<html><body>Des espèces non présentes (ou avec un code campagne non renseigné) dans le protocole (onglet Espèce) ont été détectées \: <ul>%s</ul></body></html> -tutti.exportCruiseCsv.message.missing.protocol=<html><body>Pas de protocole renseigné, La colonne <strong>espececampagne</strong> ne sera pas renseigné.</body></html> -tutti.exportCruiseCsv.title.badBenthos=Espèces non présentes dans le protocole (onglet Benthos) -tutti.exportCruiseCsv.title.badSpecies=Espèces non présentes dans le protocole (onglet Espèce) -tutti.exportCruiseCsv.title.choose.exportFile=Exporter la campagne -tutti.exportCruiseCsv.title.missing.protocol=Pas de protocole renseigné -tutti.exportCruiseCsv.title.required.protocol=Protocole requis pour export csv -tutti.exportDb.step.closeDb=Fermeture de la base courante -tutti.exportDb.step.createArchive=Création de l'archive %s -tutti.exportDb.step.openDb=Réouverture de la base courante -tutti.exportDb.step.reloadApplication=Redémarrage de l'application -tutti.exportFishingOperationCsv.action.chooseFile=Exporter -tutti.exportFishingOperationCsv.action.success=Le trait a été exporté dans le fichier <strong>%s</strong> -tutti.exportFishingOperationCsv.message.badBenthos=<html><body>Des espèces non présentes (ou avec un code campagne non renseigné) dans le protocole (onglet Benthos) ont été détectées \: <ul>%s</ul></body></html> -tutti.exportFishingOperationCsv.message.badSpecies=<html><body>Des espèces non présentes (ou avec un code campagne non renseigné) dans le protocole (onglet Espèce) ont été détectées \: <ul>%s</ul></body></html> -tutti.exportFishingOperationCsv.message.missing.protocol=<html><body>Pour faire un export csv, un protocole est requis.<br/>De plus toutes les espèces de la captures doivent être renseignées dans le protocole.</body></html> -tutti.exportFishingOperationCsv.message.model.modified=La capture a été modifiée, veuillez l'enregistrer avant de lancer un export. -tutti.exportFishingOperationCsv.title.badBenthos=Espèces non présentes dans le protocole (onglet Benthos) -tutti.exportFishingOperationCsv.title.badSpecies=Espèces non présentes dans le protocole (onglet Espèce) -tutti.exportFishingOperationCsv.title.choose.exportFile=Exporter le trait de la campagne -tutti.exportFishingOperationCsv.title.missing.protocol=Protocole requis pour export csv -tutti.exportFishingOperationCsv.title.model.modified=Impossible d'exporter, capture modifiée -tutti.exportFishingOperationReport.action.chooseFile=Choisir le fichier de rapport -tutti.exportFishingOperationReport.action.success=Le trait a été exporté dans le fichier <strong>%s</strong> -tutti.exportFishingOperationReport.message.model.modified=La capture a été modifiée, veuillez l'enregistrer avant de lancer un export. -tutti.exportFishingOperationReport.title.choose.exportFile=Exporter le trait de la campagne -tutti.exportFishingOperationReport.title.model.modified=Impossible d'exporter, capture modifiée -tutti.exportProgram.action.computeNbSteps=Calcul du nombre d'opérations à réaliser -tutti.exportProgram.action.exportErrors=Des erreurs sont apparues pendant l'élévation des poids d'une campagne de la série <strong>%s</strong>.<br/>L'export a cependant été réalisé.<hr/>Erreur(s) rencontrée(s) \: <br/>%s -tutti.exportProgram.action.success=La série de campagne <strong>%s</strong> a été exportée dans le fichier <strong>%s</strong>. -tutti.exportProtocol.action.success=Protocole [%1s] exporté dans le fichier <strong>%2s</strong>. -tutti.exportSampleCategoryModel.action.chooseSampleCategoryModelFile.export=Exporter -tutti.exportSampleCategoryModel.action.export.success=L'export effectué dans le fichier <strong>%s</strong>. -tutti.exportSampleCategoryModel.title.choose.exportSampleCategoryModelFile=Exporter le modèle de catégorisation -tutti.fishingOperations.action.deleteFishingOperation.mnemonic=S -tutti.fishingOperations.action.deleteFishingOperation.tip=Supprimer l'opération de pêche sélectionnée -tutti.fishingOperations.action.newFishingOperation.mnemonic=N -tutti.fishingOperations.action.newFishingOperation.tip=Créer une nouvelle opération de pêche -tutti.fishingOperations.info.no.fishingOperation.selected=< Aucun trait sélectionné > -tutti.fishingOperations.title.edit.operations=Saisie des opérations de pêches (%s) -tutti.fishingOperations.title.validate.operations=Validation des opérations de pêches (%s) -tutti.fishingOperations.warn.catchBatch.invalidSampleCategoryModel=L'arbre d’échantillonnage n'est pas compatible (utilisation de catégories non configurées ou dans un mauvais ordre). Les captures ne seront pas visibles. -tutti.fishingOperations.warn.catchBatch.notFound=Pas d'arbre d’échantillonnage associé à l'opération de pêche. -tutti.fishingOperations.warn.invalid.batch=<html><body>Les erreurs suivantes ont été détectées, impossible d'afficher les captures \:<br/><ul>%s</ul></body></html>. -tutti.fishingOperations.warn.invalid.batch.model=L'arbre d’échantillonnage n'est pas compatible. Les captures ne seront pas visibles. -tutti.flash.info.all.caractristic.exported=Toutes les caractéristiques exportées dans le fichier <strong>%s</strong>. -tutti.flash.info.benthos.add.to.protocol=Le benthos <strong>%s</strong> a été ajouté au protocole. -tutti.flash.info.benthos.imported.in.protocol=Benthos importés dans le protocole depuis le fichier <strong>%s</strong>. -tutti.flash.info.benthos.imported.in.protocol.oneReplaced=Benthos importés dans le protocole depuis le fichier <strong>%s</strong>. 1 remplacée par son référent. -tutti.flash.info.benthos.imported.in.protocol.severalReplaced=Benthos importés dans le protocole depuis le fichier <strong>%s</strong>. %s remplacées par leur référent. -tutti.flash.info.benthos.remove.from.protocol=Les benthos ont été retirés du protocole. -tutti.flash.info.benthos.replaced=Le benthos <strong>%s</strong> a été remplacé par son référent <strong>%s</strong>. -tutti.flash.info.caracteristic.add.to.protocol=La caractéristique <strong>%s</strong> a été ajoutée au protocole. -tutti.flash.info.caracteristic.imported.in.protocol=Caractéristiques importées dans le protocole depuis le fichier <strong>%s</strong>. -tutti.flash.info.caracteristicMapping.remove.from.protocol=Les caractéristiques ont été retirées du protocole. -tutti.flash.info.caractristic.exported.from.protocol=Caractéristiques du protocole exportées dans le fichier <strong>%s</strong>. -tutti.flash.info.cps.exported.from.protocol=Algorithme de prélèvement du protocole exporté dans le fichier <strong>%s</strong>. -tutti.flash.info.cps.imported.in.protocol=\=Algorithme de prélèvement importé dans le protocole depuis le fichier <strong>%s</strong>. -tutti.flash.info.cruiseCreated=La campagne <strong>%s</strong> a été créée. -tutti.flash.info.cruiseSaved=La campagne <strong>%s</strong> a été enregistrée. -tutti.flash.info.db.closed=La base <strong>%s</strong> est fermée. -tutti.flash.info.db.exported=Base exportée dans l'archive <strong>%s</strong>. -tutti.flash.info.db.exported.and.clean=Base exportée dans l'archive <strong>%s</strong>. -tutti.flash.info.db.imported=La base de données <strong>%s</strong> est importée. -tutti.flash.info.db.imported.but.closed=La base de données <strong>%s</strong> est importée mais n'a pas été ouverte. -tutti.flash.info.db.not.opened=La base <strong>%s</strong> n'a pas été ouverte. -tutti.flash.info.db.opened=La base de données <strong>%s</strong> est ouverte. -tutti.flash.info.db.schema.updated=Le schéma de la base (version %s) a été mise à jour vers la version %s -tutti.flash.info.programCreated=La série de campagne <strong>%s</strong> a été créée. -tutti.flash.info.programSaved=La série de campagne <strong>%s</strong> a été enregistrée. -tutti.flash.info.protocolCreated=Le protocole <strong>%s</strong> a été créé. -tutti.flash.info.protocolSaved=Le protocole <strong>%s</strong> a été enregistré. -tutti.flash.info.species.add.to.protocol=L'espèce <strong>%s</strong> a été ajoutée au protocole. -tutti.flash.info.species.exported.from.protocol=Espèces du protocole exportées dans le fichier <strong>%s</strong>. -tutti.flash.info.species.imported.in.protocol=Espèces importées dans le protocole depuis le fichier <strong>%s</strong>. -tutti.flash.info.species.imported.in.protocol.oneReplaced=Espèces importées dans le protocole depuis le fichier <strong>%s</strong>. 1 remplacée par son référent. -tutti.flash.info.species.imported.in.protocol.severalReplaced=Espèces importées dans le protocole depuis le fichier <strong>%s</strong>. %s remplacées par leur référent. -tutti.flash.info.species.remove.from.protocol=Les espèces ont été retirées du protocole. -tutti.flash.info.species.replaced=L'espèce <strong>%s</strong> a été remplacée par son référent <strong>%s</strong>. -tutti.gear.noCaracteristics=Pas de caractéristiques. -tutti.gear.withCaracteristics=Caractéristiques de l'engin %s -tutti.gearCaracteristicsEditorTable.table.header.key=Caractéristique -tutti.gearCaracteristicsEditorTable.table.header.value=Valeur -tutti.gearUseFeatureTable.action.removeCaracteristic=Supprimer -tutti.gearUseFeatureTable.action.removeCaracteristic.mnemonic=S -tutti.gearUseFeatureTable.action.removeCaracteristic.tip=Supprimer la caractéristique -tutti.gearUseFeatureTable.table.header.key=Caractéristique -tutti.gearUseFeatureTable.table.header.value=Valeur -tutti.gearUseFeatureTable.title=Mise en œuvre de l'engin -tutti.generateReport.action.computeNbSteps=Calcul du nombre d'opérations -tutti.genericFormat.action.chooseDbBackupFile=Sauvegarder la base de données -tutti.genericFormat.action.chooseExportFile=Exporter -tutti.genericFormat.action.chooseImportReportFile=Enregistrer -tutti.genericFormat.action.chooseValidateReportFile=Enregistrer -tutti.genericFormat.export.action.success=Export générique terminé (fichier <strong>%s</strong>) -tutti.genericFormat.import.error=Des erreurs ont été détectées lors de l'import -tutti.genericFormat.import.error.tip=Vous pouvez consulter le rapport d'import pour les corriger -tutti.genericFormat.import.success=L'import s'est déroulé avec succès -tutti.genericFormat.import.success.tip=Vous pouvez consulter le rapport d'import (%s) -tutti.genericFormat.importReportFile.saved=Le rapport d'import a été enregistré <strong>%s</strong> -tutti.genericFormat.title.choose.dbBackupFile=Sauvegarder la base de données -tutti.genericFormat.title.choose.exportFile=Exporter des données au format générique -tutti.genericFormat.title.choose.saveImportReportfile=Enregisrer le rapport d'import -tutti.genericFormat.title.choose.saveValidateReportfile=Enregisrer le rapport de validation -tutti.genericFormat.validate.error=Des erreurs ont été détectées lors de la validation -tutti.genericFormat.validate.error.tip=Vous pouvez consulter le rapport de validation pour les corriger -tutti.genericFormat.validate.success=La validation s'est déroulée avec succès -tutti.genericFormat.validate.success.tip=Vous pouvez consulter le rapport de validation (%s) -tutti.genericFormat.validateReportFile.saved=Le rapport de validation a été enregistré <strong>%s</strong> -tutti.genericFormatExport.action.closeGenericFormatExport=Quitter -tutti.genericFormatExport.action.closeGenericFormatExport.mnemonic=Q -tutti.genericFormatExport.action.closeGenericFormatExport.tip=Quitter l'écran d'export -tutti.genericFormatExport.action.export=Exporter -tutti.genericFormatExport.action.export.mnemonic=E -tutti.genericFormatExport.action.export.tip=Exporter les données sélectionnées -tutti.genericFormatExport.action.foldAll=Tout Replier -tutti.genericFormatExport.action.foldAll.mnemonic=R -tutti.genericFormatExport.action.foldAll.tip=Tout replier -tutti.genericFormatExport.action.selectAll=Tout sélectionner -tutti.genericFormatExport.action.selectAll.mnemonic=S -tutti.genericFormatExport.action.selectAll.tip=Tout sélectionner -tutti.genericFormatExport.action.unfoldAll=Tout Déplier -tutti.genericFormatExport.action.unfoldAll.mnemonic=D -tutti.genericFormatExport.action.unfoldAll.tip=Tout déplier -tutti.genericFormatExport.action.unselectAll=Tout désélectionner -tutti.genericFormatExport.action.unselectAll.mnemonic=T -tutti.genericFormatExport.action.unselectAll.tip=Tout désélectionner -tutti.genericFormatExport.exportConfiguration.legend=Configuration -tutti.genericFormatExport.exportFile.extension=zip -tutti.genericFormatExport.exportFile.extension.description=Archive d'import générique (.zip) -tutti.genericFormatExport.exportOptions.legend=Options d'export -tutti.genericFormatExport.field.exportAccidentalCatch=Exporter les captures accidentelles -tutti.genericFormatExport.field.exportAccidentalCatch.tip=Exporter les captures accidentelles -tutti.genericFormatExport.field.exportAttachments=Exporter les pièces-jointes -tutti.genericFormatExport.field.exportAttachments.tip=Exporter les pièces-jointes -tutti.genericFormatExport.field.exportBenthos=Exporter les lots Benthos -tutti.genericFormatExport.field.exportBenthos.tip=Exporter les lots Benthos -tutti.genericFormatExport.field.exportFile=Fichier d'export -tutti.genericFormatExport.field.exportFile.tip=Fichier d'export -tutti.genericFormatExport.field.exportIndividualObservation=Exporter les observations individuelles -tutti.genericFormatExport.field.exportIndividualObservation.tip=Exporter les observations individuelles -tutti.genericFormatExport.field.exportMarineLitter=Exporter les macro-déchets -tutti.genericFormatExport.field.exportMarineLitter.tip=Exporter les macro-déchets -tutti.genericFormatExport.field.exportSpecies=Exporter les lots Espèces -tutti.genericFormatExport.field.exportSpecies.tip=Exporter les lots Espèces -tutti.genericFormatExport.field.program=Série de campagne -tutti.genericFormatExport.field.program.tip=Série de campagne -tutti.genericFormatExport.selectData.legend=Sélection des données à exporter -tutti.genericFormatExport.title=Export générique -tutti.genericFormatImport.action.closeGenericFormatImport=Quitter -tutti.genericFormatImport.action.closeGenericFormatImport.mnemonic=Q -tutti.genericFormatImport.action.closeGenericFormatImport.tip=Quitter -tutti.genericFormatImport.action.error=L'import depuis le fichier <strong>%s</strong> a échoué. -tutti.genericFormatImport.action.foldAll.tip=Tout replier -tutti.genericFormatImport.action.generateReport=Générer le rapport -tutti.genericFormatImport.action.generateReport.mnemonic=G -tutti.genericFormatImport.action.generateReport.tip=Générer le rapport de l'import -tutti.genericFormatImport.action.import=Importer -tutti.genericFormatImport.action.import.mnemonic=I -tutti.genericFormatImport.action.import.tip=Lancer l'import générique -tutti.genericFormatImport.action.importErrors= -tutti.genericFormatImport.action.openImportReport.tip=Ouvrir le rapport d'import -tutti.genericFormatImport.action.openValidateReport.tip=Ouvrir le rapport de validation -tutti.genericFormatImport.action.saveImportReport.tip=Enregistrer le rapport d'import -tutti.genericFormatImport.action.saveValidateReport.tip=Enregistrer le rapport de validation -tutti.genericFormatImport.action.selectAll.tip=Tout sélectionner -tutti.genericFormatImport.action.showReport=Visualiser -tutti.genericFormatImport.action.showReport.mnemonic=V -tutti.genericFormatImport.action.showReport.tip=Visualiser le rapport -tutti.genericFormatImport.action.success=L'import depuis le fichier <strong>%s</strong> s'est bien déroulé. -tutti.genericFormatImport.action.unfoldAll.tip=Tout déplier -tutti.genericFormatImport.action.unselectAll.tip=Tout déselectionner -tutti.genericFormatImport.action.validate=Valider l'import -tutti.genericFormatImport.action.validate.mnemonic=V -tutti.genericFormatImport.action.validate.tip=Valider l'archive d'import -tutti.genericFormatImport.backupFile.extension=zip -tutti.genericFormatImport.backupFile.extension.description=Sauvegarde de la base (.zip) -tutti.genericFormatImport.field.authorizeObsoleteReferentials=Autoriser l'utilisation de référentiels obsolètes -tutti.genericFormatImport.field.authorizeObsoleteReferentials.tip=Autoriser l'utilisation des référentiels obsolètes dans les données à importer -tutti.genericFormatImport.field.backupFile=Fichier de sauvegarde -tutti.genericFormatImport.field.backupFile.tip=Fichier de sauvegarde de la base avant import -tutti.genericFormatImport.field.checkWeights=Vérifier les poids (élévation) -tutti.genericFormatImport.field.checkWeights.tip=Vérifier les poids via l'élévation des poids -tutti.genericFormatImport.field.cleanWeights=Supprimer les poids en double -tutti.genericFormatImport.field.cleanWeights.tip=Supprimer les poids en double -tutti.genericFormatImport.field.importAccidentalCatch=Importer les captures accidentelles -tutti.genericFormatImport.field.importAccidentalCatch.tip=Importer les captures accidentelles -tutti.genericFormatImport.field.importAttachments=Importer les pièces-jointes -tutti.genericFormatImport.field.importAttachments.tip=Importer les pièces-jointes -tutti.genericFormatImport.field.importBenthos=Importer les lots Benthos -tutti.genericFormatImport.field.importBenthos.tip=Importer les lots Benthos -tutti.genericFormatImport.field.importFile=Fichier d'import -tutti.genericFormatImport.field.importFile.tip=Fichier d'import au format générique -tutti.genericFormatImport.field.importIndividualObservation=Importer les observations individuelles -tutti.genericFormatImport.field.importIndividualObservation.tip=Importer les observations individuelles -tutti.genericFormatImport.field.importMarineLitter=Importer les macro-déchets -tutti.genericFormatImport.field.importMarineLitter.tip=Importer les macro-déchets -tutti.genericFormatImport.field.importSpecies=Importer les lots Espèces -tutti.genericFormatImport.field.importSpecies.tip=Importer les lots Espèces -tutti.genericFormatImport.field.overrideData=Autoriser l'écrasement des données -tutti.genericFormatImport.field.overrideData.tip=Autorise l'écrasement des données existantes -tutti.genericFormatImport.field.program=Série de campagne -tutti.genericFormatImport.field.program.tip=Série de campagne où importer les campagne -tutti.genericFormatImport.field.reportFile=Rapport -tutti.genericFormatImport.field.reportFile.tip=Chemin du fichier de rapport -tutti.genericFormatImport.field.updateCruises=Mettre à jour les campagnes -tutti.genericFormatImport.field.updateCruises.tip=Mettre à jour les caractéristiques des campagnes exitantes -tutti.genericFormatImport.field.updateOperations=Mettre à jour les traits -tutti.genericFormatImport.field.updateOperations.tip=Mettre à jour les traits existants -tutti.genericFormatImport.import.legend=Import -tutti.genericFormatImport.importFile.extension=zip -tutti.genericFormatImport.importFile.extension.description=Import générique (.zip) -tutti.genericFormatImport.importOptions.legend=Options d'import -tutti.genericFormatImport.importReportFile.extension=pdf -tutti.genericFormatImport.importReportFile.extension.description=Rapport d'import (.pdf) -tutti.genericFormatImport.importResult.description=Résultats -tutti.genericFormatImport.importResult.description.tip=Résultat de l'import -tutti.genericFormatImport.importResult.legend=Résultats de l'import -tutti.genericFormatImport.selectData.legend=Sélection des données à importer -tutti.genericFormatImport.step.backupDb=Sauvegarde de la base de données (<strong>%s</strong>) -tutti.genericFormatImport.step.closeDb=Fermeture de la base de données avant la sauvegarde -tutti.genericFormatImport.step.reopenDb=Réouverture de la base de données -tutti.genericFormatImport.title=Import générique -tutti.genericFormatImport.validateImport.legend=Préparation de l'import -tutti.genericFormatImport.validateReportFile.extension=pdf -tutti.genericFormatImport.validateReportFile.extension.description=Rapport de validation (.pdf) -tutti.genericFormatImport.validationResult.description=Résultat de la validation -tutti.genericFormatImport.validationResult.description.tip=Résultat de la validation -tutti.genericformat.export.cruiseNode=<html><body>Campagne <i>%s</i> (<i>%s</i> traits existants) -tutti.genericformat.export.cruiseNode.fullSelected=%s (identifiant <strong>%s</strong>), tous les traits sont sélectionnés -tutti.genericformat.export.cruiseNode.partialSelected=%s (identifiant <strong>%s</strong>), <i>%s</i> trait(s) sélectionné(s) -tutti.genericformat.export.operationNode=Trait %s -tutti.genericformat.export.operationNode.selected=<html><body>%s (identifiant <strong>%s</strong>) sélectionné -tutti.genericformat.import.cruiseNode=<html><body>Campagne <i>%s</i> (<i>%s</i> trait(s) détecté(s)) -tutti.genericformat.import.cruiseNode.fullSelected=%s, tous les traits sont sélectionnés -tutti.genericformat.import.cruiseNode.partialSelected=%s, <i>%s</i> trait(s) sélectionné(s) -tutti.genericformat.import.operationNode=Trait %s -tutti.genericformat.import.operationNode.selected=%s sélectionné -tutti.genericformat.overrideData.conflict.help=Que voulez-vous faire ?<ul><li><strong>Annuler</strong> pour annuler l'import</li><li><strong>Oui</strong> pour confirmer l'écrasement des données</li></ul> -tutti.genericformat.overrideData.conflict.message=Parmi les données à importer, certaines existent déjà en base, voulez-vous les écraser ? -tutti.genericformat.overrideData.conflict.title=Confirmer l'écrasement de données -tutti.genericformat.protocol.action.add=Ajouter -tutti.genericformat.protocol.action.cancel=Annuler -tutti.genericformat.protocol.action.override=Remplacer -tutti.genericformat.protocolName.conflict.help=Que voulez-vous faire ?<ul><li><strong>Annuler</strong> pour annuler l'import</li><li><strong>Remplacer</strong> pour supprimer le protocole et le remplacer par le protocole à importer</li><li><strong>Ajouter</strong> pour importer le protocole en le renommant en <i>%s</i></li></ul> -tutti.genericformat.protocolName.conflict.message=Le protocole à importer existe déjà avec le même nom (<i>%s</i>) -tutti.genericformat.protocolName.conflict.title=Conflit sur le nom du protocole à importer -tutti.help.mkDir.error=Erreur à la création du dossier d'aide -tutti.i18n.deleteCache.error=Erreur à la suppression du cache de l'internationalisation -tutti.i18n.mkDir.error=Erreur à la création du dossier d'internationalisation -tutti.ichtyometer.choose.remote.device.found=<html><body>Veuillez choisir le périphérique bluetooth qui correspond à l'ichtyomètre parmi ceux détectés.<br/>Si vous ne trouvez pas votre périphérique, vous pouvez modifier dans la configuration l'option <strong>Application \:\: Recherche complète bluetooth</strong> puis retenter une connexion.</body></html> -tutti.ichtyometer.connection.establish=Connexion à l'ichtyomètre <strong>%s</strong> établie -tutti.ichtyometer.connection.establish.message=<html><body>La connexion à l'ichtyomètre <strong>%s</strong> est établie.</body></html> -tutti.ichtyometer.connection.establish.title=Connexion établie -tutti.ichtyometer.connection.stop=Connexion à l'ichtyomètre <strong>%s</strong> arrêtée -tutti.ichtyometer.error.no.local.device=Le bluetooth n'est pas activé sur la machine -tutti.ichtyometer.error.no.remote.device=Aucun périphérique bluetooth détecté ou abandon de l'utilisateur -tutti.ichtyometer.error.no.remote.device.service=Aucun service détecté sur le périphérique bluetooth -tutti.ichtyometer.status.connected.tip=<html><body>L'ichtyomètre <strong>%s</strong> est connecté.</body></html> -tutti.ichtyometer.status.not.connected.tip=<html><body>Aucun ichtyomètre connecté.</body></html> -tutti.ichtyometer.title.choose.remote.device=Choisir l'ichtyomètre parmi les périphériques trouvés -tutti.importDb.step.check.dbContext=Vérification du contexte de saisie -tutti.importDb.step.checkSchemaVersion=Vérification de la version de la base -tutti.importDb.step.closeDb=Fermeture de la base -tutti.importDb.step.openDb=Ouverture de la base de données <strong>%s</strong> -tutti.importDb.step.unzipArchive=Décompression de l'archive -tutti.importDb.step.will.migrateSchema=Démarrage de la mise à jour du schéma de la base depuis la version %s vers la version %s -tutti.importProgram.action.exportErrors= -tutti.importProgram.action.importErrors= -tutti.importProgram.action.success= -tutti.importProtocol.action.success=Protocole [%s] lu depuis le fichier. -tutti.importPupitri.carrouselFile.extension=car -tutti.importPupitri.carrouselFile.extension.description=Fichier du carrousel (.car) -tutti.importPupitri.error.fileMissing.message=Vous devez sélectionner un fichier pour le trémie et un fichier pour le carrousel pour pouvoir continuer l'import. -tutti.importPupitri.error.fileMissing.title=Fichier non renseigné -tutti.importPupitri.field.carrouselFile=Fichier du carrousel -tutti.importPupitri.field.trunkFile=Fichier du trémie -tutti.importPupitri.importMissingBatches=Créer les lots de sexe ou de classe de tri manquants -tutti.importPupitri.importMissingBatches.mnemonic=l -tutti.importPupitri.importMissingBatches.tip=Créer les lots mâle, femelle et indéterminé ou petit, gros s'ils ne sont pas présents dans l'import -tutti.importPupitri.melagWeight.field=Poids total du melag -tutti.importPupitri.melagWeight.message=Du melag a été détecté lors de l'import, veuillez saisir le poids total du melag. -tutti.importPupitri.melagWeight.title=Melag détecté -tutti.importPupitri.title=Import Pupitri -tutti.importPupitri.trunkFile.extension=tnk -tutti.importPupitri.trunkFile.extension.description=Fichier du trémie (.tnk) -tutti.io.error.copyFile=Impossible de copier le fichier -tutti.label.tab.accidental=Captures accidentelles -tutti.label.tab.benthos=Benthos -tutti.label.tab.catches=Captures -tutti.label.tab.catchesCaracteristics=Résumé -tutti.label.tab.fishingOperation=Trait -tutti.label.tab.individualObservations=Observations individuelles -tutti.label.tab.marineLitter=Macro déchets -tutti.label.tab.species=Espèces -tutti.login.field.login=Login -tutti.login.field.password=Mot de passe -tutti.login.infoMmessage=<html><body><p>Une authentification est requise pour accéder à la ressource <br/><strong>%s</strong></p><hr></body></html> -tutti.login.title=Demande d'authentification -tutti.main.action.about=À propos -tutti.main.action.about.mnemonic=À -tutti.main.action.about.tip=À Propos -tutti.main.action.changeLocale.mnemonic=l -tutti.main.action.changeLocale.tip=Changer de langue -tutti.main.action.changeLocaleFR=Français -tutti.main.action.changeLocaleFR.mnemonic=F -tutti.main.action.changeLocaleFR.tip=Passer en français -tutti.main.action.changeLocaleUK=Anglais -tutti.main.action.changeLocaleUK.mnemonic=A -tutti.main.action.changeLocaleUK.tip=Passer en anglais -tutti.main.action.configuration=Configuration -tutti.main.action.configuration.mnemonic=C -tutti.main.action.configuration.tip=Configurer l'application -tutti.main.action.connectIchtyometer=Connexion Ichtyomètre -tutti.main.action.connectIchtyometer.mnemonic=y -tutti.main.action.connectIchtyometer.tip=Se connecter à un ichtyomètre -tutti.main.action.disconnectIchtyometer=Déconnexion Ichtyomètre -tutti.main.action.disconnectIchtyometer.mnemonic=y -tutti.main.action.disconnectIchtyometer.tip=Se déconnecter de l'ichtyomètre -tutti.main.action.editCatches=Éditer les traits et les captures -tutti.main.action.editCatches.mnemonic=S -tutti.main.action.editCatches.tip=Éditer les traits et les captures -tutti.main.action.editProgram.tip=Éditer la série de campagne -tutti.main.action.editSampleCategoryModel=Configurer les catégorisations -tutti.main.action.editSampleCategoryModel.mnemonic=o -tutti.main.action.editSampleCategoryModel.tip=Configurer les catégorisations possibles -tutti.main.action.editSelectedCruise=Campagne -tutti.main.action.editSelectedCruise.mnemonic=C -tutti.main.action.editSelectedCruise.tip=Éditer la campagne sélectionnée -tutti.main.action.editSelectedProgram=Série de campagne -tutti.main.action.editSelectedProgram.mnemonic=S -tutti.main.action.editSelectedProtocol=Protocole -tutti.main.action.editSelectedProtocol.mnemonic=P -tutti.main.action.editSelectedProtocol.tip=Éditer le protocole sélectionné -tutti.main.action.exit=Quitter -tutti.main.action.exit.mnemonic=Q -tutti.main.action.exit.tip=Quitter l'application -tutti.main.action.generateSelectedCruiseReport=Rapport -tutti.main.action.generateSelectedCruiseReport.mnemonic=R -tutti.main.action.generateSelectedCruiseReport.tip=Générer des rapports -tutti.main.action.genericFormatExport=Export générique -tutti.main.action.genericFormatExport.mnemonic=E -tutti.main.action.genericFormatExport.tip=Exporter des campagnes au format générique -tutti.main.action.genericFormatImport=Import générique -tutti.main.action.genericFormatImport.mnemonic=I -tutti.main.action.genericFormatImport.tip=Importer des campagnes au format générique -tutti.main.action.goto.previousScreen.tip=Retour à l'écran précédent -tutti.main.action.importTemporaryReferential=Référentiels temporaires -tutti.main.action.importTemporaryReferential.mnemonic=R -tutti.main.action.importTemporaryReferential.tip=Importer des référentiels temporaires -tutti.main.action.manageDb=Gestionnaire de base -tutti.main.action.manageDb.mnemonic=G -tutti.main.action.manageDb.tip=Gérer la base de données utilisée par l'application -tutti.main.action.reloadTutti=Redémarrer l'application -tutti.main.action.selectCruise=Sélectionner une campagne -tutti.main.action.selectCruise.mnemonic=S -tutti.main.action.selectCruise.tip=Sélectionner la campagne à utiliser -tutti.main.action.showHelp=Aide -tutti.main.action.showHelp.mnemonic=i -tutti.main.action.showHelp.tip=Accéder à l'aide de l'application -tutti.main.action.site=Site -tutti.main.action.site.mnemonic=S -tutti.main.action.site.tip=Accéder au site du projet Allegro Campagne (développement de l'application) -tutti.main.action.updateApplication=Vérifier les mises à jour logiciels -tutti.main.action.updateApplication.mnemonic=V -tutti.main.action.updateApplication.tip=Vérifier les mises à jour logicielles -tutti.main.action.updateReport=Vérifier les mises à jour des rapports -tutti.main.action.updateReport.mnemonic=R -tutti.main.action.updateReport.tip=Vérifier les mises à jour des rapports -tutti.main.action.updateSpecificApplication.tip=Mettre à jour le module <strong>%s</strong> -tutti.main.action.validateCatches=Valider les captures -tutti.main.action.validateCatches.mnemonic=V -tutti.main.action.validateCatches.tip=Valider les captures -tutti.main.menu.actions=Aller à -tutti.main.menu.actions.mnemonic=l -tutti.main.menu.actions.tip=Accès aux différents écrans -tutti.main.menu.administration=Administration -tutti.main.menu.administration.mnemonic=d -tutti.main.menu.administration.tip=Administrer l'application -tutti.main.menu.changeLocale=Langue -tutti.main.menu.file=Fichier -tutti.main.menu.file.mnemonic=h -tutti.main.menu.file.tip=Fichier -tutti.main.menu.help=Aide -tutti.main.menu.help.mnemonic=Z -tutti.main.menu.help.tip=Aide -tutti.main.title.application=Allegro Campagne - v %s [%s] -tutti.main.title.applicationName=Allegro Campagne -tutti.main.title.noSelectedCruise=Pas de campagne sélectionné -tutti.main.title.noSelectedProgram=Pas de série de campagne sélectionné -tutti.main.title.noSelectedProtocol=Pas de protocole sélectionné -tutti.main.title.nodb=Pas de base chargée -tutti.main.title.selectedCruise=Campagne %s -tutti.main.title.selectedProgram=Série de campagne %s -tutti.main.title.selectedProtocol=Protocole %s -tutti.manageTemporaryReferential.action.chooseExistingReferentialGearFile.export=Exporter -tutti.manageTemporaryReferential.action.chooseExistingReferentialGearFile.export.success=Référentiel temporaire des engins existants exporté dans le fichier %s -tutti.manageTemporaryReferential.action.chooseExistingReferentialPersonFile.export=Exporter -tutti.manageTemporaryReferential.action.chooseExistingReferentialPersonFile.export.success=Référentiel temporaire des personnes existantes exporté dans le fichier %s -tutti.manageTemporaryReferential.action.chooseExistingReferentialSpeciesFile.export=Exporter -tutti.manageTemporaryReferential.action.chooseExistingReferentialSpeciesFile.export.success=Référentiel temporaire des espèces existantes exporté dans le fichier %s -tutti.manageTemporaryReferential.action.chooseExistingReferentialVesselFile.export=Exporter -tutti.manageTemporaryReferential.action.chooseExistingReferentialVesselFile.export.success=Référentiel temporaire des navires existants exporté dans le fichier %s -tutti.manageTemporaryReferential.action.chooseReferentialGearFile.export=Exporter -tutti.manageTemporaryReferential.action.chooseReferentialGearFile.export.success=Exemple de référentiel temporaire d'engins exporté dans le fichier %s -tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import=Importer -tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import.dialog.message=<html><div>Import réussi</div><ul><li>%1$s engins ajoutés</li><li>%2$s engins mis à jour</li><li>%3$s engins supprimés</li></ul> -tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import.dialog.title=Import réussi -tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import.success=Référentiel temporaire d'engins importé depuis le fichier %s -tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.export=Exporter -tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.export.success=Exemple de référentiel temporaire de personnes exporté dans le fichier %s -tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.import=Importer -tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.import.dialog.message=<html><div>Import réussi</div><ul><li>%1$s personnes ajoutées</li><li>%2$s personnes mises à jour</li><li>%3$s personnes supprimées</li></ul> -tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.import.dialog.title=Import réussi -tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.import.success=Référentiel temporaire de personnes importé depuis le fichier %s -tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.export=Exporter -tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.export.success=Exemple de référentiel temporaire d'espèces exporté dans le fichier %s -tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.import=Importer -tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.import.dialog.message=<html><div>Import réussi</div><ul><li>%1$s espèces ajoutées</li><li>%2$s espèces mises à jour</li><li>%3$s espèces supprimées</li></ul> -tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.import.dialog.title=Import réussi -tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.import.success=Référentiel temporaire d'espèces importé depuis le fichier %s -tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.export=Exporter -tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.export.success=Exemple de référentiel temporaire de navires exporté dans le fichier %s -tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.import=Importer -tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.import.dialog.message=<html><div>Import réussi</div><ul><li>%1$s navires ajoutés</li><li>%2$s navires mis à jour</li><li>%3$s navires supprimés</li></ul> -tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.import.dialog.title=Import réussi -tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.import.success=Référentiel temporaire de navires importé depuis le fichier %s -tutti.manageTemporaryReferential.action.exportExistingTemporaryGear=Exporter l'existant -tutti.manageTemporaryReferential.action.exportExistingTemporaryGear.tip=Exporter le référentiel Engin existant -tutti.manageTemporaryReferential.action.exportExistingTemporaryPerson=Exporter l'existant -tutti.manageTemporaryReferential.action.exportExistingTemporaryPerson.tip=Exporter le référentiel Personne existant -tutti.manageTemporaryReferential.action.exportExistingTemporarySpecies=Exporter l'existant -tutti.manageTemporaryReferential.action.exportExistingTemporarySpecies.tip=Exporter le référentiel Espèces existant -tutti.manageTemporaryReferential.action.exportExistingTemporaryVessel=Exporter l'existant -tutti.manageTemporaryReferential.action.exportExistingTemporaryVessel.tip=Exporter le référentiel Navire existant -tutti.manageTemporaryReferential.action.exportTemporaryGearExample=Exporter un exemple -tutti.manageTemporaryReferential.action.exportTemporaryGearExample.tip=Exporter un exemple de référentiel Engin -tutti.manageTemporaryReferential.action.exportTemporaryPersonExample=Exporter un exemple -tutti.manageTemporaryReferential.action.exportTemporaryPersonExample.tip=Exporter un exemple de référentiel Personne -tutti.manageTemporaryReferential.action.exportTemporarySpeciesExample=Exporter un exemple -tutti.manageTemporaryReferential.action.exportTemporarySpeciesExample.tip=Exporter un exemple de référentiel Espèces -tutti.manageTemporaryReferential.action.exportTemporaryVesselExample=Exporter un exemple -tutti.manageTemporaryReferential.action.exportTemporaryVesselExample.tip=Exporter un exemple de référentiel Navire -tutti.manageTemporaryReferential.action.importTemporaryGear=Importer -tutti.manageTemporaryReferential.action.importTemporaryGear.tip=Importer un référentiel temporaire d'engins -tutti.manageTemporaryReferential.action.importTemporaryPerson=Importer -tutti.manageTemporaryReferential.action.importTemporaryPerson.tip=Importer un référentiel temporaire de personnes -tutti.manageTemporaryReferential.action.importTemporarySpecies=Importer -tutti.manageTemporaryReferential.action.importTemporarySpecies.tip=Importer un référentiel temporaire d'espèces -tutti.manageTemporaryReferential.action.importTemporaryVessel=Importer -tutti.manageTemporaryReferential.action.importTemporaryVessel.tip=Importer un référentiel temporaire de navires -tutti.manageTemporaryReferential.action.replaceTemporaryGear=Remplacer donnée temporaire -tutti.manageTemporaryReferential.action.replaceTemporaryGear.tip=Remplacer un engin temporaire -tutti.manageTemporaryReferential.action.replaceTemporaryPerson=Remplacer donnée temporaire -tutti.manageTemporaryReferential.action.replaceTemporaryPerson.tip=Remplacer un utilisateur temporaire -tutti.manageTemporaryReferential.action.replaceTemporarySpecies=Remplacer donnée temporaire -tutti.manageTemporaryReferential.action.replaceTemporarySpecies.tip=Remplacer une espèce temporaire -tutti.manageTemporaryReferential.action.replaceTemporaryVessel=Remplacer donnée temporaire -tutti.manageTemporaryReferential.action.replaceTemporaryVessel.tip=Remplacer un navire temporaire -tutti.manageTemporaryReferential.field.gear=Référentiel Engin (%s) -tutti.manageTemporaryReferential.field.gear.tip=%s engins temporaires dans le référentiel -tutti.manageTemporaryReferential.field.person=Référentiel Personne (%s) -tutti.manageTemporaryReferential.field.person.tip=%s personnes temporaires dans le référentiel -tutti.manageTemporaryReferential.field.species=Référentiel Espèce (%s) -tutti.manageTemporaryReferential.field.species.tip=%s espèces temporaires dans le référentiel -tutti.manageTemporaryReferential.field.vessel=Référentiel Navire (%s) -tutti.manageTemporaryReferential.field.vessel.tip=%s navires temporaires dans le référentiel -tutti.manageTemporaryReferential.passwordDialog.error.message=Le mot de passe que vous avez entré est incorrect -tutti.manageTemporaryReferential.passwordDialog.error.title=Mot de passe incorrect -tutti.manageTemporaryReferential.passwordDialog.message=Vous souhaitez entrer dans une partie sensible de l'application -tutti.manageTemporaryReferential.passwordDialog.title=Zone sensible -tutti.manageTemporaryReferential.title=importer des référentiels temporaires -tutti.manageTemporaryReferential.title.choose.exportExistingTemporaryGearFile=Exporter le référentiel Engin existant -tutti.manageTemporaryReferential.title.choose.exportExistingTemporaryPersonFile=Exporter le référentiel Personne existant -tutti.manageTemporaryReferential.title.choose.exportExistingTemporarySpeciesFile=Exporter le référentiel Espèce existant -tutti.manageTemporaryReferential.title.choose.exportExistingTemporaryVesselFile=Exporter le référentiel Navire existant -tutti.manageTemporaryReferential.title.choose.exportTemporaryGearExampleFile=Exporter un exemple de référentiel Engin -tutti.manageTemporaryReferential.title.choose.exportTemporaryPersonExampleFile=Exporter un exemple de référentiel Personne -tutti.manageTemporaryReferential.title.choose.exportTemporarySpeciesExampleFile=Exporter un exemple de référentiel Espèce -tutti.manageTemporaryReferential.title.choose.exportTemporaryVesselExampleFile=Exporter un exemple de référentiel Navire -tutti.manageTemporaryReferential.title.choose.importTemporaryGearFile=Importer un référentiel Engin -tutti.manageTemporaryReferential.title.choose.importTemporaryPersonFile=Importer un référentiel Personne -tutti.manageTemporaryReferential.title.choose.importTemporarySpeciesFile=Importer un référentiel Espèce -tutti.manageTemporaryReferential.title.choose.importTemporaryVesselFile=Importer un référentiel Navire -tutti.message.openReplaceTemporaryUI.noSource=Aucun référentiel de type %s temporaire détecté dans la base. -tutti.message.openReplaceTemporaryUI.noTarget=Aucun référentiel de type %s officiel détecté dans la base. -tutti.multiPostImportLog.benthosTotalSortedWeight=Poids total VRAC (Benthos) \: %s %s -tutti.multiPostImportLog.catchTotalRejectedWeight=Poids total NON TRIÉ (Capture) \: %s %s -tutti.multiPostImportLog.catchTotalWeight=Poids TOTAL (Capture) \: %s %s -tutti.multiPostImportLog.close=Fermer -tutti.multiPostImportLog.close.mnemonic=F -tutti.multiPostImportLog.close.tip=Fermer la popup -tutti.multiPostImportLog.inertWeight=Poids inerte trié \: %s %s -tutti.multiPostImportLog.livingNotItemizedWeight=Poids vivant non détaillé \: %s %s -tutti.multiPostImportLog.marineLitterTotalWeight=Poids total (Macro déchets) \: %s %s -tutti.multiPostImportLog.message=Des données n'ont pas été importées car ces données avaient déjà été saisies \: -tutti.multiPostImportLog.speciesTotalSortedWeight=Poids total VRAC (Espèce) \: %s %s -tutti.multiPostImportLog.title=Lots non importés -tutti.multiPostImportLog.totalSortedWeight=Poids total trié \: %s %s -tutti.multiPostImportLog.totalWeight=Poids total \: %s %s -tutti.openDb.step.check.dbContext=Vérification du contexte de saisie -tutti.openDb.step.checkSchemaVersion=Vérification de la compatibilité de la base -tutti.openDb.step.open=Ouverture de la base <strong>%s</strong> +tutti.editSpeciesFrequencies.samplingNeeded.max= +tutti.editSpeciesFrequencies.samplingNeeded.resume= +tutti.editSpeciesFrequencies.samplingNeeded.warning= +tutti.editSpeciesFrequencies.simpleCountingAndFrequencies= +tutti.editSpeciesFrequencies.table.header.lengthStep= +tutti.editSpeciesFrequencies.table.header.number= +tutti.editSpeciesFrequencies.table.header.rtpComputedWeight= +tutti.editSpeciesFrequencies.table.header.weight= +tutti.editSpeciesFrequencies.title= +tutti.editSpeciesFrequencies.title.addLengthStepCaracteristic= +tutti.editSpeciesFrequencies.unkownStepUnit= +tutti.editSpeciesFrequency.action.exportMultiPostFull.destinationFile.button= +tutti.editSpeciesFrequency.action.exportMultiPostFull.destinationFile.title= +tutti.editSpeciesFrequency.action.exportMultiPostFull.success= +tutti.editSpeciesFrequency.action.exportMultiPostOnlyFrequencies.destinationFile.button= +tutti.editSpeciesFrequency.action.exportMultiPostOnlyFrequencies.destinationFile.title= +tutti.editSpeciesFrequency.action.exportMultiPostOnlyFrequencies.success= +tutti.editSpeciesFrequency.action.exportMultiPostOnlyIndividualObservations.destinationFile.button= +tutti.editSpeciesFrequency.action.exportMultiPostOnlyIndividualObservations.destinationFile.title= +tutti.editSpeciesFrequency.action.exportMultiPostOnlyIndividualObservations.success= +tutti.editSpeciesFrequency.action.importMultiPostFull.sourceFile.button= +tutti.editSpeciesFrequency.action.importMultiPostFull.sourceFile.title= +tutti.editSpeciesFrequency.action.importMultiPostFull.success= +tutti.editSpeciesFrequency.action.importMultiPostOnlyFrequencies.sourceFile.button= +tutti.editSpeciesFrequency.action.importMultiPostOnlyFrequencies.sourceFile.title= +tutti.editSpeciesFrequency.action.importMultiPostOnlyFrequencies.success= +tutti.editSpeciesFrequency.action.importMultiPostOnlyIndividualObservations.sourceFile.button= +tutti.editSpeciesFrequency.action.importMultiPostOnlyIndividualObservations.sourceFile.title= +tutti.editSpeciesFrequency.action.importMultiPostOnlyIndividualObservations.success= +tutti.error.application.already.started= +tutti.error.delete.startActionFile= +tutti.error.read.startActionFile= +tutti.error.update.bad.url.syntax= +tutti.error.update.could.not.found.url= +tutti.error.update.could.not.reach.url= +tutti.error.write.startActionFile= +tutti.exportCruise.action.exportErrors= +tutti.exportCruiseCsv.action.chooseFile= +tutti.exportCruiseCsv.action.success= +tutti.exportCruiseCsv.message.badBenthos= +tutti.exportCruiseCsv.message.badSpecies= +tutti.exportCruiseCsv.message.missing.protocol= +tutti.exportCruiseCsv.title.badBenthos= +tutti.exportCruiseCsv.title.badSpecies= +tutti.exportCruiseCsv.title.choose.exportFile= +tutti.exportCruiseCsv.title.missing.protocol= +tutti.exportDb.step.closeDb= +tutti.exportDb.step.createArchive= +tutti.exportDb.step.openDb= +tutti.exportDb.step.reloadApplication= +tutti.exportFishingOperationCsv.action.chooseFile= +tutti.exportFishingOperationCsv.action.success= +tutti.exportFishingOperationCsv.message.badBenthos= +tutti.exportFishingOperationCsv.message.badSpecies= +tutti.exportFishingOperationCsv.message.missing.protocol= +tutti.exportFishingOperationCsv.message.model.modified= +tutti.exportFishingOperationCsv.title.badBenthos= +tutti.exportFishingOperationCsv.title.badSpecies= +tutti.exportFishingOperationCsv.title.choose.exportFile= +tutti.exportFishingOperationCsv.title.missing.protocol= +tutti.exportFishingOperationCsv.title.model.modified= +tutti.exportFishingOperationReport.action.chooseFile= +tutti.exportFishingOperationReport.action.success= +tutti.exportFishingOperationReport.message.model.modified= +tutti.exportFishingOperationReport.title.choose.exportFile= +tutti.exportFishingOperationReport.title.model.modified= +tutti.exportProtocol.action.success= +tutti.exportSampleCategoryModel.action.chooseSampleCategoryModelFile.export= +tutti.exportSampleCategoryModel.action.export.success= +tutti.exportSampleCategoryModel.title.choose.exportSampleCategoryModelFile= +tutti.fishingOperations.action.deleteFishingOperation.tip= +tutti.fishingOperations.action.newFishingOperation.mnemonic= +tutti.fishingOperations.action.newFishingOperation.tip= +tutti.fishingOperations.info.no.fishingOperation.selected= +tutti.fishingOperations.title.edit.operations= +tutti.fishingOperations.title.validate.operations= +tutti.fishingOperations.warn.catchBatch.invalidSampleCategoryModel= +tutti.fishingOperations.warn.catchBatch.notFound= +tutti.fishingOperations.warn.invalid.batch= +tutti.flash.info.all.caractristic.exported= +tutti.flash.info.benthos.add.to.protocol= +tutti.flash.info.benthos.imported.in.protocol= +tutti.flash.info.benthos.imported.in.protocol.oneReplaced= +tutti.flash.info.benthos.imported.in.protocol.severalReplaced= +tutti.flash.info.benthos.remove.from.protocol= +tutti.flash.info.benthos.replaced= +tutti.flash.info.caracteristic.add.to.protocol= +tutti.flash.info.caracteristic.imported.in.protocol= +tutti.flash.info.caracteristicMapping.remove.from.protocol= +tutti.flash.info.caractristic.exported.from.protocol= +tutti.flash.info.cps.exported.from.protocol= +tutti.flash.info.cps.imported.in.protocol= +tutti.flash.info.cruiseCreated= +tutti.flash.info.cruiseSaved= +tutti.flash.info.db.closed= +tutti.flash.info.db.exported= +tutti.flash.info.db.exported.and.clean= +tutti.flash.info.db.imported= +tutti.flash.info.db.imported.but.closed= +tutti.flash.info.db.not.opened= +tutti.flash.info.db.opened= +tutti.flash.info.db.schema.updated= +tutti.flash.info.programCreated= +tutti.flash.info.programSaved= +tutti.flash.info.protocolCreated= +tutti.flash.info.protocolSaved= +tutti.flash.info.species.add.to.protocol= +tutti.flash.info.species.exported.from.protocol= +tutti.flash.info.species.imported.in.protocol= +tutti.flash.info.species.imported.in.protocol.oneReplaced= +tutti.flash.info.species.imported.in.protocol.severalReplaced= +tutti.flash.info.species.remove.from.protocol= +tutti.flash.info.species.replaced= +tutti.gear.noCaracteristics= +tutti.gear.withCaracteristics= +tutti.gearCaracteristicsEditorTable.table.header.key= +tutti.gearCaracteristicsEditorTable.table.header.value= +tutti.gearUseFeatureTable.action.removeCaracteristic= +tutti.gearUseFeatureTable.action.removeCaracteristic.mnemonic= +tutti.gearUseFeatureTable.action.removeCaracteristic.tip= +tutti.gearUseFeatureTable.table.header.key= +tutti.gearUseFeatureTable.table.header.value= +tutti.gearUseFeatureTable.title= +tutti.generateReport.action.computeNbSteps= +tutti.genericFormat.action.chooseDbBackupFile= +tutti.genericFormat.action.chooseExportFile= +tutti.genericFormat.action.chooseImportReportFile= +tutti.genericFormat.action.chooseValidateReportFile= +tutti.genericFormat.export.action.success= +tutti.genericFormat.import.error= +tutti.genericFormat.import.error.tip= +tutti.genericFormat.import.success= +tutti.genericFormat.import.success.tip= +tutti.genericFormat.importReportFile.saved= +tutti.genericFormat.title.choose.dbBackupFile= +tutti.genericFormat.title.choose.exportFile= +tutti.genericFormat.title.choose.saveImportReportfile= +tutti.genericFormat.title.choose.saveValidateReportfile= +tutti.genericFormat.validate.error= +tutti.genericFormat.validate.error.tip= +tutti.genericFormat.validate.success= +tutti.genericFormat.validate.success.tip= +tutti.genericFormat.validateReportFile.saved= +tutti.genericFormatExport.action.closeGenericFormatExport= +tutti.genericFormatExport.action.closeGenericFormatExport.mnemonic= +tutti.genericFormatExport.action.closeGenericFormatExport.tip= +tutti.genericFormatExport.action.export= +tutti.genericFormatExport.action.export.mnemonic= +tutti.genericFormatExport.action.export.tip= +tutti.genericFormatExport.action.foldAll.tip= +tutti.genericFormatExport.action.selectAll.tip= +tutti.genericFormatExport.action.unfoldAll.tip= +tutti.genericFormatExport.action.unselectAll.tip= +tutti.genericFormatExport.exportOptions.legend= +tutti.genericFormatExport.field.exportAccidentalCatch= +tutti.genericFormatExport.field.exportAccidentalCatch.tip= +tutti.genericFormatExport.field.exportAttachments= +tutti.genericFormatExport.field.exportAttachments.tip= +tutti.genericFormatExport.field.exportBenthos= +tutti.genericFormatExport.field.exportBenthos.tip= +tutti.genericFormatExport.field.exportIndividualObservation= +tutti.genericFormatExport.field.exportIndividualObservation.tip= +tutti.genericFormatExport.field.exportMarineLitter= +tutti.genericFormatExport.field.exportMarineLitter.tip= +tutti.genericFormatExport.field.exportSpecies= +tutti.genericFormatExport.field.exportSpecies.tip= +tutti.genericFormatExport.field.program= +tutti.genericFormatExport.field.program.tip= +tutti.genericFormatExport.selectData.legend= +tutti.genericFormatExport.title= +tutti.genericFormatImport.action.closeGenericFormatImport= +tutti.genericFormatImport.action.closeGenericFormatImport.mnemonic= +tutti.genericFormatImport.action.closeGenericFormatImport.tip= +tutti.genericFormatImport.action.foldAll.tip= +tutti.genericFormatImport.action.import= +tutti.genericFormatImport.action.import.mnemonic= +tutti.genericFormatImport.action.import.tip= +tutti.genericFormatImport.action.openImportReport.tip= +tutti.genericFormatImport.action.openValidateReport.tip= +tutti.genericFormatImport.action.saveImportReport.tip= +tutti.genericFormatImport.action.saveValidateReport.tip= +tutti.genericFormatImport.action.selectAll.tip= +tutti.genericFormatImport.action.unfoldAll.tip= +tutti.genericFormatImport.action.unselectAll.tip= +tutti.genericFormatImport.action.validate= +tutti.genericFormatImport.action.validate.mnemonic= +tutti.genericFormatImport.action.validate.tip= +tutti.genericFormatImport.field.authorizeObsoleteReferentials= +tutti.genericFormatImport.field.authorizeObsoleteReferentials.tip= +tutti.genericFormatImport.field.checkWeights= +tutti.genericFormatImport.field.checkWeights.tip= +tutti.genericFormatImport.field.cleanWeights= +tutti.genericFormatImport.field.cleanWeights.tip= +tutti.genericFormatImport.field.importAccidentalCatch= +tutti.genericFormatImport.field.importAccidentalCatch.tip= +tutti.genericFormatImport.field.importAttachments= +tutti.genericFormatImport.field.importAttachments.tip= +tutti.genericFormatImport.field.importBenthos= +tutti.genericFormatImport.field.importBenthos.tip= +tutti.genericFormatImport.field.importFile= +tutti.genericFormatImport.field.importFile.tip= +tutti.genericFormatImport.field.importIndividualObservation= +tutti.genericFormatImport.field.importIndividualObservation.tip= +tutti.genericFormatImport.field.importMarineLitter= +tutti.genericFormatImport.field.importMarineLitter.tip= +tutti.genericFormatImport.field.importSpecies= +tutti.genericFormatImport.field.importSpecies.tip= +tutti.genericFormatImport.field.program= +tutti.genericFormatImport.field.program.tip= +tutti.genericFormatImport.field.updateCruises= +tutti.genericFormatImport.field.updateCruises.tip= +tutti.genericFormatImport.field.updateOperations= +tutti.genericFormatImport.field.updateOperations.tip= +tutti.genericFormatImport.import.legend= +tutti.genericFormatImport.importFile.extension= +tutti.genericFormatImport.importFile.extension.description= +tutti.genericFormatImport.importOptions.legend= +tutti.genericFormatImport.selectData.legend= +tutti.genericFormatImport.step.backupDb= +tutti.genericFormatImport.step.closeDb= +tutti.genericFormatImport.step.reopenDb= +tutti.genericFormatImport.title= +tutti.genericFormatImport.validateImport.legend= +tutti.genericformat.export.cruiseNode= +tutti.genericformat.export.cruiseNode.fullSelected= +tutti.genericformat.export.cruiseNode.partialSelected= +tutti.genericformat.export.operationNode= +tutti.genericformat.export.operationNode.selected= +tutti.genericformat.import.cruiseNode= +tutti.genericformat.import.cruiseNode.fullSelected= +tutti.genericformat.import.cruiseNode.partialSelected= +tutti.genericformat.import.operationNode= +tutti.genericformat.import.operationNode.selected= +tutti.genericformat.overrideData.conflict.help= +tutti.genericformat.overrideData.conflict.message= +tutti.genericformat.overrideData.conflict.title= +tutti.genericformat.protocol.action.add= +tutti.genericformat.protocol.action.cancel= +tutti.genericformat.protocol.action.override= +tutti.genericformat.protocolName.conflict.help= +tutti.genericformat.protocolName.conflict.message= +tutti.genericformat.protocolName.conflict.title= +tutti.help.mkDir.error= +tutti.i18n.deleteCache.error= +tutti.i18n.mkDir.error= +tutti.ichtyometer.choose.remote.device.found= +tutti.ichtyometer.connection.establish= +tutti.ichtyometer.connection.establish.message= +tutti.ichtyometer.connection.establish.title= +tutti.ichtyometer.connection.stop= +tutti.ichtyometer.error.no.local.device= +tutti.ichtyometer.error.no.remote.device= +tutti.ichtyometer.error.no.remote.device.service= +tutti.ichtyometer.status.connected.tip= +tutti.ichtyometer.status.not.connected.tip= +tutti.ichtyometer.title.choose.remote.device= +tutti.importDb.step.check.dbContext= +tutti.importDb.step.checkSchemaVersion= +tutti.importDb.step.closeDb= +tutti.importDb.step.openDb= +tutti.importDb.step.unzipArchive= +tutti.importDb.step.will.migrateSchema= +tutti.importProtocol.action.success= +tutti.importPupitri.carrouselFile.extension= +tutti.importPupitri.carrouselFile.extension.description= +tutti.importPupitri.error.fileMissing.message= +tutti.importPupitri.error.fileMissing.title= +tutti.importPupitri.field.carrouselFile= +tutti.importPupitri.field.trunkFile= +tutti.importPupitri.importMissingBatches= +tutti.importPupitri.importMissingBatches.mnemonic= +tutti.importPupitri.importMissingBatches.tip= +tutti.importPupitri.melagWeight.field= +tutti.importPupitri.melagWeight.message= +tutti.importPupitri.melagWeight.title= +tutti.importPupitri.title= +tutti.importPupitri.trunkFile.extension= +tutti.importPupitri.trunkFile.extension.description= +tutti.io.error.copyFile= +tutti.label.tab.accidental= +tutti.label.tab.benthos= +tutti.label.tab.catches= +tutti.label.tab.catchesCaracteristics= +tutti.label.tab.fishingOperation= +tutti.label.tab.marineLitter= +tutti.label.tab.species= +tutti.login.field.login= +tutti.login.field.password= +tutti.login.infoMmessage= +tutti.login.title= +tutti.main.action.about= +tutti.main.action.about.mnemonic= +tutti.main.action.about.tip= +tutti.main.action.changeLocale.mnemonic= +tutti.main.action.changeLocale.tip= +tutti.main.action.changeLocaleFR= +tutti.main.action.changeLocaleFR.mnemonic= +tutti.main.action.changeLocaleFR.tip= +tutti.main.action.changeLocaleUK= +tutti.main.action.changeLocaleUK.mnemonic= +tutti.main.action.changeLocaleUK.tip= +tutti.main.action.configuration= +tutti.main.action.configuration.mnemonic= +tutti.main.action.configuration.tip= +tutti.main.action.connectIchtyometer= +tutti.main.action.connectIchtyometer.mnemonic= +tutti.main.action.connectIchtyometer.tip= +tutti.main.action.disconnectIchtyometer= +tutti.main.action.disconnectIchtyometer.mnemonic= +tutti.main.action.disconnectIchtyometer.tip= +tutti.main.action.editCatches= +tutti.main.action.editCatches.mnemonic= +tutti.main.action.editCatches.tip= +tutti.main.action.editProgram.tip= +tutti.main.action.editSampleCategoryModel= +tutti.main.action.editSampleCategoryModel.mnemonic= +tutti.main.action.editSampleCategoryModel.tip= +tutti.main.action.editSelectedCruise= +tutti.main.action.editSelectedCruise.mnemonic= +tutti.main.action.editSelectedCruise.tip= +tutti.main.action.editSelectedProgram= +tutti.main.action.editSelectedProgram.mnemonic= +tutti.main.action.editSelectedProtocol= +tutti.main.action.editSelectedProtocol.mnemonic= +tutti.main.action.editSelectedProtocol.tip= +tutti.main.action.exit= +tutti.main.action.exit.mnemonic= +tutti.main.action.exit.tip= +tutti.main.action.generateSelectedCruiseReport= +tutti.main.action.generateSelectedCruiseReport.mnemonic= +tutti.main.action.generateSelectedCruiseReport.tip= +tutti.main.action.genericFormatExport= +tutti.main.action.genericFormatExport.mnemonic= +tutti.main.action.genericFormatExport.tip= +tutti.main.action.genericFormatImport= +tutti.main.action.genericFormatImport.mnemonic= +tutti.main.action.genericFormatImport.tip= +tutti.main.action.goto.previousScreen.tip= +tutti.main.action.importTemporaryReferential= +tutti.main.action.importTemporaryReferential.mnemonic= +tutti.main.action.importTemporaryReferential.tip= +tutti.main.action.manageDb= +tutti.main.action.manageDb.mnemonic= +tutti.main.action.manageDb.tip= +tutti.main.action.reloadTutti= +tutti.main.action.selectCruise= +tutti.main.action.selectCruise.mnemonic= +tutti.main.action.selectCruise.tip= +tutti.main.action.showHelp= +tutti.main.action.showHelp.mnemonic= +tutti.main.action.showHelp.tip= +tutti.main.action.site= +tutti.main.action.site.mnemonic= +tutti.main.action.site.tip= +tutti.main.action.updateApplication= +tutti.main.action.updateApplication.mnemonic= +tutti.main.action.updateApplication.tip= +tutti.main.action.updateReport= +tutti.main.action.updateReport.mnemonic= +tutti.main.action.updateReport.tip= +tutti.main.action.updateSpecificApplication.tip= +tutti.main.action.validateCatches= +tutti.main.action.validateCatches.mnemonic= +tutti.main.action.validateCatches.tip= +tutti.main.menu.actions= +tutti.main.menu.actions.mnemonic= +tutti.main.menu.actions.tip= +tutti.main.menu.administration= +tutti.main.menu.administration.mnemonic= +tutti.main.menu.administration.tip= +tutti.main.menu.changeLocale= +tutti.main.menu.file= +tutti.main.menu.file.mnemonic= +tutti.main.menu.file.tip= +tutti.main.menu.help= +tutti.main.menu.help.mnemonic= +tutti.main.menu.help.tip= +tutti.main.title.application= +tutti.main.title.applicationName= +tutti.main.title.noSelectedCruise= +tutti.main.title.noSelectedProgram= +tutti.main.title.noSelectedProtocol= +tutti.main.title.nodb= +tutti.main.title.selectedCruise= +tutti.main.title.selectedProgram= +tutti.main.title.selectedProtocol= +tutti.manageTemporaryReferential.action.chooseExistingReferentialGearFile.export= +tutti.manageTemporaryReferential.action.chooseExistingReferentialGearFile.export.success= +tutti.manageTemporaryReferential.action.chooseExistingReferentialPersonFile.export= +tutti.manageTemporaryReferential.action.chooseExistingReferentialPersonFile.export.success= +tutti.manageTemporaryReferential.action.chooseExistingReferentialSpeciesFile.export= +tutti.manageTemporaryReferential.action.chooseExistingReferentialSpeciesFile.export.success= +tutti.manageTemporaryReferential.action.chooseExistingReferentialVesselFile.export= +tutti.manageTemporaryReferential.action.chooseExistingReferentialVesselFile.export.success= +tutti.manageTemporaryReferential.action.chooseReferentialGearFile.export= +tutti.manageTemporaryReferential.action.chooseReferentialGearFile.export.success= +tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import= +tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import.dialog.message= +tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import.dialog.title= +tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import.success= +tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.export= +tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.export.success= +tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.import= +tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.import.dialog.message= +tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.import.dialog.title= +tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.import.success= +tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.export= +tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.export.success= +tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.import= +tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.import.dialog.message= +tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.import.dialog.title= +tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.import.success= +tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.export= +tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.export.success= +tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.import= +tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.import.dialog.message= +tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.import.dialog.title= +tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.import.success= +tutti.manageTemporaryReferential.action.exportExistingTemporaryGear= +tutti.manageTemporaryReferential.action.exportExistingTemporaryGear.tip= +tutti.manageTemporaryReferential.action.exportExistingTemporaryPerson= +tutti.manageTemporaryReferential.action.exportExistingTemporaryPerson.tip= +tutti.manageTemporaryReferential.action.exportExistingTemporarySpecies= +tutti.manageTemporaryReferential.action.exportExistingTemporarySpecies.tip= +tutti.manageTemporaryReferential.action.exportExistingTemporaryVessel= +tutti.manageTemporaryReferential.action.exportExistingTemporaryVessel.tip= +tutti.manageTemporaryReferential.action.exportTemporaryGearExample= +tutti.manageTemporaryReferential.action.exportTemporaryGearExample.tip= +tutti.manageTemporaryReferential.action.exportTemporaryPersonExample= +tutti.manageTemporaryReferential.action.exportTemporaryPersonExample.tip= +tutti.manageTemporaryReferential.action.exportTemporarySpeciesExample= +tutti.manageTemporaryReferential.action.exportTemporarySpeciesExample.tip= +tutti.manageTemporaryReferential.action.exportTemporaryVesselExample= +tutti.manageTemporaryReferential.action.exportTemporaryVesselExample.tip= +tutti.manageTemporaryReferential.action.importTemporaryGear= +tutti.manageTemporaryReferential.action.importTemporaryGear.tip= +tutti.manageTemporaryReferential.action.importTemporaryPerson= +tutti.manageTemporaryReferential.action.importTemporaryPerson.tip= +tutti.manageTemporaryReferential.action.importTemporarySpecies= +tutti.manageTemporaryReferential.action.importTemporarySpecies.tip= +tutti.manageTemporaryReferential.action.importTemporaryVessel= +tutti.manageTemporaryReferential.action.importTemporaryVessel.tip= +tutti.manageTemporaryReferential.action.replaceTemporaryGear= +tutti.manageTemporaryReferential.action.replaceTemporaryGear.tip= +tutti.manageTemporaryReferential.action.replaceTemporaryPerson= +tutti.manageTemporaryReferential.action.replaceTemporaryPerson.tip= +tutti.manageTemporaryReferential.action.replaceTemporarySpecies= +tutti.manageTemporaryReferential.action.replaceTemporarySpecies.tip= +tutti.manageTemporaryReferential.action.replaceTemporaryVessel= +tutti.manageTemporaryReferential.action.replaceTemporaryVessel.tip= +tutti.manageTemporaryReferential.field.gear= +tutti.manageTemporaryReferential.field.gear.tip= +tutti.manageTemporaryReferential.field.person= +tutti.manageTemporaryReferential.field.person.tip= +tutti.manageTemporaryReferential.field.species= +tutti.manageTemporaryReferential.field.species.tip= +tutti.manageTemporaryReferential.field.vessel= +tutti.manageTemporaryReferential.field.vessel.tip= +tutti.manageTemporaryReferential.passwordDialog.error.message= +tutti.manageTemporaryReferential.passwordDialog.error.title= +tutti.manageTemporaryReferential.passwordDialog.message= +tutti.manageTemporaryReferential.passwordDialog.title= +tutti.manageTemporaryReferential.title= +tutti.manageTemporaryReferential.title.choose.exportExistingTemporaryGearFile= +tutti.manageTemporaryReferential.title.choose.exportExistingTemporaryPersonFile= +tutti.manageTemporaryReferential.title.choose.exportExistingTemporarySpeciesFile= +tutti.manageTemporaryReferential.title.choose.exportExistingTemporaryVesselFile= +tutti.manageTemporaryReferential.title.choose.exportTemporaryGearExampleFile= +tutti.manageTemporaryReferential.title.choose.exportTemporaryPersonExampleFile= +tutti.manageTemporaryReferential.title.choose.exportTemporarySpeciesExampleFile= +tutti.manageTemporaryReferential.title.choose.exportTemporaryVesselExampleFile= +tutti.manageTemporaryReferential.title.choose.importTemporaryGearFile= +tutti.manageTemporaryReferential.title.choose.importTemporaryPersonFile= +tutti.manageTemporaryReferential.title.choose.importTemporarySpeciesFile= +tutti.manageTemporaryReferential.title.choose.importTemporaryVesselFile= +tutti.message.openReplaceTemporaryUI.noSource= +tutti.message.openReplaceTemporaryUI.noTarget= +tutti.multiPostImportLog.benthosTotalSortedWeight= +tutti.multiPostImportLog.catchTotalRejectedWeight= +tutti.multiPostImportLog.catchTotalWeight= +tutti.multiPostImportLog.close= +tutti.multiPostImportLog.close.mnemonic= +tutti.multiPostImportLog.close.tip= +tutti.multiPostImportLog.inertWeight= +tutti.multiPostImportLog.livingNotItemizedWeight= +tutti.multiPostImportLog.marineLitterTotalWeight= +tutti.multiPostImportLog.message= +tutti.multiPostImportLog.speciesTotalSortedWeight= +tutti.multiPostImportLog.title= +tutti.multiPostImportLog.totalSortedWeight= +tutti.multiPostImportLog.totalWeight= +tutti.openDb.step.check.dbContext= +tutti.openDb.step.checkSchemaVersion= +tutti.openDb.step.open= tutti.openDb.step.updateReferential= -tutti.openDb.step.will.migrateSchema=Démarrage de la mise à jour du schéma de la base depuis la version %s vers la version %s -tutti.openReplaceTemporaryUI.loading.source=Chargement des référentiels temporaires de type %s -tutti.openReplaceTemporaryUI.loading.target=Chargement des référentiels officiels de type %s -tutti.openReplaceTemporaryUI.open.dialog=Ouverture de l'interface graphique -tutti.openScreen.step.loading.allGear=Chargement du référentiel Engin -tutti.openScreen.step.loading.allGearWithObsoletes=Chargement du référentiel Engin (avec non actifs) -tutti.openScreen.step.loading.allPerson=Chargement du référentiel Personne -tutti.openScreen.step.loading.allPersonWithObsoletes=Chargement du référentiel Personne (avec non actifs) -tutti.openScreen.step.loading.allSpecies=Chargement du référentiel Taxinomique -tutti.openScreen.step.loading.allSpeciesWithObsoletes=Chargement du référentiel Taxinomique (avec non actifs) -tutti.openScreen.step.loading.allVessel=Chargement du référentiel Navire -tutti.openScreen.step.loading.allVesselWithObsoletes=Chargement du référentiel Navire (avec non actifs) -tutti.openScreen.step.loading.ui=Chargement des interfaces graphiques -tutti.option.cancel=Annuler -tutti.option.cancelExport=Annuler l'export -tutti.option.cancelImport=Annuler l'import -tutti.option.cleanAndClone=Nettoyer et Cloner -tutti.option.cleanAndEdit=Nettoyer et Éditer -tutti.option.cleanAndImport=Nettoyer et Importer -tutti.option.clone=Cloner -tutti.option.confirm=Confirmer -tutti.option.continue=Continuer -tutti.option.edit=Éditer -tutti.option.import=Importer -tutti.option.notSaveCatch=Ne pas enregistrer les modifications -tutti.option.quit=Quitter -tutti.option.resetCatch=Annuler les modifications -tutti.option.saveAndQuit=Enregistrer et quitter -tutti.option.saveCatch=Enregistrer les modifications +tutti.openDb.step.will.migrateSchema= +tutti.openReplaceTemporaryUI.loading.source= +tutti.openReplaceTemporaryUI.loading.target= +tutti.openReplaceTemporaryUI.open.dialog= +tutti.openScreen.step.loading.allGear= +tutti.openScreen.step.loading.allGearWithObsoletes= +tutti.openScreen.step.loading.allPerson= +tutti.openScreen.step.loading.allPersonWithObsoletes= +tutti.openScreen.step.loading.allSpecies= +tutti.openScreen.step.loading.allSpeciesWithObsoletes= +tutti.openScreen.step.loading.allVessel= +tutti.openScreen.step.loading.allVesselWithObsoletes= +tutti.openScreen.step.loading.ui= +tutti.option.cancel= +tutti.option.cancelExport= +tutti.option.cancelImport= +tutti.option.cleanAndClone= +tutti.option.cleanAndEdit= +tutti.option.cleanAndImport= +tutti.option.clone= +tutti.option.continue= +tutti.option.edit= +tutti.option.import= +tutti.option.notSaveCatch= +tutti.option.resetCatch= +tutti.option.saveCatch= tutti.persistence.cruise.gearUsedInOperations.error= tutti.propety.no.species.speciesCode= -tutti.reimport.step.backupDb=Sauvegarde de la base dans l'archive %s -tutti.reimport.step.closeDb=Fermeture de la base -tutti.reimport.step.reloadApplication=Redémarrage de l'application... -tutti.reinstallDb.step.backupDb=Sauvegarde de la base dans l'archive %s -tutti.reinstallDb.step.closeDb=Fermeture de la base <strong>%s</strong> -tutti.reinstallDb.step.reloadApplication=Redémarrage de l'application... -tutti.replaceTemporary.done=<html><body>Le référentiel temporaire de type %s <strong>%s</strong> a été remplacée par <strong>%s</strong> -tutti.replaceTemporaryAndDelete.done=<html><body>Le référentiel temporaire de type %s <strong>%s</strong> a été remplacée par <strong>%s</strong> puis supprimé. -tutti.replaceTemporaryGear.title=Remplacer un engin temporaire -tutti.replaceTemporaryPerson.title=Remplacer un utilisateur temporaire -tutti.replaceTemporaryReferential.action.cancel=Annuler -tutti.replaceTemporaryReferential.action.cancel.mnemonic=A -tutti.replaceTemporaryReferential.action.cancel.tip=Annuler le remplacement -tutti.replaceTemporaryReferential.action.replace=Remplacer -tutti.replaceTemporaryReferential.action.replace.mnemonic=R -tutti.replaceTemporaryReferential.action.replace.tip=Remplacer le référentiel temporaire sélectionné -tutti.replaceTemporaryReferential.field.delete=Supprimer la donnée temporaire après le remplacement -tutti.replaceTemporaryReferential.field.delete.tip=Supprimer la donnée temporaire après le remplacement -tutti.replaceTemporaryReferential.field.sourceList=Référentiel temporaire -tutti.replaceTemporaryReferential.field.sourceList.tip=Sélectionner le référentiel temporaire à remplacer -tutti.replaceTemporaryReferential.field.targetList=Référentiel officiel -tutti.replaceTemporaryReferential.field.targetList.tip=Sélectionner le référentiel officiel de remplacement -tutti.replaceTemporarySpecies.title=Remplacer une espèce temporaire -tutti.replaceTemporaryVessel.title=Remplacer un navire temporaire -tutti.report.action.cancel=Quitter -tutti.report.action.cancel.mnemonic=Q -tutti.report.action.cancel.tip=Quitter l'écran -tutti.report.action.generate=Générer -tutti.report.action.generate.mnemonic=G -tutti.report.action.generate.tip=Générer le rapport -tutti.report.action.openReport=Ouvrir -tutti.report.action.openReport.mnemonic=O -tutti.report.action.openReport.tip=Ouvrir le dernier rapport généré -tutti.report.action.save=Enregistrer -tutti.report.action.save.mnemonic=S -tutti.report.action.save.tip=Enregistrer le dernier rapport généré -tutti.report.action.showOutputFile.mnemonic=V -tutti.report.action.showOutputFile.tip=Voir le rapport -tutti.report.field.fishingOperation=Trait -tutti.report.field.fishingOperation.tip=Sélectionner le trait -tutti.report.field.outputFile=Rapport -tutti.report.field.outputFile.tip=Chemin où générer le rapport -tutti.report.field.report=Modèle -tutti.report.field.report.tip=Modèle de rapport à générer -tutti.report.generated=Le rapport a été généré avec succès. -tutti.report.saved=Rapport enregistré \: <strong>%s</strong> -tutti.report.title=Rapports -tutti.report.title.choose.saveReportFile=Enregistrer le rapport généré -tutti.resetCruise.action.cruiseReloaded=<html><body>La campagne <strong>%s</strong> est rechargée</body></html>. -tutti.resetProgram.action.programReloaded=<html><body>Le programme <strong>%s</strong> est rechargé</body></html>. -tutti.rtpEdit.askCancelEditBeforeLeaving=Les relations taille-poids ne sont pas valides et ne peuvent pas être enregistrées -tutti.rtpEdit.askSaveBeforeLeaving=Des modifications n'ont pas été enregistrées -tutti.rtpEdit.title=Relations taille-poids de l'espèce %s -tutti.selectBenthos.title=Choisissez une espèce du benthos -tutti.selectCruise.action.chooseCruiseExportFile=Exporter -tutti.selectCruise.action.chooseProgramExportFile=Exporter -tutti.selectCruise.action.cloneProtocol=Cloner -tutti.selectCruise.action.cloneProtocol.tip=Dupliquer le protocole sélectionné -tutti.selectCruise.action.deleteProtocol=Supprimer -tutti.selectCruise.action.deleteProtocol.message=Vous êtes sur le point de supprimer le protocole <strong>%s</strong> -tutti.selectCruise.action.deleteProtocol.tip=Supprimer le protocole sélectionné -tutti.selectCruise.action.deleteProtocol.title=Supprimer le protocole sélectionné -tutti.selectCruise.action.editCatches=Saisir les traits et les captures -tutti.selectCruise.action.editCatches.mnemonic=S -tutti.selectCruise.action.editCatches.tip=Ouvrir les écrans de saisie des traits et des captures -tutti.selectCruise.action.editCruise=Éditer -tutti.selectCruise.action.editCruise.tip=Éditer la campagne sélectionnée -tutti.selectCruise.action.editProgram=Éditer -tutti.selectCruise.action.editProgram.tip=Éditer le programme sélectionné -tutti.selectCruise.action.editProtocol=Éditer -tutti.selectCruise.action.editProtocol.tip=Éditer le protocole sélectionné -tutti.selectCruise.action.exportCruise=Export Générique -tutti.selectCruise.action.exportCruise.tip=Exporter la campagne sélectionnée au format générique -tutti.selectCruise.action.exportCruiseForSumatra=Export csv -tutti.selectCruise.action.exportCruiseForSumatra.tip=Exporter la campagne sélectionnée au format csv -tutti.selectCruise.action.exportProgram=Exporter -tutti.selectCruise.action.exportProgram.tip=Exporter la série sélectionnée -tutti.selectCruise.action.exportProtocol=Exporter -tutti.selectCruise.action.exportProtocol.tip=Exporter le protocole sélectionné -tutti.selectCruise.action.importGenericformat=Importer -tutti.selectCruise.action.importProgram=Importer -tutti.selectCruise.action.importProgram.tip=Importer des campagnes au format générique -tutti.selectCruise.action.importProtocol=Importer -tutti.selectCruise.action.importProtocol.tip=Importer un protocole -tutti.selectCruise.action.newCruise=Nouveau -tutti.selectCruise.action.newCruise.tip=Créer une nouvelle campagne -tutti.selectCruise.action.newProgram=Nouveau -tutti.selectCruise.action.newProgram.tip=Créer une nouvelle série de campagne -tutti.selectCruise.action.newProtocol=Nouveau -tutti.selectCruise.action.newProtocol.tip=Créer un nouveau protocole -tutti.selectCruise.action.sendCruiseReport=Export Pdf -tutti.selectCruise.action.sendCruiseReport.tip=Exporter au format pdf et envoyer par courriel -tutti.selectCruise.action.speciesToConfirmReportForCruise=Espèces à confirmer -tutti.selectCruise.action.speciesToConfirmReportForCruise.tip=Créer le rapport des espèces à confirmer pour la campagne -tutti.selectCruise.action.validateCatches=Valider les captures -tutti.selectCruise.action.validateCatches.mnemonic=V -tutti.selectCruise.action.validateCatches.tip=Lancer le processus de validation des données -tutti.selectCruise.field.cruise=Campagne -tutti.selectCruise.field.cruise.tip=Nom de la campagne -tutti.selectCruise.field.program=Série de campagne -tutti.selectCruise.field.program.tip=Nom de la série de campagne -tutti.selectCruise.field.protocol=Protocole de saisie -tutti.selectCruise.field.protocol.tip=Nom du protocole de saisie -tutti.selectCruise.title=Sélection de la campagne -tutti.selectCruise.title.choose.exportCruiseFile=Exporter une campagne -tutti.selectCruise.title.choose.exportFile=Exporter le protocole -tutti.selectCruise.title.choose.exportProgramFile=Exporter une série de campagne -tutti.selectCruise.title.choose.exportProtocolFile=Exporter le protocole -tutti.selectCruise.title.choose.importFile=Importer le protocole -tutti.selectCruise.title.choose.importGenericFormatFile=Importer des campagnes -tutti.selectCruise.title.choose.importProtocolFile=Importer le protocole -tutti.selectCruise.warn.invalid.selected.data=Les données sélectionnées ne sont pas valides, impossible de saisir ou valider les captures. -tutti.selectNode.cruisePartialSelected=La campagne est partiellement sélectionnée pour l'export ( %s traits à exporter , %s enregistrés ) -tutti.selectNode.cruiseSelected=La campagne est sélectionnée pour l'export ( %s traits à exporter ) -tutti.selectNode.operation=Trait %s -tutti.selectNode.operationSelected=Le trait est sélectionné pour l'export -tutti.selectSpecies.action.cancel=Annuler -tutti.selectSpecies.action.cancel.mnemonic=A -tutti.selectSpecies.action.cancel.tip=Annuler la sélection de l'espèce -tutti.selectSpecies.action.showAllSpecies=Afficher toutes les espèces -tutti.selectSpecies.action.showAllSpecies.mnemonic=t -tutti.selectSpecies.action.showAllSpecies.tip=Afficher toutes les espèces, réferents et synonymes dans la liste déroulante -tutti.selectSpecies.action.validate=Valider -tutti.selectSpecies.action.validate.mnemonic=V -tutti.selectSpecies.action.validate.tip=Valider la sélection de l'espèce -tutti.selectSpecies.title=Choisissez une espèce -tutti.selectSpeciesForBenthosBatch.title=Choisissez une espèce hors protocole -tutti.selectSpeciesForSpeciesBatch.title=Choisissez une espèce hors protocole -tutti.sendCruiseReport.action.chooseFile=Choisir le fichier de rapport -tutti.sendCruiseReport.action.success=Les captures ont correctement été exporté dans le fichier <strong>%s</strong> -tutti.sendCruiseReport.title.choose.exportFile=Envoyer les captures de la campagne -tutti.species.name.tip=Nom scientifique -tutti.species.refTaxCode.tip=Code Rubin -tutti.species.surveyCode.tip=Code campagne ou code rubin -tutti.speciesToConfirmReport.action.chooseFile=Choisir le fichier de rapport -tutti.speciesToConfirmReport.fileName.default=Especes_a_confirmer_%1$s_%2$s -tutti.speciesToConfirmReport.title.choose.exportFile=Rapport des espèces à confirmer -tutti.splitBenthosBatch.action.cancel=Annuler -tutti.splitBenthosBatch.action.cancel.mnemonic=A -tutti.splitBenthosBatch.action.cancel.tip=Annuler le sous-échantillonnage -tutti.splitBenthosBatch.action.save=Enregistrer -tutti.splitBenthosBatch.action.save.mnemonic=E -tutti.splitBenthosBatch.action.save.tip=Sauver le sous-échantillonnage -tutti.splitBenthosBatch.field.batchWeight=Poids du lot père -tutti.splitBenthosBatch.field.batchWeight.tip=Poids du lot père (si renseigné) -tutti.splitBenthosBatch.field.category=Catégorie -tutti.splitBenthosBatch.field.category.tip=Choisir le mode de catégorisation -tutti.splitBenthosBatch.field.sampleWeight=Poids total catégorisé -tutti.splitBenthosBatch.field.sampleWeight.tip=Somme des poids saisis ci-dessous -tutti.splitBenthosBatch.table.header.category=Catégorie -tutti.splitBenthosBatch.table.header.selected=Sélection -tutti.splitBenthosBatch.table.header.weight=Poids -tutti.splitBenthosBatch.title=Catégorisation du lot -tutti.splitSpeciesBatch.action.cancel=Annuler -tutti.splitSpeciesBatch.action.cancel.mnemonic=A -tutti.splitSpeciesBatch.action.cancel.tip=Annuler le sous-échantillonnage -tutti.splitSpeciesBatch.action.save=Enregistrer -tutti.splitSpeciesBatch.action.save.mnemonic=E -tutti.splitSpeciesBatch.action.save.tip=Sauver le sous-échantillonnage -tutti.splitSpeciesBatch.field.batchWeight=Poids total à catégoriser -tutti.splitSpeciesBatch.field.batchWeightField.tip=Poids du lot père (si renseigné) -tutti.splitSpeciesBatch.field.category=Catégorie -tutti.splitSpeciesBatch.field.categoryField.tip=Choisir le mode de catégorisation -tutti.splitSpeciesBatch.field.sampleWeight=Poids total catégorisé -tutti.splitSpeciesBatch.field.sampleWeightField.tip=Somme des poids saisis ci-dessous -tutti.splitSpeciesBatch.table.header.category=Catégorie -tutti.splitSpeciesBatch.table.header.selected=Sélection -tutti.splitSpeciesBatch.table.header.weight=Poids -tutti.splitSpeciesBatch.title=Catégorisation du lot -tutti.test= -tutti.title.openReplaceTemporaryUI.noSource=Pas de référentiel temporaire de type %s dans la base -tutti.title.openReplaceTemporaryUI.noTarget=Pas de référentiel officiel de type %s dans la base -tutti.todo= -tutti.toolbar.menu.action=Actions -tutti.toolbar.menu.action.mnemonic=A -tutti.toolbar.menu.action.tip=Actions possibles pour cet onglet -tutti.toolbar.menuExportMultiPost.action=Export multi-postes -tutti.toolbar.menuExportMultiPost.action.mnemonic=E -tutti.toolbar.menuExportMultiPost.action.tip=Exporter des lots espèces -tutti.toolbar.menuImportMultiPost.action=Import multi-postes -tutti.toolbar.menuImportMultiPost.action.mnemonic=I -tutti.toolbar.menuImportMultiPost.action.tip=Import des lots espèces -tutti.ui.change.species.decorator=Changer la décoration -tutti.update.db=Base de données -tutti.update.error.with.auth=Impossible de télécharger la mise à jour du module <strong>%s</strong>.<br/>Le login / mot de passe que vous avez saisis n'étaient peut-être pas corrects.<br/>Si le problème persiste, veuillez consulter l'administrateur. -tutti.update.error.with.noauth=Impossible de télécharger la mise à jour du module <strong>%s</strong>.<br/>Si le problème persiste, veuillez consulter l'administrateur. -tutti.update.help=Aide en ligne -tutti.update.i18n=Traductions -tutti.update.ichtyometer=Ichtyometre -tutti.update.jre=Java -tutti.update.launcher=Lanceur d'application -tutti.update.report=Rapports -tutti.update.tutti=Allegro Campagne -tutti.updateApplication.checkUpdates=Recherche de mises à jour -tutti.updateApplication.message.success=La mise à jour du logiciel nécessite le redémarrage de l'application -tutti.updateApplication.noUpdate=<strong>Aucune mise à jour de l'application détectée.</strong> -tutti.updateApplication.title.success=Redémarrage de l'application nécessaire... -tutti.updateDb.error.with.auth=Impossible de télécharger la base de données.<br/>Le login / mot de passe que vous avez saisis n'étaient peut-être pas corrects.<br/>Si le problème persiste, veuillez consulter l'administrateur. -tutti.updateDb.error.with.noauth=Impossible de télécharger la base de données.<br/>Si le problème persiste, veuillez consulter l'administrateur. -tutti.updateReport.error.with.auth=Impossible de télécharger la mise à jour des rapports.<br/>Le login / mot de passe que vous avez saisis n'étaient peut-être pas corrects.<br/>Si le problème persiste, veuillez consulter l'administrateur. -tutti.updateReport.error.with.noauth=Impossible de télécharger la mise à jour des rapports.<br/>Si le problème persiste, veuillez consulter l'administrateur. -tutti.updateReport.message.success=La mise à jour des rapports nécessite le redémarrage de l'application -tutti.updateReport.noUpdate=<strong>Aucune mise à jour de rapports détectée.</strong> -tutti.updateReport.title.success=Redémarrage de l'application nécessaire... -tutti.upgradeDb.message.success=La mise à jour des référentiels nécessite le redémarrage de l'application -tutti.upgradeDb.title.success=Redémarrage de l'application nécessaire... -tutti.validateCruise.action.editCruise.tip=Éditer la campagne -tutti.validateCruise.action.export.all.chooseFile.label=Exporter -tutti.validateCruise.action.export.all.chooseFile.title=Exporter les messages de validation de la campagne -tutti.validateCruise.action.export.all.success=Les messages de validation des captures ont correctement été exporté dans le fichier %s -tutti.validateCruise.action.export.all.tip=Exporter les messages de validation de la campagne -tutti.validateCruise.action.export.operation.chooseFile.label=Exporter -tutti.validateCruise.action.export.operation.chooseFile.title=Exporter les messages de validation de l'opération -tutti.validateCruise.action.export.operation.success=Les messages de validation de l'opération ont correctement été exporté dans le fichier %s -tutti.validateCruise.action.export.operation.tip=Exporter les messages de validation de l'opération -tutti.validateCruise.navigation.action.export.all.tip=Exporter les messages de validation de la campagne -tutti.validateCruise.navigation.action.export.operation=Exporter -tutti.validateCruise.navigation.action.export.operation.mnemonic=x -tutti.validateCruise.navigation.action.export.operation.tip=Exporter les messages de validation de l'opération -tutti.validateCruise.navigation.action.readyToSynch=Rendre les données synchronisables -tutti.validateCruise.navigation.action.readyToSynch.mnemonic=S -tutti.validateCruise.navigation.action.readyToSynch.tip=Rendre les données synchronisables vers Harmonie -tutti.validateCruise.navigation.title=Traits -tutti.validationCruise.action.saveCruiseToReadyToSynch.message=<html>Voulez vous rendre vos données synchronisables vers Harmonie ?</html> -tutti.validationCruise.action.saveCruiseToReadyToSynch.tip=Rendre les données synchronisables vers Harmonie -tutti.validationCruise.action.saveCruiseToReadyToSynch.title=Rendre synchronisable les données vers Harmonie -tutti.validator.error.benthosFrequency.incoherentTotalWeights=Le poids total est différent de la somme des poids des poids observés -tutti.validator.error.benthosFrequency.lengthStepCaracteristic.required=La classe de taille est obligatoire -tutti.validator.error.benthosFrequency.oneRowRequired=Au moins une classe de taille doit être observée -tutti.validator.error.benthosFrequency.step.positiveValue=Le pas de la classe de taille doit être strictement positif +tutti.reimport.step.backupDb= +tutti.reimport.step.closeDb= +tutti.reimport.step.reloadApplication= +tutti.reinstallDb.step.backupDb= +tutti.reinstallDb.step.closeDb= +tutti.reinstallDb.step.reloadApplication= +tutti.replaceTemporary.done= +tutti.replaceTemporaryAndDelete.done= +tutti.replaceTemporaryGear.title= +tutti.replaceTemporaryPerson.title= +tutti.replaceTemporaryReferential.action.cancel= +tutti.replaceTemporaryReferential.action.cancel.mnemonic= +tutti.replaceTemporaryReferential.action.cancel.tip= +tutti.replaceTemporaryReferential.action.replace= +tutti.replaceTemporaryReferential.action.replace.mnemonic= +tutti.replaceTemporaryReferential.action.replace.tip= +tutti.replaceTemporaryReferential.field.delete= +tutti.replaceTemporaryReferential.field.delete.tip= +tutti.replaceTemporaryReferential.field.sourceList= +tutti.replaceTemporaryReferential.field.sourceList.tip= +tutti.replaceTemporaryReferential.field.targetList= +tutti.replaceTemporaryReferential.field.targetList.tip= +tutti.replaceTemporarySpecies.title= +tutti.replaceTemporaryVessel.title= +tutti.report.action.cancel= +tutti.report.action.cancel.mnemonic= +tutti.report.action.cancel.tip= +tutti.report.action.generate= +tutti.report.action.generate.mnemonic= +tutti.report.action.generate.tip= +tutti.report.action.openReport= +tutti.report.action.openReport.mnemonic= +tutti.report.action.openReport.tip= +tutti.report.action.save= +tutti.report.action.save.mnemonic= +tutti.report.action.save.tip= +tutti.report.field.fishingOperation= +tutti.report.field.fishingOperation.tip= +tutti.report.field.report= +tutti.report.field.report.tip= +tutti.report.generated= +tutti.report.saved= +tutti.report.title= +tutti.report.title.choose.saveReportFile= +tutti.resetCruise.action.cruiseReloaded= +tutti.resetProgram.action.programReloaded= +tutti.rtpEdit.askCancelEditBeforeLeaving= +tutti.rtpEdit.askSaveBeforeLeaving= +tutti.rtpEdit.title= +tutti.selectBenthos.title= +tutti.selectCruise.action.cloneProtocol= +tutti.selectCruise.action.cloneProtocol.tip= +tutti.selectCruise.action.deleteProtocol= +tutti.selectCruise.action.deleteProtocol.message= +tutti.selectCruise.action.deleteProtocol.tip= +tutti.selectCruise.action.deleteProtocol.title= +tutti.selectCruise.action.editCatches= +tutti.selectCruise.action.editCatches.mnemonic= +tutti.selectCruise.action.editCatches.tip= +tutti.selectCruise.action.editCruise= +tutti.selectCruise.action.editCruise.tip= +tutti.selectCruise.action.editProgram= +tutti.selectCruise.action.editProgram.tip= +tutti.selectCruise.action.editProtocol= +tutti.selectCruise.action.editProtocol.tip= +tutti.selectCruise.action.exportCruiseForSumatra= +tutti.selectCruise.action.exportCruiseForSumatra.tip= +tutti.selectCruise.action.exportProtocol= +tutti.selectCruise.action.exportProtocol.tip= +tutti.selectCruise.action.importProtocol= +tutti.selectCruise.action.importProtocol.tip= +tutti.selectCruise.action.newCruise= +tutti.selectCruise.action.newCruise.tip= +tutti.selectCruise.action.newProgram= +tutti.selectCruise.action.newProgram.tip= +tutti.selectCruise.action.newProtocol= +tutti.selectCruise.action.newProtocol.tip= +tutti.selectCruise.action.sendCruiseReport= +tutti.selectCruise.action.sendCruiseReport.tip= +tutti.selectCruise.action.speciesToConfirmReportForCruise= +tutti.selectCruise.action.speciesToConfirmReportForCruise.tip= +tutti.selectCruise.action.validateCatches= +tutti.selectCruise.action.validateCatches.mnemonic= +tutti.selectCruise.action.validateCatches.tip= +tutti.selectCruise.field.cruise= +tutti.selectCruise.field.cruise.tip= +tutti.selectCruise.field.program= +tutti.selectCruise.field.program.tip= +tutti.selectCruise.field.protocol= +tutti.selectCruise.field.protocol.tip= +tutti.selectCruise.title= +tutti.selectCruise.title.choose.exportProtocolFile= +tutti.selectCruise.title.choose.importProtocolFile= +tutti.selectCruise.warn.invalid.selected.data= +tutti.selectSpecies.action.cancel= +tutti.selectSpecies.action.cancel.mnemonic= +tutti.selectSpecies.action.cancel.tip= +tutti.selectSpecies.action.showAllSpecies= +tutti.selectSpecies.action.showAllSpecies.mnemonic= +tutti.selectSpecies.action.showAllSpecies.tip= +tutti.selectSpecies.action.validate= +tutti.selectSpecies.action.validate.mnemonic= +tutti.selectSpecies.action.validate.tip= +tutti.selectSpecies.title= +tutti.selectSpeciesForSpeciesBatch.title= +tutti.sendCruiseReport.action.chooseFile= +tutti.sendCruiseReport.action.success= +tutti.sendCruiseReport.title.choose.exportFile= +tutti.species.name.tip= +tutti.species.refTaxCode.tip= +tutti.species.surveyCode.tip= +tutti.speciesToConfirmReport.action.chooseFile= +tutti.speciesToConfirmReport.fileName.default= +tutti.speciesToConfirmReport.title.choose.exportFile= +tutti.splitSpeciesBatch.action.cancel= +tutti.splitSpeciesBatch.action.cancel.mnemonic= +tutti.splitSpeciesBatch.action.cancel.tip= +tutti.splitSpeciesBatch.action.save= +tutti.splitSpeciesBatch.action.save.mnemonic= +tutti.splitSpeciesBatch.action.save.tip= +tutti.splitSpeciesBatch.field.batchWeight= +tutti.splitSpeciesBatch.field.batchWeightField.tip= +tutti.splitSpeciesBatch.field.category= +tutti.splitSpeciesBatch.field.categoryField.tip= +tutti.splitSpeciesBatch.field.sampleWeight= +tutti.splitSpeciesBatch.field.sampleWeightField.tip= +tutti.splitSpeciesBatch.table.header.category= +tutti.splitSpeciesBatch.table.header.selected= +tutti.splitSpeciesBatch.table.header.weight= +tutti.splitSpeciesBatch.title= +tutti.title.openReplaceTemporaryUI.noSource= +tutti.title.openReplaceTemporaryUI.noTarget= +tutti.toolbar.menu.action= +tutti.toolbar.menu.action.mnemonic= +tutti.toolbar.menu.action.tip= +tutti.toolbar.menuExportMultiPost.action= +tutti.toolbar.menuExportMultiPost.action.mnemonic= +tutti.toolbar.menuExportMultiPost.action.tip= +tutti.toolbar.menuImportMultiPost.action= +tutti.toolbar.menuImportMultiPost.action.mnemonic= +tutti.toolbar.menuImportMultiPost.action.tip= +tutti.ui.change.species.decorator= +tutti.update.db= +tutti.update.error.with.auth= +tutti.update.error.with.noauth= +tutti.update.help= +tutti.update.i18n= +tutti.update.ichtyometer= +tutti.update.jre= +tutti.update.launcher= +tutti.update.report= +tutti.update.tutti= +tutti.updateApplication.checkUpdates= +tutti.updateApplication.message.success= +tutti.updateApplication.noUpdate= +tutti.updateApplication.title.success= +tutti.updateReport.message.success= +tutti.updateReport.noUpdate= +tutti.updateReport.title.success= +tutti.validateCruise.action.editCruise.tip= +tutti.validateCruise.action.export.all.chooseFile.label= +tutti.validateCruise.action.export.all.chooseFile.title= +tutti.validateCruise.action.export.all.success= +tutti.validateCruise.action.export.all.tip= +tutti.validateCruise.action.export.operation.chooseFile.label= +tutti.validateCruise.action.export.operation.chooseFile.title= +tutti.validateCruise.action.export.operation.success= +tutti.validateCruise.action.export.operation.tip= +tutti.validateCruise.navigation.action.export.all.tip= +tutti.validateCruise.navigation.action.export.operation= +tutti.validateCruise.navigation.action.export.operation.mnemonic= +tutti.validateCruise.navigation.action.export.operation.tip= +tutti.validateCruise.navigation.action.readyToSynch= +tutti.validateCruise.navigation.action.readyToSynch.mnemonic= +tutti.validateCruise.navigation.action.readyToSynch.tip= +tutti.validateCruise.navigation.title= +tutti.validationCruise.action.saveCruiseToReadyToSynch.message= +tutti.validationCruise.action.saveCruiseToReadyToSynch.tip= +tutti.validationCruise.action.saveCruiseToReadyToSynch.title= +tutti.validator.error.benthosFrequency.incoherentTotalWeights= +tutti.validator.error.benthosFrequency.lengthStepCaracteristic.required= +tutti.validator.error.benthosFrequency.oneRowRequired= +tutti.validator.error.benthosFrequency.step.positiveValue= tutti.validator.error.cpsEditor.dialog.minSize.between= tutti.validator.error.cpsEditor.dialog.minSize.required= -tutti.validator.error.createAccidentalBatch.species.required=L'espèce est obligatoire -tutti.validator.error.createIndividualObservationBatch.lengthStepCaracteristic.required=La classe de taille est obligatoire -tutti.validator.error.createIndividualObservationBatch.size.required=La taille est obligatoire -tutti.validator.error.createIndividualObservationBatch.species.required=L'espèce est obligatoire -tutti.validator.error.createIndividualObservationBatch.weight.required=Le poids est obligatoire -tutti.validator.error.createMarineLitterBatch.categoryAndSizeCategory.notAvailable=Couple (catégorie de déchet - catégorie de taille) déjà utilisée -tutti.validator.error.createMarineLitterBatch.marineLitterCategory.required=La catégorie de déchet est obligatoire -tutti.validator.error.createMarineLitterBatch.marineLitterSizeCategory.required=La catégorie de taille est obligatoire -tutti.validator.error.createMarineLitterBatch.number.invalidValue=Le nombre doit être strictement positif -tutti.validator.error.createMarineLitterBatch.number.required=Le nombre est obligatoire +tutti.validator.error.createAccidentalBatch.species.required= +tutti.validator.error.createIndividualObservationBatch.lengthStepCaracteristic.required= +tutti.validator.error.createIndividualObservationBatch.size.required= +tutti.validator.error.createIndividualObservationBatch.species.required= +tutti.validator.error.createIndividualObservationBatch.weight.required= +tutti.validator.error.createMarineLitterBatch.categoryAndSizeCategory.notAvailable= +tutti.validator.error.createMarineLitterBatch.marineLitterCategory.required= +tutti.validator.error.createMarineLitterBatch.marineLitterSizeCategory.required= +tutti.validator.error.createMarineLitterBatch.number.invalidValue= +tutti.validator.error.createMarineLitterBatch.number.required= tutti.validator.error.createSpeciesBatch.batchSampleCategoryWeight.invalidValue= -tutti.validator.error.createSpeciesBatch.batchSampleWeight.invalidValue=Le poids du lot doit être strictement positif -tutti.validator.error.createSpeciesBatch.batchWeight.invalidValue=Le poids du sous-échantillon doit être strictement positif -tutti.validator.error.createSpeciesBatch.sampleWeight.invalidValue=La somme des poids ventilés doit être strictement positive -tutti.validator.error.createSpeciesBatch.sampleWeight.sampleBatchGreaterThanBatchSampleCategoryWeight=La somme des poids ventilés doit être inférieur ou égale à celle du poids du lot -tutti.validator.error.createSpeciesBatch.sortedUnsortedCategory.required=La catégorie Vrac / Hors Vrac est obligatoire -tutti.validator.error.createSpeciesBatch.species.required=L'espèce est obligatoire -tutti.validator.error.createSpeciesBatch.speciesAndCategory.notAvailable=Couple (espèce - Vrac/Hors Vrac) déjà utilisée -tutti.validator.error.createSpeciesBatch.weight.weightGreaterThanBatchSampleCategoryWeight=Le poids du sous-échantillon doit être inférieur au poids du lot -tutti.validator.error.cruise.name.format=Le format n'est pas celui attendu ... -tutti.validator.error.latitude.decimal.outOfBounds=La décimale de la latitude doit être comprise entre 0 et 99 -tutti.validator.error.latitude.degree.outOfBounds=Le degré de la latitude doit être compris entre -90 et 90 -tutti.validator.error.latitude.end.required=La latitude de fin de traîne est obligatoire -tutti.validator.error.latitude.minute.outOfBounds=La minute de la latitude doit être comprise entre 0 et 59 -tutti.validator.error.latitude.second.outOfBounds=La seconde de la latitude doit être comprise entre 0 et 59 -tutti.validator.error.latitude.start.required=La latitude de début de traîne est obligatoire -tutti.validator.error.longitude.decimal.outOfBounds=La décimale de la longitude doit être comprise entre 0 et 99 -tutti.validator.error.longitude.degree.outOfBounds=Le degré de la longitude doit être compris entre -180 et 180 -tutti.validator.error.longitude.end.required=La longitude de fin de traîne est obligatoire -tutti.validator.error.longitude.minute.outOfBounds=La minute de la longitude doit être comprise entre 0 et 59 -tutti.validator.error.longitude.second.outOfBounds=La seconde de la longitude doit être comprise entre 0 et 59 -tutti.validator.error.longitude.start.required=La longitude de début de traîne est obligatoire +tutti.validator.error.createSpeciesBatch.batchWeight.invalidValue= +tutti.validator.error.createSpeciesBatch.sampleWeight.invalidValue= +tutti.validator.error.createSpeciesBatch.sampleWeight.sampleBatchGreaterThanBatchSampleCategoryWeight= +tutti.validator.error.createSpeciesBatch.sortedUnsortedCategory.required= +tutti.validator.error.createSpeciesBatch.species.required= +tutti.validator.error.createSpeciesBatch.speciesAndCategory.notAvailable= +tutti.validator.error.createSpeciesBatch.weight.weightGreaterThanBatchSampleCategoryWeight= +tutti.validator.error.cruise.name.format= +tutti.validator.error.latitude.decimal.outOfBounds= +tutti.validator.error.latitude.degree.outOfBounds= +tutti.validator.error.latitude.end.required= +tutti.validator.error.latitude.minute.outOfBounds= +tutti.validator.error.latitude.second.outOfBounds= +tutti.validator.error.latitude.start.required= +tutti.validator.error.longitude.decimal.outOfBounds= +tutti.validator.error.longitude.degree.outOfBounds= +tutti.validator.error.longitude.end.required= +tutti.validator.error.longitude.minute.outOfBounds= +tutti.validator.error.longitude.second.outOfBounds= +tutti.validator.error.longitude.start.required= tutti.validator.error.maturityCaracteristicEditor.dialog.qualitativeValues.bithStates= -tutti.validator.error.program.zone.required=La zone de la série est obligatoire -tutti.validator.error.replaceTemporaryReferential.source.required=Un référentiel temporaire doit être sélectionné -tutti.validator.error.replaceTemporaryReferential.target.required=Un référentiel officiel doit être sélectionné -tutti.validator.error.report.cruiseId.required=La campagne est obligatoire -tutti.validator.error.report.fishingOperation.required=Un trait doit être sélectionné -tutti.validator.error.report.outputFile.required=Le fichier de sortie est obligatoire -tutti.validator.error.report.report.required=Un modèle de rapport doit être sélectionné +tutti.validator.error.program.zone.required= +tutti.validator.error.replaceTemporaryReferential.source.required= +tutti.validator.error.replaceTemporaryReferential.target.required= +tutti.validator.error.report.cruiseId.required= +tutti.validator.error.report.fishingOperation.required= +tutti.validator.error.report.report.required= tutti.validator.error.rtpEditor.rtpFemaleA.required= tutti.validator.error.rtpEditor.rtpFemaleB.required= tutti.validator.error.rtpEditor.rtpMaleA.required= tutti.validator.error.rtpEditor.rtpMaleB.required= tutti.validator.error.rtpEditor.rtpUndefinedA.required= tutti.validator.error.rtpEditor.rtpUndefinedB.required= -tutti.validator.error.speciesFrequency.allWeightsOrNoneRequired=Tous les poids doivent être saisis ou aucun -tutti.validator.error.speciesFrequency.incoherentTotalWeights=Le poids total est différent de la somme des poids des poids observés -tutti.validator.error.speciesFrequency.individualObservationsWithoutWeights=Tous les poids des observations individuelles ne sont pas renseignés -tutti.validator.error.speciesFrequency.lengthStepCaracteristic.required=La classe de taille est obligatoire -tutti.validator.error.speciesFrequency.oneRowRequired=Au moins une classe de taille doit être observée -tutti.validator.error.speciesFrequency.step.positiveValue=Le pas de la classe de taille doit être strictement positif -tutti.validator.error.splitSpeciesBatch.sampleWeight.invalidValue=La somme des poids ventilés doit être strictement positive -tutti.validator.error.splitSpeciesBatch.sampleWeight.sampleBatchGreaterThanBatchWeight=La somme des poids ventilés doit être inférieur ou égale à celle du poids du lot -tutti.validator.error.splitSpeciesBatch.selectedCategory.required=La catégorie est obligatoire -tutti.validator.error.zoneEditor.availableStratas.remaining=Il reste des strates ou des sous-strates à positionner dans les zones -tutti.validator.info.cruise.noError=Campagne sans erreur -tutti.validator.info.operation.noError=Trait sans erreur -tutti.validator.warning.benthosFrequency.redundantTotalWeight=Le poids total est redondant (égal au poids calculé à partir des poids observés) -tutti.validator.warning.speciesFrequency.redundantTotalWeight=Le poids total est redondant (égal au poids calculé à partir des poids observés) -tutti.vesselUseFeatureTable.action.removeCaracteristic=Supprimer -tutti.vesselUseFeatureTable.action.removeCaracteristic.mnemonic=S -tutti.vesselUseFeatureTable.action.removeCaracteristic.tip=Supprimer la caractéristique -tutti.vesselUseFeatureTable.table.header.key=Caractéristique -tutti.vesselUseFeatureTable.table.header.value=Valeur -tutti.vesselUseFeatureTable.title=Autres paramètres -tutti.zoneEditor.action.delete=Supprimer la zone -tutti.zoneEditor.action.delete.mnemonic=Supprimer la zone sélectionnée -tutti.zoneEditor.action.delete.tip=S -tutti.zoneEditor.action.rename=Renommer la zone -tutti.zoneEditor.action.rename.mnemonic=Renommer la zone sélectionnée -tutti.zoneEditor.action.rename.tip=R -tutti.zoneEditor.availableStratas.root.label=Strates à attribuer à une zone -tutti.zoneEditor.createZone.message=Libellé de la nouvelle zone -tutti.zoneEditor.createZone.title=Nouvelle zone -tutti.zoneEditor.deleteZone.message=Vous êtes sur le point de supprimer la zone %s. Êtes-vous sûr de vouloir la supprimer ? -tutti.zoneEditor.deleteZone.title=Suppression de zone -tutti.zoneEditor.renameZone.message=Nouveau libellé de la zone -tutti.zoneEditor.renameZone.title=Renommer la zone %s -tutti.zoneEditor.zones.root.label=Zones +tutti.validator.error.speciesFrequency.allWeightsOrNoneRequired= +tutti.validator.error.speciesFrequency.incoherentTotalWeights= +tutti.validator.error.speciesFrequency.individualObservationsWithoutWeights= +tutti.validator.error.speciesFrequency.lengthStepCaracteristic.required= +tutti.validator.error.speciesFrequency.oneRowRequired= +tutti.validator.error.speciesFrequency.step.positiveValue= +tutti.validator.error.splitSpeciesBatch.sampleWeight.invalidValue= +tutti.validator.error.splitSpeciesBatch.sampleWeight.sampleBatchGreaterThanBatchWeight= +tutti.validator.error.splitSpeciesBatch.selectedCategory.required= +tutti.validator.error.zoneEditor.availableStratas.remaining= +tutti.validator.info.cruise.noError= +tutti.validator.info.operation.noError= +tutti.validator.warning.benthosFrequency.redundantTotalWeight= +tutti.validator.warning.speciesFrequency.redundantTotalWeight= +tutti.vesselUseFeatureTable.action.removeCaracteristic= +tutti.vesselUseFeatureTable.action.removeCaracteristic.mnemonic= +tutti.vesselUseFeatureTable.action.removeCaracteristic.tip= +tutti.vesselUseFeatureTable.table.header.key= +tutti.vesselUseFeatureTable.table.header.value= +tutti.vesselUseFeatureTable.title= +tutti.zoneEditor.action.delete= +tutti.zoneEditor.action.delete.mnemonic= +tutti.zoneEditor.action.delete.tip= +tutti.zoneEditor.action.rename= +tutti.zoneEditor.action.rename.mnemonic= +tutti.zoneEditor.action.rename.tip= +tutti.zoneEditor.availableStratas.root.label= +tutti.zoneEditor.createZone.message= +tutti.zoneEditor.createZone.title= +tutti.zoneEditor.deleteZone.message= +tutti.zoneEditor.deleteZone.title= +tutti.zoneEditor.renameZone.message= +tutti.zoneEditor.renameZone.title= +tutti.zoneEditor.zones.root.label= -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8109 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit f0a22bcdc8a25457088b2c80b8e15dd3b3dd434c Author: Kevin Morin <morin@codelutin.com> Date: Wed Mar 23 17:58:27 2016 +0100 validation + couleurs des caractéristiques (refs #8109) --- .../ui/swing/content/protocol/EditProtocolUI.jaxx | 1 + .../content/protocol/EditProtocolUIHandler.java | 24 +- .../content/protocol/EditProtocolUIModel.java | 16 + .../actions/EditMaturityCaracteristicAction.java | 8 +- .../EditProtocolUIModel-error-validation.xml | 11 + .../resources/i18n/tutti-ui-swing_en_GB.properties | 1 + .../resources/i18n/tutti-ui-swing_fr_FR.properties | 2058 +++++++++++--------- 7 files changed, 1143 insertions(+), 976 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx index d835235..f5d6097 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx @@ -66,6 +66,7 @@ uiClass='jaxx.runtime.validator.swing.ui.ImageValidationUI'> <field name='name' component='nameField'/> <field name='comment' component='commentPane'/> + <field name='maturityPmfmId' component='maturityList'/> </BeanValidator> <JMenuItem id='editMaturityCaracteristicAction'/> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java index 8dad769..1b3abfd 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java @@ -95,6 +95,7 @@ import javax.swing.JOptionPane; import javax.swing.JTabbedPane; import javax.swing.JTable; import javax.swing.JTree; +import javax.swing.ListCellRenderer; import javax.swing.ListSelectionModel; import javax.swing.event.ListSelectionListener; import javax.swing.event.TableModelEvent; @@ -550,13 +551,32 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI JMenuItem editMaturity = ui.getEditMaturityCaracteristicAction(); maturityList.getSelectedListPopup().add(editMaturity); + // add listener to enable the maturity edition - maturityList.getSelectedList().addListSelectionListener(e -> { - JList maturitySelectedList = (JList) e.getSource(); + JList maturitySelectedList = maturityList.getSelectedList(); + maturitySelectedList.addListSelectionListener(e -> { boolean editMaturityEnabled = maturitySelectedList.getSelectedIndices().length == 1; editMaturity.setEnabled(editMaturityEnabled); }); + ListCellRenderer defaultRenderer = maturitySelectedList.getCellRenderer(); + maturitySelectedList.setCellRenderer(new ListCellRenderer() { + + private Color validColor = getConfig().getColorCellWithValue(); + private Color invalidColor = getConfig().getColorRowInvalid(); + + @Override + public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { + Component result = defaultRenderer.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); + if (!EditProtocolUIHandler.this.getModel().isMaturityValid((Caracteristic) value)) { + result.setBackground(invalidColor); + } else { + result.setBackground(validColor); + } + return result; + } + }); + // init caracteristics mappingtable { JXTable caracteristicsMappingTable = getCaracteristicsMappingTable(); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java index 8d13e59..ef00278 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java @@ -46,6 +46,7 @@ import fr.ifremer.tutti.ui.swing.content.protocol.zones.tree.node.StrataNode; import fr.ifremer.tutti.ui.swing.content.protocol.zones.tree.node.SubStrataNode; import fr.ifremer.tutti.ui.swing.content.protocol.zones.tree.node.ZoneNode; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.mutable.MutableInt; import org.nuiton.util.beans.Binder; @@ -60,6 +61,7 @@ import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; @@ -1330,4 +1332,18 @@ public class EditProtocolUIModel extends AbstractTuttiBeanUIModel<TuttiProtocol, public MaturityCaracteristic getMaturityCaracteristic(String id) { return maturityCaracteristicsById.get(id); } + + public boolean isMaturityValid(Caracteristic maturityCaracteristic) { + Objects.requireNonNull(maturityCaracteristic); + return isMaturityValid(maturityCaracteristic.getId()); + } + + public boolean isMaturityValid(String maturityCaracteristicId) { + MaturityCaracteristic maturityCaracteristic = maturityCaracteristicsById.get(maturityCaracteristicId); + return maturityCaracteristic != null && CollectionUtils.isNotEmpty(maturityCaracteristic.getMatureStateIds()); + } + + public boolean areAllMaturitiesValid() { + return maturityPmfmId.stream().allMatch(this::isMaturityValid); + } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/actions/EditMaturityCaracteristicAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/actions/EditMaturityCaracteristicAction.java index d35eeec..77acba6 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/actions/EditMaturityCaracteristicAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/actions/EditMaturityCaracteristicAction.java @@ -6,6 +6,7 @@ import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUI; import fr.ifremer.tutti.ui.swing.content.protocol.maturity.EditMaturityCaracteristicPopupUI; import fr.ifremer.tutti.ui.swing.util.actions.SimpleActionSupport; +import javax.swing.JList; import java.util.Collection; /** @@ -22,7 +23,8 @@ public class EditMaturityCaracteristicAction extends SimpleActionSupport<EditPro protected void onActionPerformed(EditProtocolUI ui) { EditMaturityCaracteristicPopupUI popupUI = new EditMaturityCaracteristicPopupUI(ui); - Caracteristic selectedValue = (Caracteristic) ui.getMaturityList().getSelectedList().getSelectedValue(); + JList selectedList = ui.getMaturityList().getSelectedList(); + Caracteristic selectedValue = (Caracteristic) selectedList.getSelectedValue(); if (selectedValue != null) { MaturityCaracteristic maturityCaracteristic = ui.getModel().getMaturityCaracteristic(selectedValue.getId()); @@ -33,6 +35,10 @@ public class EditMaturityCaracteristicAction extends SimpleActionSupport<EditPro Collection<String> matureStateIds = popupUI.getModel().getMatureStateIds(); maturityCaracteristic.setMatureStateIds(matureStateIds); + int selectedIndex = selectedList.getSelectedIndex(); + selectedList.repaint(selectedList.getCellBounds(selectedIndex, selectedIndex)); + + ui.getValidator().doValidate(); ui.getModel().setModify(true); } diff --git a/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel-error-validation.xml b/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel-error-validation.xml index b261fb0..5f7c010 100644 --- a/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel-error-validation.xml +++ b/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel-error-validation.xml @@ -37,4 +37,15 @@ </field-validator> </field> + <field name="maturityPmfmId"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ areAllMaturitiesValid() ]]> + </param> + <message> + tutti.validator.error.maturityCaracteristics.statesNotDefined + </message> + </field-validator> + </field> + </validators> diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties index 3e99b08..aa744fa 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties @@ -2557,6 +2557,7 @@ tutti.validator.error.longitude.minute.outOfBounds= tutti.validator.error.longitude.second.outOfBounds= tutti.validator.error.longitude.start.required= tutti.validator.error.maturityCaracteristicEditor.dialog.qualitativeValues.bithStates= +tutti.validator.error.maturityCaracteristics.statesNotDefined= tutti.validator.error.program.zone.required= tutti.validator.error.replaceTemporaryReferential.source.required= tutti.validator.error.replaceTemporaryReferential.target.required= diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties index 026f016..bd7f3d8 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties @@ -1295,990 +1295,1102 @@ tutti.editSpeciesBatch.action.importMultiPostOnlyFrequencies.tip=Importer des lo tutti.editSpeciesBatch.action.importMultiPostOnlyIndividualObservations=Lot espèces et observations individuelles tutti.editSpeciesBatch.action.importMultiPostOnlyIndividualObservations.mnemonic=O tutti.editSpeciesBatch.action.importMultiPostOnlyIndividualObservations.sourceFile.button=Importer -tutti.editSpeciesBatch.action.importMultiPostOnlyIndividualObservations.sourceFile.title=Importer des lots d'espèces et des observations individu -tutti.editSpeciesBatch.action.importMultiPostOnlyIndividualObservations.success= -tutti.editSpeciesBatch.action.importMultiPostOnlyIndividualObservations.tip= -tutti.editSpeciesBatch.action.importPsion= -tutti.editSpeciesBatch.action.importPsion.mnemonic= -tutti.editSpeciesBatch.action.importPsion.no.matching.data= -tutti.editSpeciesBatch.action.importPsion.no.matching.fishingOperation= -tutti.editSpeciesBatch.action.importPsion.no.matching.fishingOperation.title= -tutti.editSpeciesBatch.action.importPsion.success= -tutti.editSpeciesBatch.action.importPsion.tip= -tutti.editSpeciesBatch.action.importPupitri= -tutti.editSpeciesBatch.action.importPupitri.existingData.help= -tutti.editSpeciesBatch.action.importPupitri.existingData.message= -tutti.editSpeciesBatch.action.importPupitri.existingData.title= -tutti.editSpeciesBatch.action.importPupitri.invalidSampleCategoryModel.message= -tutti.editSpeciesBatch.action.importPupitri.invalidSampleCategoryModel.title= -tutti.editSpeciesBatch.action.importPupitri.mnemonic= -tutti.editSpeciesBatch.action.importPupitri.no.matching.data= -tutti.editSpeciesBatch.action.importPupitri.no.matching.fishingOperation= -tutti.editSpeciesBatch.action.importPupitri.no.matching.fishingOperation.title= -tutti.editSpeciesBatch.action.importPupitri.showReport.message= -tutti.editSpeciesBatch.action.importPupitri.showReport.title= -tutti.editSpeciesBatch.action.importPupitri.speciesNotImported.message= -tutti.editSpeciesBatch.action.importPupitri.speciesNotImported.title= -tutti.editSpeciesBatch.action.importPupitri.success= -tutti.editSpeciesBatch.action.importPupitri.tip= -tutti.editSpeciesBatch.action.removeBatch= -tutti.editSpeciesBatch.action.removeBatch.confirm.message= -tutti.editSpeciesBatch.action.removeBatch.confirm.title= -tutti.editSpeciesBatch.action.removeBatch.mnemonic= -tutti.editSpeciesBatch.action.removeBatches= -tutti.editSpeciesBatch.action.removeBatches.confirm.message= -tutti.editSpeciesBatch.action.removeBatches.tip= -tutti.editSpeciesBatch.action.removeSubBatch= -tutti.editSpeciesBatch.action.removeSubBatch.confirm.message= -tutti.editSpeciesBatch.action.removeSubBatch.confirm.title= -tutti.editSpeciesBatch.action.removeSubBatch.mnemonic= -tutti.editSpeciesBatch.action.removeSubBatch.tip= -tutti.editSpeciesBatch.action.renameBatch= -tutti.editSpeciesBatch.action.renameBatch.mnemonic= -tutti.editSpeciesBatch.action.renameBatch.tip= -tutti.editSpeciesBatch.action.showReport= -tutti.editSpeciesBatch.action.splitBatch= -tutti.editSpeciesBatch.action.splitBatch.mnemonic= -tutti.editSpeciesBatch.action.splitBatch.tip= -tutti.editSpeciesBatch.action.title.choose.importBigfinFile= -tutti.editSpeciesBatch.action.title.choose.importPsionFile= -tutti.editSpeciesBatch.error.sampleCategoryValue.notAvailable= -tutti.editSpeciesBatch.field.speciesTotalInertWeight= -tutti.editSpeciesBatch.field.speciesTotalInertWeight.tip= -tutti.editSpeciesBatch.field.speciesTotalLivingNotItemizedWeight= -tutti.editSpeciesBatch.field.speciesTotalLivingNotItemizedWeight.tip= -tutti.editSpeciesBatch.field.speciesTotalSampleSortedWeight= -tutti.editSpeciesBatch.field.speciesTotalSampleSortedWeight.tip= -tutti.editSpeciesBatch.field.speciesTotalSortedWeight= -tutti.editSpeciesBatch.field.speciesTotalSortedWeight.tip= -tutti.editSpeciesBatch.field.speciesTotalUnsortedWeight= -tutti.editSpeciesBatch.field.speciesTotalUnsortedWeight.tip= -tutti.editSpeciesBatch.field.speciesTotalWeight= -tutti.editSpeciesBatch.field.speciesTotalWeight.tip= -tutti.editSpeciesBatch.filterBatch= -tutti.editSpeciesBatch.filterBatch.mode.all= -tutti.editSpeciesBatch.filterBatch.mode.all.tip= -tutti.editSpeciesBatch.filterBatch.mode.leaf= -tutti.editSpeciesBatch.filterBatch.mode.leaf.tip= -tutti.editSpeciesBatch.filterBatch.mode.root= -tutti.editSpeciesBatch.filterBatch.mode.root.tip= -tutti.editSpeciesBatch.filterSpeciesBatch.tip= -tutti.editSpeciesBatch.sortSpeciesBatch= -tutti.editSpeciesBatch.sortSpeciesBatch.tip= -tutti.editSpeciesBatch.speciesSortMode.asc= -tutti.editSpeciesBatch.speciesSortMode.asc.tip= -tutti.editSpeciesBatch.speciesSortMode.desc= -tutti.editSpeciesBatch.speciesSortMode.desc.tip= -tutti.editSpeciesBatch.speciesSortMode.none= -tutti.editSpeciesBatch.speciesSortMode.none.tip= -tutti.editSpeciesBatch.split.weightNotNull.help= -tutti.editSpeciesBatch.split.weightNotNull.message= -tutti.editSpeciesBatch.split.weightNotNull.title= -tutti.editSpeciesBatch.table.header.comment= -tutti.editSpeciesBatch.table.header.comment.tip= -tutti.editSpeciesBatch.table.header.computedNumber= -tutti.editSpeciesBatch.table.header.computedNumber.tip= -tutti.editSpeciesBatch.table.header.file= -tutti.editSpeciesBatch.table.header.file.tip= -tutti.editSpeciesBatch.table.header.id= -tutti.editSpeciesBatch.table.header.id.tip= -tutti.editSpeciesBatch.table.header.species= -tutti.editSpeciesBatch.table.header.species.tip= -tutti.editSpeciesBatch.table.header.toConfirm.tip= -tutti.editSpeciesBatch.table.header.weight= -tutti.editSpeciesBatch.table.header.weight.tip= -tutti.editSpeciesBatch.title.changeSampleCategoryValue= -tutti.editSpeciesFrequencies.action.addLengthStepCaracteristic= -tutti.editSpeciesFrequencies.action.addLengthStepCaracteristic.mnemonic= -tutti.editSpeciesFrequencies.action.addLengthStepCaracteristic.tip= -tutti.editSpeciesFrequencies.action.cancel= -tutti.editSpeciesFrequencies.action.cancel.mnemonic= -tutti.editSpeciesFrequencies.action.cancel.tip= -tutti.editSpeciesFrequencies.action.exportMultiPostFull= -tutti.editSpeciesFrequencies.action.exportMultiPostFull.mnemonic= -tutti.editSpeciesFrequencies.action.exportMultiPostFull.tip= -tutti.editSpeciesFrequencies.action.exportMultiPostOnlyFrequencies= -tutti.editSpeciesFrequencies.action.exportMultiPostOnlyFrequencies.mnemonic= -tutti.editSpeciesFrequencies.action.exportMultiPostOnlyFrequencies.tip= -tutti.editSpeciesFrequencies.action.exportMultiPostOnlyIndividualObservations= -tutti.editSpeciesFrequencies.action.exportMultiPostOnlyIndividualObservations.mnemonic= -tutti.editSpeciesFrequencies.action.exportMultiPostOnlyIndividualObservations.tip= -tutti.editSpeciesFrequencies.action.generate= -tutti.editSpeciesFrequencies.action.generate.mnemonic= -tutti.editSpeciesFrequencies.action.generate.tip= -tutti.editSpeciesFrequencies.action.importMultiPostFull= -tutti.editSpeciesFrequencies.action.importMultiPostFull.mnemonic= -tutti.editSpeciesFrequencies.action.importMultiPostFull.tip= -tutti.editSpeciesFrequencies.action.importMultiPostOnlyFrequencies= -tutti.editSpeciesFrequencies.action.importMultiPostOnlyFrequencies.mnemonic= -tutti.editSpeciesFrequencies.action.importMultiPostOnlyFrequencies.tip= -tutti.editSpeciesFrequencies.action.importMultiPostOnlyIndividualObservations= -tutti.editSpeciesFrequencies.action.importMultiPostOnlyIndividualObservations.mnemonic= -tutti.editSpeciesFrequencies.action.importMultiPostOnlyIndividualObservations.tip= -tutti.editSpeciesFrequencies.action.removeObservation= -tutti.editSpeciesFrequencies.action.removeObservation.confirm.message= -tutti.editSpeciesFrequencies.action.removeObservation.mnemonic= -tutti.editSpeciesFrequencies.action.removeObservation.tip= -tutti.editSpeciesFrequencies.action.removeObservations.confirm.message= -tutti.editSpeciesFrequencies.action.removeObservations.confirm.title= -tutti.editSpeciesFrequencies.action.reset= -tutti.editSpeciesFrequencies.action.reset.mnemonic= -tutti.editSpeciesFrequencies.action.reset.tip= -tutti.editSpeciesFrequencies.action.saveAndClose= -tutti.editSpeciesFrequencies.action.saveAndClose.mnemonic= -tutti.editSpeciesFrequencies.action.saveAndClose.tip= -tutti.editSpeciesFrequencies.action.saveAndContinue= -tutti.editSpeciesFrequencies.action.saveAndContinue.mnemonic= -tutti.editSpeciesFrequencies.action.saveAndContinue.tip= -tutti.editSpeciesFrequencies.addMeasure= -tutti.editSpeciesFrequencies.askBeforeSave.help= -tutti.editSpeciesFrequencies.askBeforeSave.message= -tutti.editSpeciesFrequencies.askBeforeSave.title= -tutti.editSpeciesFrequencies.averageWeight.label= -tutti.editSpeciesFrequencies.changeCopyMode.confirm.help= -tutti.editSpeciesFrequencies.changeCopyMode.confirm.message= -tutti.editSpeciesFrequencies.changeCopyMode.confirm.title= -tutti.editSpeciesFrequencies.changeCopyRtpWeights.confirm.help= -tutti.editSpeciesFrequencies.changeCopyRtpWeights.confirm.message= -tutti.editSpeciesFrequencies.changeCopyRtpWeights.confirm.title= -tutti.editSpeciesFrequencies.error.itchyometer.bad.record= -tutti.editSpeciesFrequencies.error.length.doublon= -tutti.editSpeciesFrequencies.field.addIndividualObservationOnRafale= -tutti.editSpeciesFrequencies.field.addIndividualObservationOnRafale.tip= -tutti.editSpeciesFrequencies.field.copyRtpWeights= -tutti.editSpeciesFrequencies.field.copyRtpWeights.tip= -tutti.editSpeciesFrequencies.field.copyToSizeTableMode.all= -tutti.editSpeciesFrequencies.field.copyToSizeTableMode.all.mnemonic= -tutti.editSpeciesFrequencies.field.copyToSizeTableMode.all.tip= -tutti.editSpeciesFrequencies.field.copyToSizeTableMode.label= -tutti.editSpeciesFrequencies.field.copyToSizeTableMode.nothing= -tutti.editSpeciesFrequencies.field.copyToSizeTableMode.nothing.mnemonic= -tutti.editSpeciesFrequencies.field.copyToSizeTableMode.nothing.tip= -tutti.editSpeciesFrequencies.field.copyToSizeTableMode.size= -tutti.editSpeciesFrequencies.field.copyToSizeTableMode.size.mnemonic= -tutti.editSpeciesFrequencies.field.copyToSizeTableMode.size.tip= -tutti.editSpeciesFrequencies.field.frequencyMode.autoGen= -tutti.editSpeciesFrequencies.field.frequencyMode.autoGen.mnemonic= -tutti.editSpeciesFrequencies.field.frequencyMode.autoGen.tip= -tutti.editSpeciesFrequencies.field.frequencyMode.rafale= -tutti.editSpeciesFrequencies.field.frequencyMode.rafale.mnemonic= -tutti.editSpeciesFrequencies.field.frequencyMode.rafale.tip= -tutti.editSpeciesFrequencies.field.graphAverageWeight= -tutti.editSpeciesFrequencies.field.lengthStepCaracteristic= -tutti.editSpeciesFrequencies.field.lengthStepCaracteristic.tip= -tutti.editSpeciesFrequencies.field.maxStep= -tutti.editSpeciesFrequencies.field.maxStep.tip= -tutti.editSpeciesFrequencies.field.minStep= -tutti.editSpeciesFrequencies.field.minStep.tip= -tutti.editSpeciesFrequencies.field.mode.frequencyMode= -tutti.editSpeciesFrequencies.field.mode.frequencyMode.mnemonic= -tutti.editSpeciesFrequencies.field.mode.frequencyMode.tip= -tutti.editSpeciesFrequencies.field.mode.simpleCounting= -tutti.editSpeciesFrequencies.field.mode.simpleCounting.mnemonic= -tutti.editSpeciesFrequencies.field.mode.simpleCounting.tip= -tutti.editSpeciesFrequencies.field.rafaleStep= -tutti.editSpeciesFrequencies.field.rafaleStep.tip= -tutti.editSpeciesFrequencies.field.rows= -tutti.editSpeciesFrequencies.field.simpleCountingNumber= -tutti.editSpeciesFrequencies.field.simpleCountingNumber.tip= -tutti.editSpeciesFrequencies.field.simpleCountingWeight= -tutti.editSpeciesFrequencies.field.simpleCountingWeight.tip= -tutti.editSpeciesFrequencies.field.step= -tutti.editSpeciesFrequencies.field.step.tip= -tutti.editSpeciesFrequencies.field.totalNumber= -tutti.editSpeciesFrequencies.field.totalNumber.tip= -tutti.editSpeciesFrequencies.field.totalWeight= -tutti.editSpeciesFrequencies.field.totalWeight.tip= -tutti.editSpeciesFrequencies.frequenciesPanel= -tutti.editSpeciesFrequencies.individualObservationsPanel= -tutti.editSpeciesFrequencies.logTable.header.label= -tutti.editSpeciesFrequencies.logTable.removeRow.confirm.message= -tutti.editSpeciesFrequencies.logTable.removeRow.confirm.title= +tutti.editSpeciesBatch.action.importMultiPostOnlyIndividualObservations.sourceFile.title=Importer des lots d'espèces et des observations individuelles +tutti.editSpeciesBatch.action.importMultiPostOnlyIndividualObservations.success=Des lots d'espèces et observations individuelles ont été importés depuis le fichier %s +tutti.editSpeciesBatch.action.importMultiPostOnlyIndividualObservations.tip=Importer des lots d'espèces et des observations individuelles créés sur un poste satellite +tutti.editSpeciesBatch.action.importPsion=Import Psion +tutti.editSpeciesBatch.action.importPsion.existingData.help=Que voulez-vous faire ?<ul><li><strong>Annuler</strong> pour ne pas importer les données Pupitri et conserver les espèces saisies</li><li><strong>OK</strong> pour supprimer les espèces existantes et les remplacer par les données de Pupitri</li></ul> +tutti.editSpeciesBatch.action.importPsion.existingData.message=Des espèces ont déjà été saisies dans la capture. Si vous continuez, elles vont être écrasées. +tutti.editSpeciesBatch.action.importPsion.existingData.title=Données existantes +tutti.editSpeciesBatch.action.importPsion.invalidSampleCategoryModel.message=<html><body>Le modèle de catégorisation n'est pas compatible pour un import psion.<br> Il manque les catégories suivantes \: <ul>%s</ul><hr/>Veuillez ajouter cette catégorie dans la configuration de catégorisation (menu administration).</body></html> +tutti.editSpeciesBatch.action.importPsion.invalidSampleCategoryModel.title=Modèle de catégorisation non compatible +tutti.editSpeciesBatch.action.importPsion.mnemonic=m +tutti.editSpeciesBatch.action.importPsion.no.matching.data=Import psion non réalisé (des erreurs ont été détectées lors de la lecture du fichier) +tutti.editSpeciesBatch.action.importPsion.no.matching.fishingOperation=L'import Psion n'a pas été réalisé, des erreurs ont été détectées \:<ul>%s</ul><br/>Aucun lot n'a donc été importé. +tutti.editSpeciesBatch.action.importPsion.no.matching.fishingOperation.title=Import Psion +tutti.editSpeciesBatch.action.importPsion.success=Import Psion réussi \: %1s espèces importées (Vrac), %2s espèces importées (Hors-Vrac) +tutti.editSpeciesBatch.action.importPsion.tip=Import Psion +tutti.editSpeciesBatch.action.importPupitri=Import Pupitri +tutti.editSpeciesBatch.action.importPupitri.existingData.help=Que voulez-vous faire ?<ul><li><strong>Annuler</strong> pour ne pas importer les données Pupitri et conserver les espèces saisies</li><li><strong>OK</strong> pour supprimer les espèces existantes et les remplacer par les données de Pupitri</li></ul> +tutti.editSpeciesBatch.action.importPupitri.existingData.message=Des espèces ont déjà été saisies dans la capture. Si vous continuez, elles vont être écrasées. +tutti.editSpeciesBatch.action.importPupitri.existingData.title=Données existantes +tutti.editSpeciesBatch.action.importPupitri.invalidSampleCategoryModel.message=<html><body>Le modèle de catégorisation n'est pas compatible pour un import pupitri.<br> Il manque les catégories suivantes \: <ul>%s</ul><hr/>Veuillez ajouter cette catégorie dans la configuration de catégorisation (menu administration).</body></html> +tutti.editSpeciesBatch.action.importPupitri.invalidSampleCategoryModel.title=Modèle de catégorisation non compatible +tutti.editSpeciesBatch.action.importPupitri.mnemonic=u +tutti.editSpeciesBatch.action.importPupitri.no.matching.data=Import pupitri non réalisé (Les identifiants de Station et/ ou de Date du trait ne correspondent pas) +tutti.editSpeciesBatch.action.importPupitri.no.matching.fishingOperation=L'application n'a pas trouvé dans les fichiers Trunk et Carrousel les identifiants de Station et/ou de Date du trait en cours de saisie.<br/>Aucun lot n'a donc été importé. +tutti.editSpeciesBatch.action.importPupitri.no.matching.fishingOperation.title=Import Pupitri +tutti.editSpeciesBatch.action.importPupitri.showReport.message=L'import pupitri a été réalisé et un rapport a été généré.<br/>Ce rapport (<strong>%s</strong>) a été enregistré dans les pièces-jointes de la capture. +tutti.editSpeciesBatch.action.importPupitri.showReport.title=Consulter le rapport d'import Pupitri +tutti.editSpeciesBatch.action.importPupitri.speciesNotImported.message=%s espèces n'ont pas été importées lors de l'import Pupitri, en voici la liste \: <ul>%s</ul> +tutti.editSpeciesBatch.action.importPupitri.speciesNotImported.title=Import Pupitri (espèces non importées) +tutti.editSpeciesBatch.action.importPupitri.success=Import Pupitri réussi \: %1s espèces importées, %2s espèces rejetées +tutti.editSpeciesBatch.action.importPupitri.tip=Import Pupitri +tutti.editSpeciesBatch.action.removeBatch=Supprimer le lot +tutti.editSpeciesBatch.action.removeBatch.confirm.message=<html>Vous êtes sur le point de supprimer un lot d'espèces.<hr/>Êtes-vous sur de vouloir le supprimer ?</html> +tutti.editSpeciesBatch.action.removeBatch.confirm.title=Suppression de lots d'espèces +tutti.editSpeciesBatch.action.removeBatch.mnemonic=S +tutti.editSpeciesBatch.action.removeBatch.tip=Supprimer le lot courant (celui de la ligne sélectionnée) et tous ces fils +tutti.editSpeciesBatch.action.removeBatches=Supprimer les lots +tutti.editSpeciesBatch.action.removeBatches.confirm.message=<html>Vous êtes sur le point de supprimer %s lots d'espèces.<hr/>Êtes-vous sur de vouloir les supprimer ?</html> +tutti.editSpeciesBatch.action.removeBatches.tip=Supprimer les lot courants (ceux des lignes sélectionnées) et tous leurs fils +tutti.editSpeciesBatch.action.removeSubBatch=Supprimer les lots fils +tutti.editSpeciesBatch.action.removeSubBatch.confirm.message=<html>Vous êtes sur le point de supprimer les fils d'un lot d'espèces.<hr/>Êtes-vous sur de vouloir les supprimer ?</html> +tutti.editSpeciesBatch.action.removeSubBatch.confirm.title=Suppression des fils d'un lot d'espèces +tutti.editSpeciesBatch.action.removeSubBatch.mnemonic=f +tutti.editSpeciesBatch.action.removeSubBatch.tip=Supprimer tous les lots fils du lot sélectionné +tutti.editSpeciesBatch.action.renameBatch=Corriger l'espèce +tutti.editSpeciesBatch.action.renameBatch.mnemonic=o +tutti.editSpeciesBatch.action.renameBatch.tip=Corriger l'espèce +tutti.editSpeciesBatch.action.showReport=Consulter le rapport généré +tutti.editSpeciesBatch.action.splitBatch=Catégoriser le lot +tutti.editSpeciesBatch.action.splitBatch.mnemonic=C +tutti.editSpeciesBatch.action.splitBatch.tip=Catégoriser le lot courant (celui de la ligne sélectionné) +tutti.editSpeciesBatch.action.title.choose.importBigfinFile=Importer un fichier Bigfin +tutti.editSpeciesBatch.action.title.choose.importPsionFile=Importer un fichier Psion +tutti.editSpeciesBatch.error.sampleCategoryValue.notAvailable=La valeur %s de la catégorie %s est déjà utilisée +tutti.editSpeciesBatch.field.speciesTotalInertWeight=Poids inerte trié +tutti.editSpeciesBatch.field.speciesTotalInertWeight.tip=Poids de la fraction inerte restante après le tri des espèces (cailloux, vase, débris coquilliers, etc.) +tutti.editSpeciesBatch.field.speciesTotalLivingNotItemizedWeight=Poids vivant non détaillé trié +tutti.editSpeciesBatch.field.speciesTotalLivingNotItemizedWeight.tip=Poids de la fraction vivante restante après le tri des espèces (algues, matières vivantes non reconnaissable, etc.) +tutti.editSpeciesBatch.field.speciesTotalSampleSortedWeight=Poids Vrac observé +tutti.editSpeciesBatch.field.speciesTotalSampleSortedWeight.tip=Poids total des espèces triées (poissons, crustacés etc.) +tutti.editSpeciesBatch.field.speciesTotalSortedWeight=Poids espèces isolées +tutti.editSpeciesBatch.field.speciesTotalSortedWeight.tip=Poids total VRAC des espèces dans la capture (poissons, crustacés etc.) +tutti.editSpeciesBatch.field.speciesTotalUnsortedWeight=Poids Hors Vrac observé +tutti.editSpeciesBatch.field.speciesTotalUnsortedWeight.tip=Poids total HORS VRAC observé des espèces dans la capture (sans les captures accidentelles) +tutti.editSpeciesBatch.field.speciesTotalWeight=Poids total espèces +tutti.editSpeciesBatch.field.speciesTotalWeight.tip=Poids total des espèces dans la capture (poissons, crustacés etc.) +tutti.editSpeciesBatch.filterBatch=Filtre +tutti.editSpeciesBatch.filterBatch.mode.all=Aucun +tutti.editSpeciesBatch.filterBatch.mode.all.tip=Pas de filtre (tous les lots sont visibles) +tutti.editSpeciesBatch.filterBatch.mode.leaf=Feuilles +tutti.editSpeciesBatch.filterBatch.mode.leaf.tip=Voir uniquement les lots *feuilles* +tutti.editSpeciesBatch.filterBatch.mode.root=Parents (%s) +tutti.editSpeciesBatch.filterBatch.mode.root.tip=Voir uniquement les lots *parents* +tutti.editSpeciesBatch.filterSpeciesBatch.tip=Pour filtrer les lots +tutti.editSpeciesBatch.sortSpeciesBatch=Tri +tutti.editSpeciesBatch.sortSpeciesBatch.tip=Trier les lignes selon les espèces +tutti.editSpeciesBatch.speciesSortMode.asc=Ascendant +tutti.editSpeciesBatch.speciesSortMode.asc.tip=Utiliser l'ordre ascendant +tutti.editSpeciesBatch.speciesSortMode.desc=Descendant +tutti.editSpeciesBatch.speciesSortMode.desc.tip=Utiliser l'ordre descendant +tutti.editSpeciesBatch.speciesSortMode.none=Saisie +tutti.editSpeciesBatch.speciesSortMode.none.tip=Utiliser l'ordre de saisie +tutti.editSpeciesBatch.split.weightNotNull.help=Que voulez-vous faire ? <ul><li><strong>Annuler</strong> pour ne pas catégoriser le lot et garder le poids sous-échantilloné</li><li><strong>OK</strong> pour catégoriser le lot et supprimer le poids sous-échantillonné</li></ul>. +tutti.editSpeciesBatch.split.weightNotNull.message=Pour catégoriser un lot, il ne doit pas avoir de poids sous-échantillonné +tutti.editSpeciesBatch.split.weightNotNull.title=Poids sous-échantillonné non nul +tutti.editSpeciesBatch.table.header.comment=Commentaire +tutti.editSpeciesBatch.table.header.comment.tip=Commentaire sur la ligne +tutti.editSpeciesBatch.table.header.computedNumber=Tailles/Poids ou Nombre +tutti.editSpeciesBatch.table.header.computedNumber.tip=Tailles/Poids ou Nombre d'individus dans le lot +tutti.editSpeciesBatch.table.header.file=Pièces jointes +tutti.editSpeciesBatch.table.header.file.tip=Pièces jointes associées à la ligne +tutti.editSpeciesBatch.table.header.id=Id +tutti.editSpeciesBatch.table.header.id.tip=Identifiant du lot +tutti.editSpeciesBatch.table.header.species=Espèce +tutti.editSpeciesBatch.table.header.species.tip=Code campagne ou code Rubin – Nom scientifique +tutti.editSpeciesBatch.table.header.toConfirm.tip=Case à cocher pour marquer le lot +tutti.editSpeciesBatch.table.header.weight=Poids sous-échantillonné +tutti.editSpeciesBatch.table.header.weight.tip=Poids du lot mesuré ou dénombré +tutti.editSpeciesBatch.title.changeSampleCategoryValue=Changer la valeur de la catégorie %s +tutti.editSpeciesFrequencies.action.addLengthStepCaracteristic=... +tutti.editSpeciesFrequencies.action.addLengthStepCaracteristic.mnemonic=. +tutti.editSpeciesFrequencies.action.addLengthStepCaracteristic.tip=Sélectionner une autre caractéristique +tutti.editSpeciesFrequencies.action.cancel=Annuler +tutti.editSpeciesFrequencies.action.cancel.mnemonic=A +tutti.editSpeciesFrequencies.action.cancel.tip=Annuler l'édition des mensurations +tutti.editSpeciesFrequencies.action.exportMultiPostFull=Mensurations et observations individuelles +tutti.editSpeciesFrequencies.action.exportMultiPostFull.mnemonic=e +tutti.editSpeciesFrequencies.action.exportMultiPostFull.tip=Exporter les mensurations et observations individuelles du lot pour les importer sur le poste maître +tutti.editSpeciesFrequencies.action.exportMultiPostOnlyFrequencies=Mensurations +tutti.editSpeciesFrequencies.action.exportMultiPostOnlyFrequencies.mnemonic=M +tutti.editSpeciesFrequencies.action.exportMultiPostOnlyFrequencies.tip=Exporter les mensurations du lot pour les importer sur le poste maître +tutti.editSpeciesFrequencies.action.exportMultiPostOnlyIndividualObservations=Observations individuelles +tutti.editSpeciesFrequencies.action.exportMultiPostOnlyIndividualObservations.mnemonic=O +tutti.editSpeciesFrequencies.action.exportMultiPostOnlyIndividualObservations.tip=Exporter les observations individuelles du lot pour les importer sur le poste maître +tutti.editSpeciesFrequencies.action.generate=Générer +tutti.editSpeciesFrequencies.action.generate.mnemonic=G +tutti.editSpeciesFrequencies.action.generate.tip=Générer les mensurations +tutti.editSpeciesFrequencies.action.importMultiPostFull=Mensurations et observations individuelles +tutti.editSpeciesFrequencies.action.importMultiPostFull.mnemonic=e +tutti.editSpeciesFrequencies.action.importMultiPostFull.tip=Importer les mensurations et observations individuelles du lot créés sur un poste satellite +tutti.editSpeciesFrequencies.action.importMultiPostOnlyFrequencies=Mensurations +tutti.editSpeciesFrequencies.action.importMultiPostOnlyFrequencies.mnemonic=M +tutti.editSpeciesFrequencies.action.importMultiPostOnlyFrequencies.tip=Importer les mensurations du lot créés sur un poste satellite +tutti.editSpeciesFrequencies.action.importMultiPostOnlyIndividualObservations=Observations individuelles +tutti.editSpeciesFrequencies.action.importMultiPostOnlyIndividualObservations.mnemonic=O +tutti.editSpeciesFrequencies.action.importMultiPostOnlyIndividualObservations.tip=Importer les observations individuelles du lot créés sur un poste satellite +tutti.editSpeciesFrequencies.action.removeObservation=Supprimer +tutti.editSpeciesFrequencies.action.removeObservation.confirm.message=<html>Vous êtes sur le point de supprimer l'observation sélectionnée.<hr/>Êtes-vous sur de vouloir la supprimer ?</html> +tutti.editSpeciesFrequencies.action.removeObservation.mnemonic=S +tutti.editSpeciesFrequencies.action.removeObservation.tip=Supprimer les lignes sélectionnées +tutti.editSpeciesFrequencies.action.removeObservations.confirm.message=<html>Vous êtes sur le point de supprimer les %s observations sélectionnées.<hr/>Êtes-vous sur de vouloir les supprimer ?</html> +tutti.editSpeciesFrequencies.action.removeObservations.confirm.title=Suppression d'observations individuelles +tutti.editSpeciesFrequencies.action.reset=Réinitialiser +tutti.editSpeciesFrequencies.action.reset.mnemonic=R +tutti.editSpeciesFrequencies.action.reset.tip=Supprimer toutes les mensurations saisies +tutti.editSpeciesFrequencies.action.saveAndClose=Enregistrer et Fermer +tutti.editSpeciesFrequencies.action.saveAndClose.mnemonic=F +tutti.editSpeciesFrequencies.action.saveAndClose.tip=Enregistrer les mensurations +tutti.editSpeciesFrequencies.action.saveAndContinue=Enregistrer et Continuer +tutti.editSpeciesFrequencies.action.saveAndContinue.mnemonic=C +tutti.editSpeciesFrequencies.action.saveAndContinue.tip=Enregistrer les mensurations et saisir les mensurations pour le lot suivant +tutti.editSpeciesFrequencies.addMeasure=Ajout d'un individu de taille <strong>%1$s</strong>%3$s (classe de taille <strong>%2$s</strong>%3$s) +tutti.editSpeciesFrequencies.askBeforeSave.help=Que voulez-vous faire?<ul><li><strong>Non</strong> pour rester sur cet écran</li><li><strong>Oui</strong> pour enregisrer les mensurations avec poids</li></ul> +tutti.editSpeciesFrequencies.askBeforeSave.message=La saisie comporte des classes de taille avec et sans poids associés.<br/><strong>Seules les classes de taille avec poids seront dans ce cas sauvegardées.</strong> +tutti.editSpeciesFrequencies.askBeforeSave.title=Confirmer l'enregistrement des mensurations +tutti.editSpeciesFrequencies.averageWeight.label=Poids moyen +tutti.editSpeciesFrequencies.changeCopyMode.confirm.help=Que voulez-vous faire ?<ul><li><strong>Annuler</strong> pour ne pas changer de mode de copie</li><li><strong>OK</strong> pour changer de mode de copie et supprimer les données saisies</li></ul> +tutti.editSpeciesFrequencies.changeCopyMode.confirm.message=Vous êtes sur le point de changer de mode de copie alors que des données ont été saisies dans les mensurations.<br/>Si vous changez de mode, les données vont être supprimées. +tutti.editSpeciesFrequencies.changeCopyMode.confirm.title=Changement de mode de copie +tutti.editSpeciesFrequencies.changeCopyRtpWeights.confirm.help=Que voulez-vous faire ?<ul><li><strong>Annuler</strong> pour ne pas copier les poids calculés via les RTP</li><li><strong>OK</strong> pour copier les poids calculés via les RTP et supprimer les données saisies</li></ul> +tutti.editSpeciesFrequencies.changeCopyRtpWeights.confirm.message=Vous êtes sur le point de remplacer les poids saisis par les poids calculés via les RTP.<br/>Si vous les remplacez, les données saisies seront perdues. +tutti.editSpeciesFrequencies.changeCopyRtpWeights.confirm.title=Copier les poids calculés via les RTP +tutti.editSpeciesFrequencies.error.itchyometer.bad.record=La mesure provenant de l'ichtyomètre n'est pas valide (la donnée est peut-être corrompue) \:<br/><ul><li>Enregistrement \: <strong>%s</strong></li><li>CRC \: <strong>%s</strong></li><li>CRC calculé \: <strong>%s</strong></li></ul> +tutti.editSpeciesFrequencies.error.length.doublon=La classe de taille <strong>%s</strong> est utilisée plusieurs fois (deuxième occurrence trouvée à la ligne <strong>%s</strong>), ce qui n'est pas autorisé.<hr/>Veuillez corriger cela pour pouvoir enregistrer les mensurations. +tutti.editSpeciesFrequencies.field.addIndividualObservationOnRafale=Ajouter aux observations individuelles +tutti.editSpeciesFrequencies.field.addIndividualObservationOnRafale.tip=Ajouter une ligne d'observation individuelle avec la taille saisie +tutti.editSpeciesFrequencies.field.copyRtpWeights=Recopie des poids via RTP +tutti.editSpeciesFrequencies.field.copyRtpWeights.tip=Recopie des poids via RTP +tutti.editSpeciesFrequencies.field.copyToSizeTableMode.all=Tout +tutti.editSpeciesFrequencies.field.copyToSizeTableMode.all.mnemonic=T +tutti.editSpeciesFrequencies.field.copyToSizeTableMode.all.tip=Tout recopier (tailles et poids) +tutti.editSpeciesFrequencies.field.copyToSizeTableMode.label=Recopier \: +tutti.editSpeciesFrequencies.field.copyToSizeTableMode.nothing=Rien +tutti.editSpeciesFrequencies.field.copyToSizeTableMode.nothing.mnemonic=R +tutti.editSpeciesFrequencies.field.copyToSizeTableMode.nothing.tip=Ne rien recopier +tutti.editSpeciesFrequencies.field.copyToSizeTableMode.size=Seulement les tailles +tutti.editSpeciesFrequencies.field.copyToSizeTableMode.size.mnemonic=T +tutti.editSpeciesFrequencies.field.copyToSizeTableMode.size.tip=Ne recopier que les tailles, pas les poids +tutti.editSpeciesFrequencies.field.frequencyMode.autoGen=Génération des classes +tutti.editSpeciesFrequencies.field.frequencyMode.autoGen.mnemonic=G +tutti.editSpeciesFrequencies.field.frequencyMode.autoGen.tip=\=Mode où toutes les classes de taille sont générées +tutti.editSpeciesFrequencies.field.frequencyMode.rafale=Mode "rafale" +tutti.editSpeciesFrequencies.field.frequencyMode.rafale.mnemonic=l +tutti.editSpeciesFrequencies.field.frequencyMode.rafale.tip=Mode où on ne saisit uniquement la classe de taille (les nombres seront alors incrémentés...) +tutti.editSpeciesFrequencies.field.graphAverageWeight=Poids moyens +tutti.editSpeciesFrequencies.field.lengthStepCaracteristic=Type de mesure +tutti.editSpeciesFrequencies.field.lengthStepCaracteristic.tip=Méthode de mensuration des individus +tutti.editSpeciesFrequencies.field.maxStep=Classe max +tutti.editSpeciesFrequencies.field.maxStep.tip=Taille maximale mesurée +tutti.editSpeciesFrequencies.field.minStep=Classe min +tutti.editSpeciesFrequencies.field.minStep.tip=Taille minimale mesurée +tutti.editSpeciesFrequencies.field.mode.frequencyMode=Mensuration +tutti.editSpeciesFrequencies.field.mode.frequencyMode.mnemonic=M +tutti.editSpeciesFrequencies.field.mode.frequencyMode.tip=Mode par défaut si la classe de taille est renseignée dans le protocole. +tutti.editSpeciesFrequencies.field.mode.simpleCounting=Mode simple dénombrement +tutti.editSpeciesFrequencies.field.mode.simpleCounting.mnemonic=b +tutti.editSpeciesFrequencies.field.mode.simpleCounting.tip=Mode par défaut si la classe de taille n'est pas renseignée dans le protocole. +tutti.editSpeciesFrequencies.field.rafaleStep=Classe de taille à incrémenter +tutti.editSpeciesFrequencies.field.rafaleStep.tip=Saisir à la suite les différentes tailles mesurées +tutti.editSpeciesFrequencies.field.rows=Classes de taille +tutti.editSpeciesFrequencies.field.simpleCountingNumber=Nombre +tutti.editSpeciesFrequencies.field.simpleCountingNumber.tip=Saisir le nombre d'individus dans le lot +tutti.editSpeciesFrequencies.field.simpleCountingWeight=Poids du sous-échantillon +tutti.editSpeciesFrequencies.field.simpleCountingWeight.tip=Poids du sous-échantillon du lot +tutti.editSpeciesFrequencies.field.step=Pas de la classe de taille +tutti.editSpeciesFrequencies.field.step.tip=Pas de la classe de taille pour cette espèce (ex. \: 1 cm, 0,5 cm, 1 mm etc.) +tutti.editSpeciesFrequencies.field.totalNumber=Nombre total +tutti.editSpeciesFrequencies.field.totalNumber.tip=Nombre total d'individus des lignes valides +tutti.editSpeciesFrequencies.field.totalWeight=Poids total +tutti.editSpeciesFrequencies.field.totalWeight.tip=Poids total des lignes valides +tutti.editSpeciesFrequencies.field.useRtp=Utiliser les RTP +tutti.editSpeciesFrequencies.field.useRtp.tip=Utiliser les RTP +tutti.editSpeciesFrequencies.frequenciesPanel=Mensurations +tutti.editSpeciesFrequencies.individualObservationsPanel=Observations individuelles +tutti.editSpeciesFrequencies.label.no.configuration=< Pas de configuration > +tutti.editSpeciesFrequencies.logTable.header.label=Logs +tutti.editSpeciesFrequencies.logTable.removeRow.confirm.message=Êtes-vous sûr de vouloir supprimer la mesure %s ? +tutti.editSpeciesFrequencies.logTable.removeRow.confirm.title=Suppression d'une mesure tutti.editSpeciesFrequencies.samplingNeeded.immature= tutti.editSpeciesFrequencies.samplingNeeded.mature= -tutti.editSpeciesFrequencies.samplingNeeded.max= -tutti.editSpeciesFrequencies.samplingNeeded.resume= -tutti.editSpeciesFrequencies.samplingNeeded.warning= -tutti.editSpeciesFrequencies.simpleCountingAndFrequencies= -tutti.editSpeciesFrequencies.table.header.lengthStep= -tutti.editSpeciesFrequencies.table.header.number= -tutti.editSpeciesFrequencies.table.header.rtpComputedWeight= -tutti.editSpeciesFrequencies.table.header.weight= -tutti.editSpeciesFrequencies.title= -tutti.editSpeciesFrequencies.title.addLengthStepCaracteristic= -tutti.editSpeciesFrequencies.unkownStepUnit= -tutti.editSpeciesFrequency.action.exportMultiPostFull.destinationFile.button= -tutti.editSpeciesFrequency.action.exportMultiPostFull.destinationFile.title= -tutti.editSpeciesFrequency.action.exportMultiPostFull.success= -tutti.editSpeciesFrequency.action.exportMultiPostOnlyFrequencies.destinationFile.button= -tutti.editSpeciesFrequency.action.exportMultiPostOnlyFrequencies.destinationFile.title= -tutti.editSpeciesFrequency.action.exportMultiPostOnlyFrequencies.success= -tutti.editSpeciesFrequency.action.exportMultiPostOnlyIndividualObservations.destinationFile.button= -tutti.editSpeciesFrequency.action.exportMultiPostOnlyIndividualObservations.destinationFile.title= -tutti.editSpeciesFrequency.action.exportMultiPostOnlyIndividualObservations.success= -tutti.editSpeciesFrequency.action.importMultiPostFull.sourceFile.button= -tutti.editSpeciesFrequency.action.importMultiPostFull.sourceFile.title= -tutti.editSpeciesFrequency.action.importMultiPostFull.success= -tutti.editSpeciesFrequency.action.importMultiPostOnlyFrequencies.sourceFile.button= -tutti.editSpeciesFrequency.action.importMultiPostOnlyFrequencies.sourceFile.title= -tutti.editSpeciesFrequency.action.importMultiPostOnlyFrequencies.success= -tutti.editSpeciesFrequency.action.importMultiPostOnlyIndividualObservations.sourceFile.button= -tutti.editSpeciesFrequency.action.importMultiPostOnlyIndividualObservations.sourceFile.title= -tutti.editSpeciesFrequency.action.importMultiPostOnlyIndividualObservations.success= -tutti.error.application.already.started= -tutti.error.delete.startActionFile= -tutti.error.read.startActionFile= -tutti.error.update.bad.url.syntax= -tutti.error.update.could.not.found.url= -tutti.error.update.could.not.reach.url= -tutti.error.write.startActionFile= -tutti.exportCruise.action.exportErrors= -tutti.exportCruiseCsv.action.chooseFile= -tutti.exportCruiseCsv.action.success= -tutti.exportCruiseCsv.message.badBenthos= -tutti.exportCruiseCsv.message.badSpecies= -tutti.exportCruiseCsv.message.missing.protocol= -tutti.exportCruiseCsv.title.badBenthos= -tutti.exportCruiseCsv.title.badSpecies= -tutti.exportCruiseCsv.title.choose.exportFile= -tutti.exportCruiseCsv.title.missing.protocol= -tutti.exportDb.step.closeDb= -tutti.exportDb.step.createArchive= -tutti.exportDb.step.openDb= -tutti.exportDb.step.reloadApplication= -tutti.exportFishingOperationCsv.action.chooseFile= -tutti.exportFishingOperationCsv.action.success= -tutti.exportFishingOperationCsv.message.badBenthos= -tutti.exportFishingOperationCsv.message.badSpecies= -tutti.exportFishingOperationCsv.message.missing.protocol= -tutti.exportFishingOperationCsv.message.model.modified= -tutti.exportFishingOperationCsv.title.badBenthos= -tutti.exportFishingOperationCsv.title.badSpecies= -tutti.exportFishingOperationCsv.title.choose.exportFile= -tutti.exportFishingOperationCsv.title.missing.protocol= -tutti.exportFishingOperationCsv.title.model.modified= -tutti.exportFishingOperationReport.action.chooseFile= -tutti.exportFishingOperationReport.action.success= -tutti.exportFishingOperationReport.message.model.modified= -tutti.exportFishingOperationReport.title.choose.exportFile= -tutti.exportFishingOperationReport.title.model.modified= -tutti.exportProtocol.action.success= -tutti.exportSampleCategoryModel.action.chooseSampleCategoryModelFile.export= -tutti.exportSampleCategoryModel.action.export.success= -tutti.exportSampleCategoryModel.title.choose.exportSampleCategoryModelFile= -tutti.fishingOperations.action.deleteFishingOperation.tip= -tutti.fishingOperations.action.newFishingOperation.mnemonic= -tutti.fishingOperations.action.newFishingOperation.tip= -tutti.fishingOperations.info.no.fishingOperation.selected= -tutti.fishingOperations.title.edit.operations= -tutti.fishingOperations.title.validate.operations= -tutti.fishingOperations.warn.catchBatch.invalidSampleCategoryModel= -tutti.fishingOperations.warn.catchBatch.notFound= -tutti.fishingOperations.warn.invalid.batch= -tutti.flash.info.all.caractristic.exported= -tutti.flash.info.benthos.add.to.protocol= -tutti.flash.info.benthos.imported.in.protocol= -tutti.flash.info.benthos.imported.in.protocol.oneReplaced= -tutti.flash.info.benthos.imported.in.protocol.severalReplaced= -tutti.flash.info.benthos.remove.from.protocol= -tutti.flash.info.benthos.replaced= -tutti.flash.info.caracteristic.add.to.protocol= -tutti.flash.info.caracteristic.imported.in.protocol= -tutti.flash.info.caracteristicMapping.remove.from.protocol= -tutti.flash.info.caractristic.exported.from.protocol= -tutti.flash.info.cps.exported.from.protocol= -tutti.flash.info.cps.imported.in.protocol= -tutti.flash.info.cruiseCreated= -tutti.flash.info.cruiseSaved= -tutti.flash.info.db.closed= -tutti.flash.info.db.exported= -tutti.flash.info.db.exported.and.clean= -tutti.flash.info.db.imported= -tutti.flash.info.db.imported.but.closed= -tutti.flash.info.db.not.opened= -tutti.flash.info.db.opened= -tutti.flash.info.db.schema.updated= -tutti.flash.info.programCreated= -tutti.flash.info.programSaved= -tutti.flash.info.protocolCreated= -tutti.flash.info.protocolSaved= -tutti.flash.info.species.add.to.protocol= -tutti.flash.info.species.exported.from.protocol= -tutti.flash.info.species.imported.in.protocol= -tutti.flash.info.species.imported.in.protocol.oneReplaced= -tutti.flash.info.species.imported.in.protocol.severalReplaced= -tutti.flash.info.species.remove.from.protocol= -tutti.flash.info.species.replaced= -tutti.gear.noCaracteristics= -tutti.gear.withCaracteristics= -tutti.gearCaracteristicsEditorTable.table.header.key= -tutti.gearCaracteristicsEditorTable.table.header.value= -tutti.gearUseFeatureTable.action.removeCaracteristic= -tutti.gearUseFeatureTable.action.removeCaracteristic.mnemonic= -tutti.gearUseFeatureTable.action.removeCaracteristic.tip= -tutti.gearUseFeatureTable.table.header.key= -tutti.gearUseFeatureTable.table.header.value= -tutti.gearUseFeatureTable.title= -tutti.generateReport.action.computeNbSteps= -tutti.genericFormat.action.chooseDbBackupFile= -tutti.genericFormat.action.chooseExportFile= -tutti.genericFormat.action.chooseImportReportFile= -tutti.genericFormat.action.chooseValidateReportFile= -tutti.genericFormat.export.action.success= -tutti.genericFormat.import.error= -tutti.genericFormat.import.error.tip= -tutti.genericFormat.import.success= -tutti.genericFormat.import.success.tip= -tutti.genericFormat.importReportFile.saved= -tutti.genericFormat.title.choose.dbBackupFile= -tutti.genericFormat.title.choose.exportFile= -tutti.genericFormat.title.choose.saveImportReportfile= -tutti.genericFormat.title.choose.saveValidateReportfile= -tutti.genericFormat.validate.error= -tutti.genericFormat.validate.error.tip= -tutti.genericFormat.validate.success= -tutti.genericFormat.validate.success.tip= -tutti.genericFormat.validateReportFile.saved= -tutti.genericFormatExport.action.closeGenericFormatExport= -tutti.genericFormatExport.action.closeGenericFormatExport.mnemonic= -tutti.genericFormatExport.action.closeGenericFormatExport.tip= -tutti.genericFormatExport.action.export= -tutti.genericFormatExport.action.export.mnemonic= -tutti.genericFormatExport.action.export.tip= -tutti.genericFormatExport.action.foldAll.tip= -tutti.genericFormatExport.action.selectAll.tip= -tutti.genericFormatExport.action.unfoldAll.tip= -tutti.genericFormatExport.action.unselectAll.tip= -tutti.genericFormatExport.exportOptions.legend= -tutti.genericFormatExport.field.exportAccidentalCatch= -tutti.genericFormatExport.field.exportAccidentalCatch.tip= -tutti.genericFormatExport.field.exportAttachments= -tutti.genericFormatExport.field.exportAttachments.tip= -tutti.genericFormatExport.field.exportBenthos= -tutti.genericFormatExport.field.exportBenthos.tip= -tutti.genericFormatExport.field.exportIndividualObservation= -tutti.genericFormatExport.field.exportIndividualObservation.tip= -tutti.genericFormatExport.field.exportMarineLitter= -tutti.genericFormatExport.field.exportMarineLitter.tip= -tutti.genericFormatExport.field.exportSpecies= -tutti.genericFormatExport.field.exportSpecies.tip= -tutti.genericFormatExport.field.program= -tutti.genericFormatExport.field.program.tip= -tutti.genericFormatExport.selectData.legend= -tutti.genericFormatExport.title= -tutti.genericFormatImport.action.closeGenericFormatImport= -tutti.genericFormatImport.action.closeGenericFormatImport.mnemonic= -tutti.genericFormatImport.action.closeGenericFormatImport.tip= -tutti.genericFormatImport.action.foldAll.tip= -tutti.genericFormatImport.action.import= -tutti.genericFormatImport.action.import.mnemonic= -tutti.genericFormatImport.action.import.tip= -tutti.genericFormatImport.action.openImportReport.tip= -tutti.genericFormatImport.action.openValidateReport.tip= -tutti.genericFormatImport.action.saveImportReport.tip= -tutti.genericFormatImport.action.saveValidateReport.tip= -tutti.genericFormatImport.action.selectAll.tip= -tutti.genericFormatImport.action.unfoldAll.tip= -tutti.genericFormatImport.action.unselectAll.tip= -tutti.genericFormatImport.action.validate= -tutti.genericFormatImport.action.validate.mnemonic= -tutti.genericFormatImport.action.validate.tip= -tutti.genericFormatImport.field.authorizeObsoleteReferentials= -tutti.genericFormatImport.field.authorizeObsoleteReferentials.tip= -tutti.genericFormatImport.field.checkWeights= -tutti.genericFormatImport.field.checkWeights.tip= -tutti.genericFormatImport.field.cleanWeights= -tutti.genericFormatImport.field.cleanWeights.tip= -tutti.genericFormatImport.field.importAccidentalCatch= -tutti.genericFormatImport.field.importAccidentalCatch.tip= -tutti.genericFormatImport.field.importAttachments= -tutti.genericFormatImport.field.importAttachments.tip= -tutti.genericFormatImport.field.importBenthos= -tutti.genericFormatImport.field.importBenthos.tip= -tutti.genericFormatImport.field.importFile= -tutti.genericFormatImport.field.importFile.tip= -tutti.genericFormatImport.field.importIndividualObservation= -tutti.genericFormatImport.field.importIndividualObservation.tip= -tutti.genericFormatImport.field.importMarineLitter= -tutti.genericFormatImport.field.importMarineLitter.tip= -tutti.genericFormatImport.field.importSpecies= -tutti.genericFormatImport.field.importSpecies.tip= -tutti.genericFormatImport.field.program= -tutti.genericFormatImport.field.program.tip= -tutti.genericFormatImport.field.updateCruises= -tutti.genericFormatImport.field.updateCruises.tip= -tutti.genericFormatImport.field.updateOperations= -tutti.genericFormatImport.field.updateOperations.tip= -tutti.genericFormatImport.import.legend= -tutti.genericFormatImport.importFile.extension= -tutti.genericFormatImport.importFile.extension.description= -tutti.genericFormatImport.importOptions.legend= -tutti.genericFormatImport.selectData.legend= -tutti.genericFormatImport.step.backupDb= -tutti.genericFormatImport.step.closeDb= -tutti.genericFormatImport.step.reopenDb= -tutti.genericFormatImport.title= -tutti.genericFormatImport.validateImport.legend= -tutti.genericformat.export.cruiseNode= -tutti.genericformat.export.cruiseNode.fullSelected= -tutti.genericformat.export.cruiseNode.partialSelected= -tutti.genericformat.export.operationNode= -tutti.genericformat.export.operationNode.selected= -tutti.genericformat.import.cruiseNode= -tutti.genericformat.import.cruiseNode.fullSelected= -tutti.genericformat.import.cruiseNode.partialSelected= -tutti.genericformat.import.operationNode= -tutti.genericformat.import.operationNode.selected= -tutti.genericformat.overrideData.conflict.help= -tutti.genericformat.overrideData.conflict.message= -tutti.genericformat.overrideData.conflict.title= -tutti.genericformat.protocol.action.add= -tutti.genericformat.protocol.action.cancel= -tutti.genericformat.protocol.action.override= -tutti.genericformat.protocolName.conflict.help= -tutti.genericformat.protocolName.conflict.message= -tutti.genericformat.protocolName.conflict.title= -tutti.help.mkDir.error= -tutti.i18n.deleteCache.error= -tutti.i18n.mkDir.error= -tutti.ichtyometer.choose.remote.device.found= -tutti.ichtyometer.connection.establish= -tutti.ichtyometer.connection.establish.message= -tutti.ichtyometer.connection.establish.title= -tutti.ichtyometer.connection.stop= -tutti.ichtyometer.error.no.local.device= -tutti.ichtyometer.error.no.remote.device= -tutti.ichtyometer.error.no.remote.device.service= -tutti.ichtyometer.status.connected.tip= -tutti.ichtyometer.status.not.connected.tip= -tutti.ichtyometer.title.choose.remote.device= -tutti.importDb.step.check.dbContext= -tutti.importDb.step.checkSchemaVersion= -tutti.importDb.step.closeDb= -tutti.importDb.step.openDb= -tutti.importDb.step.unzipArchive= -tutti.importDb.step.will.migrateSchema= -tutti.importProtocol.action.success= -tutti.importPupitri.carrouselFile.extension= -tutti.importPupitri.carrouselFile.extension.description= -tutti.importPupitri.error.fileMissing.message= -tutti.importPupitri.error.fileMissing.title= -tutti.importPupitri.field.carrouselFile= -tutti.importPupitri.field.trunkFile= -tutti.importPupitri.importMissingBatches= -tutti.importPupitri.importMissingBatches.mnemonic= -tutti.importPupitri.importMissingBatches.tip= -tutti.importPupitri.melagWeight.field= -tutti.importPupitri.melagWeight.message= -tutti.importPupitri.melagWeight.title= -tutti.importPupitri.title= -tutti.importPupitri.trunkFile.extension= -tutti.importPupitri.trunkFile.extension.description= -tutti.io.error.copyFile= -tutti.label.tab.accidental= -tutti.label.tab.benthos= -tutti.label.tab.catches= -tutti.label.tab.catchesCaracteristics= -tutti.label.tab.fishingOperation= -tutti.label.tab.marineLitter= -tutti.label.tab.species= -tutti.login.field.login= -tutti.login.field.password= -tutti.login.infoMmessage= -tutti.login.title= -tutti.main.action.about= -tutti.main.action.about.mnemonic= -tutti.main.action.about.tip= -tutti.main.action.changeLocale.mnemonic= -tutti.main.action.changeLocale.tip= -tutti.main.action.changeLocaleFR= -tutti.main.action.changeLocaleFR.mnemonic= -tutti.main.action.changeLocaleFR.tip= -tutti.main.action.changeLocaleUK= -tutti.main.action.changeLocaleUK.mnemonic= -tutti.main.action.changeLocaleUK.tip= -tutti.main.action.configuration= -tutti.main.action.configuration.mnemonic= -tutti.main.action.configuration.tip= -tutti.main.action.connectIchtyometer= -tutti.main.action.connectIchtyometer.mnemonic= -tutti.main.action.connectIchtyometer.tip= -tutti.main.action.disconnectIchtyometer= -tutti.main.action.disconnectIchtyometer.mnemonic= -tutti.main.action.disconnectIchtyometer.tip= -tutti.main.action.editCatches= -tutti.main.action.editCatches.mnemonic= -tutti.main.action.editCatches.tip= -tutti.main.action.editProgram.tip= -tutti.main.action.editSampleCategoryModel= -tutti.main.action.editSampleCategoryModel.mnemonic= -tutti.main.action.editSampleCategoryModel.tip= -tutti.main.action.editSelectedCruise= -tutti.main.action.editSelectedCruise.mnemonic= -tutti.main.action.editSelectedCruise.tip= -tutti.main.action.editSelectedProgram= -tutti.main.action.editSelectedProgram.mnemonic= -tutti.main.action.editSelectedProtocol= -tutti.main.action.editSelectedProtocol.mnemonic= -tutti.main.action.editSelectedProtocol.tip= -tutti.main.action.exit= -tutti.main.action.exit.mnemonic= -tutti.main.action.exit.tip= -tutti.main.action.generateSelectedCruiseReport= -tutti.main.action.generateSelectedCruiseReport.mnemonic= -tutti.main.action.generateSelectedCruiseReport.tip= -tutti.main.action.genericFormatExport= -tutti.main.action.genericFormatExport.mnemonic= -tutti.main.action.genericFormatExport.tip= -tutti.main.action.genericFormatImport= -tutti.main.action.genericFormatImport.mnemonic= -tutti.main.action.genericFormatImport.tip= -tutti.main.action.goto.previousScreen.tip= -tutti.main.action.importTemporaryReferential= -tutti.main.action.importTemporaryReferential.mnemonic= -tutti.main.action.importTemporaryReferential.tip= -tutti.main.action.manageDb= -tutti.main.action.manageDb.mnemonic= -tutti.main.action.manageDb.tip= -tutti.main.action.reloadTutti= -tutti.main.action.selectCruise= -tutti.main.action.selectCruise.mnemonic= -tutti.main.action.selectCruise.tip= -tutti.main.action.showHelp= -tutti.main.action.showHelp.mnemonic= -tutti.main.action.showHelp.tip= -tutti.main.action.site= -tutti.main.action.site.mnemonic= -tutti.main.action.site.tip= -tutti.main.action.updateApplication= -tutti.main.action.updateApplication.mnemonic= -tutti.main.action.updateApplication.tip= -tutti.main.action.updateReport= -tutti.main.action.updateReport.mnemonic= -tutti.main.action.updateReport.tip= -tutti.main.action.updateSpecificApplication.tip= -tutti.main.action.validateCatches= -tutti.main.action.validateCatches.mnemonic= -tutti.main.action.validateCatches.tip= -tutti.main.menu.actions= -tutti.main.menu.actions.mnemonic= -tutti.main.menu.actions.tip= -tutti.main.menu.administration= -tutti.main.menu.administration.mnemonic= -tutti.main.menu.administration.tip= -tutti.main.menu.changeLocale= -tutti.main.menu.file= -tutti.main.menu.file.mnemonic= -tutti.main.menu.file.tip= -tutti.main.menu.help= -tutti.main.menu.help.mnemonic= -tutti.main.menu.help.tip= -tutti.main.title.application= -tutti.main.title.applicationName= -tutti.main.title.noSelectedCruise= -tutti.main.title.noSelectedProgram= -tutti.main.title.noSelectedProtocol= -tutti.main.title.nodb= -tutti.main.title.selectedCruise= -tutti.main.title.selectedProgram= -tutti.main.title.selectedProtocol= -tutti.manageTemporaryReferential.action.chooseExistingReferentialGearFile.export= -tutti.manageTemporaryReferential.action.chooseExistingReferentialGearFile.export.success= -tutti.manageTemporaryReferential.action.chooseExistingReferentialPersonFile.export= -tutti.manageTemporaryReferential.action.chooseExistingReferentialPersonFile.export.success= -tutti.manageTemporaryReferential.action.chooseExistingReferentialSpeciesFile.export= -tutti.manageTemporaryReferential.action.chooseExistingReferentialSpeciesFile.export.success= -tutti.manageTemporaryReferential.action.chooseExistingReferentialVesselFile.export= -tutti.manageTemporaryReferential.action.chooseExistingReferentialVesselFile.export.success= -tutti.manageTemporaryReferential.action.chooseReferentialGearFile.export= -tutti.manageTemporaryReferential.action.chooseReferentialGearFile.export.success= -tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import= -tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import.dialog.message= -tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import.dialog.title= -tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import.success= -tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.export= -tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.export.success= -tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.import= -tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.import.dialog.message= -tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.import.dialog.title= -tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.import.success= -tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.export= -tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.export.success= -tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.import= -tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.import.dialog.message= -tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.import.dialog.title= -tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.import.success= -tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.export= -tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.export.success= -tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.import= -tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.import.dialog.message= -tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.import.dialog.title= -tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.import.success= -tutti.manageTemporaryReferential.action.exportExistingTemporaryGear= -tutti.manageTemporaryReferential.action.exportExistingTemporaryGear.tip= -tutti.manageTemporaryReferential.action.exportExistingTemporaryPerson= -tutti.manageTemporaryReferential.action.exportExistingTemporaryPerson.tip= -tutti.manageTemporaryReferential.action.exportExistingTemporarySpecies= -tutti.manageTemporaryReferential.action.exportExistingTemporarySpecies.tip= -tutti.manageTemporaryReferential.action.exportExistingTemporaryVessel= -tutti.manageTemporaryReferential.action.exportExistingTemporaryVessel.tip= -tutti.manageTemporaryReferential.action.exportTemporaryGearExample= -tutti.manageTemporaryReferential.action.exportTemporaryGearExample.tip= -tutti.manageTemporaryReferential.action.exportTemporaryPersonExample= -tutti.manageTemporaryReferential.action.exportTemporaryPersonExample.tip= -tutti.manageTemporaryReferential.action.exportTemporarySpeciesExample= -tutti.manageTemporaryReferential.action.exportTemporarySpeciesExample.tip= -tutti.manageTemporaryReferential.action.exportTemporaryVesselExample= -tutti.manageTemporaryReferential.action.exportTemporaryVesselExample.tip= -tutti.manageTemporaryReferential.action.importTemporaryGear= -tutti.manageTemporaryReferential.action.importTemporaryGear.tip= -tutti.manageTemporaryReferential.action.importTemporaryPerson= -tutti.manageTemporaryReferential.action.importTemporaryPerson.tip= -tutti.manageTemporaryReferential.action.importTemporarySpecies= -tutti.manageTemporaryReferential.action.importTemporarySpecies.tip= -tutti.manageTemporaryReferential.action.importTemporaryVessel= -tutti.manageTemporaryReferential.action.importTemporaryVessel.tip= -tutti.manageTemporaryReferential.action.replaceTemporaryGear= -tutti.manageTemporaryReferential.action.replaceTemporaryGear.tip= -tutti.manageTemporaryReferential.action.replaceTemporaryPerson= -tutti.manageTemporaryReferential.action.replaceTemporaryPerson.tip= -tutti.manageTemporaryReferential.action.replaceTemporarySpecies= -tutti.manageTemporaryReferential.action.replaceTemporarySpecies.tip= -tutti.manageTemporaryReferential.action.replaceTemporaryVessel= -tutti.manageTemporaryReferential.action.replaceTemporaryVessel.tip= -tutti.manageTemporaryReferential.field.gear= -tutti.manageTemporaryReferential.field.gear.tip= -tutti.manageTemporaryReferential.field.person= -tutti.manageTemporaryReferential.field.person.tip= -tutti.manageTemporaryReferential.field.species= -tutti.manageTemporaryReferential.field.species.tip= -tutti.manageTemporaryReferential.field.vessel= -tutti.manageTemporaryReferential.field.vessel.tip= -tutti.manageTemporaryReferential.passwordDialog.error.message= -tutti.manageTemporaryReferential.passwordDialog.error.title= -tutti.manageTemporaryReferential.passwordDialog.message= -tutti.manageTemporaryReferential.passwordDialog.title= -tutti.manageTemporaryReferential.title= -tutti.manageTemporaryReferential.title.choose.exportExistingTemporaryGearFile= -tutti.manageTemporaryReferential.title.choose.exportExistingTemporaryPersonFile= -tutti.manageTemporaryReferential.title.choose.exportExistingTemporarySpeciesFile= -tutti.manageTemporaryReferential.title.choose.exportExistingTemporaryVesselFile= -tutti.manageTemporaryReferential.title.choose.exportTemporaryGearExampleFile= -tutti.manageTemporaryReferential.title.choose.exportTemporaryPersonExampleFile= -tutti.manageTemporaryReferential.title.choose.exportTemporarySpeciesExampleFile= -tutti.manageTemporaryReferential.title.choose.exportTemporaryVesselExampleFile= -tutti.manageTemporaryReferential.title.choose.importTemporaryGearFile= -tutti.manageTemporaryReferential.title.choose.importTemporaryPersonFile= -tutti.manageTemporaryReferential.title.choose.importTemporarySpeciesFile= -tutti.manageTemporaryReferential.title.choose.importTemporaryVesselFile= -tutti.message.openReplaceTemporaryUI.noSource= -tutti.message.openReplaceTemporaryUI.noTarget= -tutti.multiPostImportLog.benthosTotalSortedWeight= -tutti.multiPostImportLog.catchTotalRejectedWeight= -tutti.multiPostImportLog.catchTotalWeight= -tutti.multiPostImportLog.close= -tutti.multiPostImportLog.close.mnemonic= -tutti.multiPostImportLog.close.tip= -tutti.multiPostImportLog.inertWeight= -tutti.multiPostImportLog.livingNotItemizedWeight= -tutti.multiPostImportLog.marineLitterTotalWeight= -tutti.multiPostImportLog.message= -tutti.multiPostImportLog.speciesTotalSortedWeight= -tutti.multiPostImportLog.title= -tutti.multiPostImportLog.totalSortedWeight= -tutti.multiPostImportLog.totalWeight= -tutti.openDb.step.check.dbContext= -tutti.openDb.step.checkSchemaVersion= -tutti.openDb.step.open= +tutti.editSpeciesFrequencies.samplingNeeded.max=max +tutti.editSpeciesFrequencies.samplingNeeded.resume=<html><body><strong>%s</strong> \: trait \: %s | zone \: %s | campagne \: %s +tutti.editSpeciesFrequencies.samplingNeeded.warning=<html><body><strong>Prélevez les pièces calcifiées \!</body></html> +tutti.editSpeciesFrequencies.simpleCountingAndFrequencies=Des mensurations ont été saisies dans le tableau. Saisir un simple dénombrement les effacera. +tutti.editSpeciesFrequencies.table.header.lengthStep=Classe de taille +tutti.editSpeciesFrequencies.table.header.number=Nombre +tutti.editSpeciesFrequencies.table.header.rtpComputedWeight=Poids calculé par les RTP +tutti.editSpeciesFrequencies.table.header.weight=Poids observé +tutti.editSpeciesFrequencies.title=Mensuration +tutti.editSpeciesFrequencies.title.addLengthStepCaracteristic=Choisir une autre caractéristique +tutti.editSpeciesFrequencies.unkownStepUnit=NA +tutti.editSpeciesFrequency.action.exportMultiPostFull.destinationFile.button=Exporter +tutti.editSpeciesFrequency.action.exportMultiPostFull.destinationFile.title=Exporter les mensurations et observations individuelles +tutti.editSpeciesFrequency.action.exportMultiPostFull.success=Les mensurations et observations individuelles du lot ont été exportés dans le fichier %s +tutti.editSpeciesFrequency.action.exportMultiPostOnlyFrequencies.destinationFile.button=Exporter +tutti.editSpeciesFrequency.action.exportMultiPostOnlyFrequencies.destinationFile.title=Exporter les mensurations +tutti.editSpeciesFrequency.action.exportMultiPostOnlyFrequencies.success=Les mensurations du lot ont été exportés dans le fichier %s +tutti.editSpeciesFrequency.action.exportMultiPostOnlyIndividualObservations.destinationFile.button=Exporter +tutti.editSpeciesFrequency.action.exportMultiPostOnlyIndividualObservations.destinationFile.title=Exporter les observations individuelles +tutti.editSpeciesFrequency.action.exportMultiPostOnlyIndividualObservations.success=Les observations individuelles du lot ont été exportés dans le fichier %s +tutti.editSpeciesFrequency.action.importMultiPostFull.sourceFile.button=Importer +tutti.editSpeciesFrequency.action.importMultiPostFull.sourceFile.title=Importer les mensurations et observations individuelles +tutti.editSpeciesFrequency.action.importMultiPostFull.success=Les mensurations et observations individuelles du lot ont été importées depuis le fichier %s +tutti.editSpeciesFrequency.action.importMultiPostOnlyFrequencies.sourceFile.button=Importer +tutti.editSpeciesFrequency.action.importMultiPostOnlyFrequencies.sourceFile.title=Importer les mensurations +tutti.editSpeciesFrequency.action.importMultiPostOnlyFrequencies.success=Les mensurations du lot ont été importées depuis le fichier %s +tutti.editSpeciesFrequency.action.importMultiPostOnlyIndividualObservations.sourceFile.button=Importer +tutti.editSpeciesFrequency.action.importMultiPostOnlyIndividualObservations.sourceFile.title=Importer les observations individuelles +tutti.editSpeciesFrequency.action.importMultiPostOnlyIndividualObservations.success=Les observations individuelles du lot ont été importées depuis le fichier %s +tutti.error.application.already.started=<html><body>L'application est déjà démarrée.<br/>Si ce n'était pas le cas, veuillez supprimer le fichier <strong>tutti.lock</strong> présent dans le répertoire de l'outil avant de lancer l'applicatif.</body></html> +tutti.error.delete.startActionFile=Impossible de supprimer le fichier %s +tutti.error.read.startActionFile=Impossible de lire le contenu du fichier %s +tutti.error.update.bad.url.syntax=Mise à jour impossible (le format de l'url <strong>%s</strong> n'est pas valide) +tutti.error.update.could.not.found.url=Mise à jour impossible (l'url <strong>%s</strong> n'existe pas) +tutti.error.update.could.not.reach.url=Mise à jour impossible (l'url <strong>%s</strong> n'est pas joignable) +tutti.error.write.startActionFile=impossible d'écrire dans le fichier %s +tutti.exportCruise.action.computeNbSteps=Calcul du nombre d'opérations à réaliser +tutti.exportCruise.action.exportErrors=Des erreurs sont apparues pendant l'élévation des poids de la campagne <strong>%s</strong>.<br/>L'export a cependant été réalisé.<hr/>Erreur(s) rencontrée(s) \: <br/>%s +tutti.exportCruise.action.success=La campagne <strong>%s</strong> a été exportée dans le fichier <strong>%s</strong>. +tutti.exportCruiseCsv.action.chooseFile=Exporter +tutti.exportCruiseCsv.action.success=La campagne sélectionnée a été exportée dans le fichier <strong>%s</strong> +tutti.exportCruiseCsv.message.badBenthos=<html><body>Des espèces non présentes (ou avec un code campagne non renseigné) dans le protocole (onglet Benthos) ont été détectées \: <ul>%s</ul></body></html> +tutti.exportCruiseCsv.message.badSpecies=<html><body>Des espèces non présentes (ou avec un code campagne non renseigné) dans le protocole (onglet Espèce) ont été détectées \: <ul>%s</ul></body></html> +tutti.exportCruiseCsv.message.missing.protocol=<html><body>Pas de protocole renseigné, La colonne <strong>espececampagne</strong> ne sera pas renseigné.</body></html> +tutti.exportCruiseCsv.title.badBenthos=Espèces non présentes dans le protocole (onglet Benthos) +tutti.exportCruiseCsv.title.badSpecies=Espèces non présentes dans le protocole (onglet Espèce) +tutti.exportCruiseCsv.title.choose.exportFile=Exporter la campagne +tutti.exportCruiseCsv.title.missing.protocol=Pas de protocole renseigné +tutti.exportCruiseCsv.title.required.protocol=Protocole requis pour export csv +tutti.exportDb.step.closeDb=Fermeture de la base courante +tutti.exportDb.step.createArchive=Création de l'archive %s +tutti.exportDb.step.openDb=Réouverture de la base courante +tutti.exportDb.step.reloadApplication=Redémarrage de l'application +tutti.exportFishingOperationCsv.action.chooseFile=Exporter +tutti.exportFishingOperationCsv.action.success=Le trait a été exporté dans le fichier <strong>%s</strong> +tutti.exportFishingOperationCsv.message.badBenthos=<html><body>Des espèces non présentes (ou avec un code campagne non renseigné) dans le protocole (onglet Benthos) ont été détectées \: <ul>%s</ul></body></html> +tutti.exportFishingOperationCsv.message.badSpecies=<html><body>Des espèces non présentes (ou avec un code campagne non renseigné) dans le protocole (onglet Espèce) ont été détectées \: <ul>%s</ul></body></html> +tutti.exportFishingOperationCsv.message.missing.protocol=<html><body>Pour faire un export csv, un protocole est requis.<br/>De plus toutes les espèces de la captures doivent être renseignées dans le protocole.</body></html> +tutti.exportFishingOperationCsv.message.model.modified=La capture a été modifiée, veuillez l'enregistrer avant de lancer un export. +tutti.exportFishingOperationCsv.title.badBenthos=Espèces non présentes dans le protocole (onglet Benthos) +tutti.exportFishingOperationCsv.title.badSpecies=Espèces non présentes dans le protocole (onglet Espèce) +tutti.exportFishingOperationCsv.title.choose.exportFile=Exporter le trait de la campagne +tutti.exportFishingOperationCsv.title.missing.protocol=Protocole requis pour export csv +tutti.exportFishingOperationCsv.title.model.modified=Impossible d'exporter, capture modifiée +tutti.exportFishingOperationReport.action.chooseFile=Choisir le fichier de rapport +tutti.exportFishingOperationReport.action.success=Le trait a été exporté dans le fichier <strong>%s</strong> +tutti.exportFishingOperationReport.message.model.modified=La capture a été modifiée, veuillez l'enregistrer avant de lancer un export. +tutti.exportFishingOperationReport.title.choose.exportFile=Exporter le trait de la campagne +tutti.exportFishingOperationReport.title.model.modified=Impossible d'exporter, capture modifiée +tutti.exportProgram.action.computeNbSteps=Calcul du nombre d'opérations à réaliser +tutti.exportProgram.action.exportErrors=Des erreurs sont apparues pendant l'élévation des poids d'une campagne de la série <strong>%s</strong>.<br/>L'export a cependant été réalisé.<hr/>Erreur(s) rencontrée(s) \: <br/>%s +tutti.exportProgram.action.success=La série de campagne <strong>%s</strong> a été exportée dans le fichier <strong>%s</strong>. +tutti.exportProtocol.action.success=Protocole [%1s] exporté dans le fichier <strong>%2s</strong>. +tutti.exportSampleCategoryModel.action.chooseSampleCategoryModelFile.export=Exporter +tutti.exportSampleCategoryModel.action.export.success=L'export effectué dans le fichier <strong>%s</strong>. +tutti.exportSampleCategoryModel.title.choose.exportSampleCategoryModelFile=Exporter le modèle de catégorisation +tutti.fishingOperations.action.deleteFishingOperation.mnemonic=S +tutti.fishingOperations.action.deleteFishingOperation.tip=Supprimer l'opération de pêche sélectionnée +tutti.fishingOperations.action.newFishingOperation.mnemonic=N +tutti.fishingOperations.action.newFishingOperation.tip=Créer une nouvelle opération de pêche +tutti.fishingOperations.info.no.fishingOperation.selected=< Aucun trait sélectionné > +tutti.fishingOperations.title.edit.operations=Saisie des opérations de pêches (%s) +tutti.fishingOperations.title.validate.operations=Validation des opérations de pêches (%s) +tutti.fishingOperations.warn.catchBatch.invalidSampleCategoryModel=L'arbre d’échantillonnage n'est pas compatible (utilisation de catégories non configurées ou dans un mauvais ordre). Les captures ne seront pas visibles. +tutti.fishingOperations.warn.catchBatch.notFound=Pas d'arbre d’échantillonnage associé à l'opération de pêche. +tutti.fishingOperations.warn.invalid.batch=<html><body>Les erreurs suivantes ont été détectées, impossible d'afficher les captures \:<br/><ul>%s</ul></body></html>. +tutti.fishingOperations.warn.invalid.batch.model=L'arbre d’échantillonnage n'est pas compatible. Les captures ne seront pas visibles. +tutti.flash.info.all.caractristic.exported=Toutes les caractéristiques exportées dans le fichier <strong>%s</strong>. +tutti.flash.info.benthos.add.to.protocol=Le benthos <strong>%s</strong> a été ajouté au protocole. +tutti.flash.info.benthos.imported.in.protocol=Benthos importés dans le protocole depuis le fichier <strong>%s</strong>. +tutti.flash.info.benthos.imported.in.protocol.oneReplaced=Benthos importés dans le protocole depuis le fichier <strong>%s</strong>. 1 remplacée par son référent. +tutti.flash.info.benthos.imported.in.protocol.severalReplaced=Benthos importés dans le protocole depuis le fichier <strong>%s</strong>. %s remplacées par leur référent. +tutti.flash.info.benthos.remove.from.protocol=Les benthos ont été retirés du protocole. +tutti.flash.info.benthos.replaced=Le benthos <strong>%s</strong> a été remplacé par son référent <strong>%s</strong>. +tutti.flash.info.caracteristic.add.to.protocol=La caractéristique <strong>%s</strong> a été ajoutée au protocole. +tutti.flash.info.caracteristic.imported.in.protocol=Caractéristiques importées dans le protocole depuis le fichier <strong>%s</strong>. +tutti.flash.info.caracteristicMapping.remove.from.protocol=Les caractéristiques ont été retirées du protocole. +tutti.flash.info.caractristic.exported.from.protocol=Caractéristiques du protocole exportées dans le fichier <strong>%s</strong>. +tutti.flash.info.cps.exported.from.protocol=Algorithme de prélèvement du protocole exporté dans le fichier <strong>%s</strong>. +tutti.flash.info.cps.imported.in.protocol=\=Algorithme de prélèvement importé dans le protocole depuis le fichier <strong>%s</strong>. +tutti.flash.info.cruiseCreated=La campagne <strong>%s</strong> a été créée. +tutti.flash.info.cruiseSaved=La campagne <strong>%s</strong> a été enregistrée. +tutti.flash.info.db.closed=La base <strong>%s</strong> est fermée. +tutti.flash.info.db.exported=Base exportée dans l'archive <strong>%s</strong>. +tutti.flash.info.db.exported.and.clean=Base exportée dans l'archive <strong>%s</strong>. +tutti.flash.info.db.imported=La base de données <strong>%s</strong> est importée. +tutti.flash.info.db.imported.but.closed=La base de données <strong>%s</strong> est importée mais n'a pas été ouverte. +tutti.flash.info.db.not.opened=La base <strong>%s</strong> n'a pas été ouverte. +tutti.flash.info.db.opened=La base de données <strong>%s</strong> est ouverte. +tutti.flash.info.db.schema.updated=Le schéma de la base (version %s) a été mise à jour vers la version %s +tutti.flash.info.programCreated=La série de campagne <strong>%s</strong> a été créée. +tutti.flash.info.programSaved=La série de campagne <strong>%s</strong> a été enregistrée. +tutti.flash.info.protocolCreated=Le protocole <strong>%s</strong> a été créé. +tutti.flash.info.protocolSaved=Le protocole <strong>%s</strong> a été enregistré. +tutti.flash.info.species.add.to.protocol=L'espèce <strong>%s</strong> a été ajoutée au protocole. +tutti.flash.info.species.exported.from.protocol=Espèces du protocole exportées dans le fichier <strong>%s</strong>. +tutti.flash.info.species.imported.in.protocol=Espèces importées dans le protocole depuis le fichier <strong>%s</strong>. +tutti.flash.info.species.imported.in.protocol.oneReplaced=Espèces importées dans le protocole depuis le fichier <strong>%s</strong>. 1 remplacée par son référent. +tutti.flash.info.species.imported.in.protocol.severalReplaced=Espèces importées dans le protocole depuis le fichier <strong>%s</strong>. %s remplacées par leur référent. +tutti.flash.info.species.remove.from.protocol=Les espèces ont été retirées du protocole. +tutti.flash.info.species.replaced=L'espèce <strong>%s</strong> a été remplacée par son référent <strong>%s</strong>. +tutti.gear.noCaracteristics=Pas de caractéristiques. +tutti.gear.withCaracteristics=Caractéristiques de l'engin %s +tutti.gearCaracteristicsEditorTable.table.header.key=Caractéristique +tutti.gearCaracteristicsEditorTable.table.header.value=Valeur +tutti.gearUseFeatureTable.action.removeCaracteristic=Supprimer +tutti.gearUseFeatureTable.action.removeCaracteristic.mnemonic=S +tutti.gearUseFeatureTable.action.removeCaracteristic.tip=Supprimer la caractéristique +tutti.gearUseFeatureTable.table.header.key=Caractéristique +tutti.gearUseFeatureTable.table.header.value=Valeur +tutti.gearUseFeatureTable.title=Mise en œuvre de l'engin +tutti.generateReport.action.computeNbSteps=Calcul du nombre d'opérations +tutti.genericFormat.action.chooseDbBackupFile=Sauvegarder la base de données +tutti.genericFormat.action.chooseExportFile=Exporter +tutti.genericFormat.action.chooseImportReportFile=Enregistrer +tutti.genericFormat.action.chooseValidateReportFile=Enregistrer +tutti.genericFormat.export.action.success=Export générique terminé (fichier <strong>%s</strong>) +tutti.genericFormat.import.error=Des erreurs ont été détectées lors de l'import +tutti.genericFormat.import.error.tip=Vous pouvez consulter le rapport d'import pour les corriger +tutti.genericFormat.import.success=L'import s'est déroulé avec succès +tutti.genericFormat.import.success.tip=Vous pouvez consulter le rapport d'import (%s) +tutti.genericFormat.importReportFile.saved=Le rapport d'import a été enregistré <strong>%s</strong> +tutti.genericFormat.title.choose.dbBackupFile=Sauvegarder la base de données +tutti.genericFormat.title.choose.exportFile=Exporter des données au format générique +tutti.genericFormat.title.choose.saveImportReportfile=Enregisrer le rapport d'import +tutti.genericFormat.title.choose.saveValidateReportfile=Enregisrer le rapport de validation +tutti.genericFormat.validate.error=Des erreurs ont été détectées lors de la validation +tutti.genericFormat.validate.error.tip=Vous pouvez consulter le rapport de validation pour les corriger +tutti.genericFormat.validate.success=La validation s'est déroulée avec succès +tutti.genericFormat.validate.success.tip=Vous pouvez consulter le rapport de validation (%s) +tutti.genericFormat.validateReportFile.saved=Le rapport de validation a été enregistré <strong>%s</strong> +tutti.genericFormatExport.action.closeGenericFormatExport=Quitter +tutti.genericFormatExport.action.closeGenericFormatExport.mnemonic=Q +tutti.genericFormatExport.action.closeGenericFormatExport.tip=Quitter l'écran d'export +tutti.genericFormatExport.action.export=Exporter +tutti.genericFormatExport.action.export.mnemonic=E +tutti.genericFormatExport.action.export.tip=Exporter les données sélectionnées +tutti.genericFormatExport.action.foldAll=Tout Replier +tutti.genericFormatExport.action.foldAll.mnemonic=R +tutti.genericFormatExport.action.foldAll.tip=Tout replier +tutti.genericFormatExport.action.selectAll=Tout sélectionner +tutti.genericFormatExport.action.selectAll.mnemonic=S +tutti.genericFormatExport.action.selectAll.tip=Tout sélectionner +tutti.genericFormatExport.action.unfoldAll=Tout Déplier +tutti.genericFormatExport.action.unfoldAll.mnemonic=D +tutti.genericFormatExport.action.unfoldAll.tip=Tout déplier +tutti.genericFormatExport.action.unselectAll=Tout désélectionner +tutti.genericFormatExport.action.unselectAll.mnemonic=T +tutti.genericFormatExport.action.unselectAll.tip=Tout désélectionner +tutti.genericFormatExport.exportConfiguration.legend=Configuration +tutti.genericFormatExport.exportFile.extension=zip +tutti.genericFormatExport.exportFile.extension.description=Archive d'import générique (.zip) +tutti.genericFormatExport.exportOptions.legend=Options d'export +tutti.genericFormatExport.field.exportAccidentalCatch=Exporter les captures accidentelles +tutti.genericFormatExport.field.exportAccidentalCatch.tip=Exporter les captures accidentelles +tutti.genericFormatExport.field.exportAttachments=Exporter les pièces-jointes +tutti.genericFormatExport.field.exportAttachments.tip=Exporter les pièces-jointes +tutti.genericFormatExport.field.exportBenthos=Exporter les lots Benthos +tutti.genericFormatExport.field.exportBenthos.tip=Exporter les lots Benthos +tutti.genericFormatExport.field.exportFile=Fichier d'export +tutti.genericFormatExport.field.exportFile.tip=Fichier d'export +tutti.genericFormatExport.field.exportIndividualObservation=Exporter les observations individuelles +tutti.genericFormatExport.field.exportIndividualObservation.tip=Exporter les observations individuelles +tutti.genericFormatExport.field.exportMarineLitter=Exporter les macro-déchets +tutti.genericFormatExport.field.exportMarineLitter.tip=Exporter les macro-déchets +tutti.genericFormatExport.field.exportSpecies=Exporter les lots Espèces +tutti.genericFormatExport.field.exportSpecies.tip=Exporter les lots Espèces +tutti.genericFormatExport.field.program=Série de campagne +tutti.genericFormatExport.field.program.tip=Série de campagne +tutti.genericFormatExport.selectData.legend=Sélection des données à exporter +tutti.genericFormatExport.title=Export générique +tutti.genericFormatImport.action.closeGenericFormatImport=Quitter +tutti.genericFormatImport.action.closeGenericFormatImport.mnemonic=Q +tutti.genericFormatImport.action.closeGenericFormatImport.tip=Quitter +tutti.genericFormatImport.action.error=L'import depuis le fichier <strong>%s</strong> a échoué. +tutti.genericFormatImport.action.foldAll.tip=Tout replier +tutti.genericFormatImport.action.generateReport=Générer le rapport +tutti.genericFormatImport.action.generateReport.mnemonic=G +tutti.genericFormatImport.action.generateReport.tip=Générer le rapport de l'import +tutti.genericFormatImport.action.import=Importer +tutti.genericFormatImport.action.import.mnemonic=I +tutti.genericFormatImport.action.import.tip=Lancer l'import générique +tutti.genericFormatImport.action.importErrors= +tutti.genericFormatImport.action.openImportReport.tip=Ouvrir le rapport d'import +tutti.genericFormatImport.action.openValidateReport.tip=Ouvrir le rapport de validation +tutti.genericFormatImport.action.saveImportReport.tip=Enregistrer le rapport d'import +tutti.genericFormatImport.action.saveValidateReport.tip=Enregistrer le rapport de validation +tutti.genericFormatImport.action.selectAll.tip=Tout sélectionner +tutti.genericFormatImport.action.showReport=Visualiser +tutti.genericFormatImport.action.showReport.mnemonic=V +tutti.genericFormatImport.action.showReport.tip=Visualiser le rapport +tutti.genericFormatImport.action.success=L'import depuis le fichier <strong>%s</strong> s'est bien déroulé. +tutti.genericFormatImport.action.unfoldAll.tip=Tout déplier +tutti.genericFormatImport.action.unselectAll.tip=Tout déselectionner +tutti.genericFormatImport.action.validate=Valider l'import +tutti.genericFormatImport.action.validate.mnemonic=V +tutti.genericFormatImport.action.validate.tip=Valider l'archive d'import +tutti.genericFormatImport.backupFile.extension=zip +tutti.genericFormatImport.backupFile.extension.description=Sauvegarde de la base (.zip) +tutti.genericFormatImport.field.authorizeObsoleteReferentials=Autoriser l'utilisation de référentiels obsolètes +tutti.genericFormatImport.field.authorizeObsoleteReferentials.tip=Autoriser l'utilisation des référentiels obsolètes dans les données à importer +tutti.genericFormatImport.field.backupFile=Fichier de sauvegarde +tutti.genericFormatImport.field.backupFile.tip=Fichier de sauvegarde de la base avant import +tutti.genericFormatImport.field.checkWeights=Vérifier les poids (élévation) +tutti.genericFormatImport.field.checkWeights.tip=Vérifier les poids via l'élévation des poids +tutti.genericFormatImport.field.cleanWeights=Supprimer les poids en double +tutti.genericFormatImport.field.cleanWeights.tip=Supprimer les poids en double +tutti.genericFormatImport.field.importAccidentalCatch=Importer les captures accidentelles +tutti.genericFormatImport.field.importAccidentalCatch.tip=Importer les captures accidentelles +tutti.genericFormatImport.field.importAttachments=Importer les pièces-jointes +tutti.genericFormatImport.field.importAttachments.tip=Importer les pièces-jointes +tutti.genericFormatImport.field.importBenthos=Importer les lots Benthos +tutti.genericFormatImport.field.importBenthos.tip=Importer les lots Benthos +tutti.genericFormatImport.field.importFile=Fichier d'import +tutti.genericFormatImport.field.importFile.tip=Fichier d'import au format générique +tutti.genericFormatImport.field.importIndividualObservation=Importer les observations individuelles +tutti.genericFormatImport.field.importIndividualObservation.tip=Importer les observations individuelles +tutti.genericFormatImport.field.importMarineLitter=Importer les macro-déchets +tutti.genericFormatImport.field.importMarineLitter.tip=Importer les macro-déchets +tutti.genericFormatImport.field.importSpecies=Importer les lots Espèces +tutti.genericFormatImport.field.importSpecies.tip=Importer les lots Espèces +tutti.genericFormatImport.field.overrideData=Autoriser l'écrasement des données +tutti.genericFormatImport.field.overrideData.tip=Autorise l'écrasement des données existantes +tutti.genericFormatImport.field.program=Série de campagne +tutti.genericFormatImport.field.program.tip=Série de campagne où importer les campagne +tutti.genericFormatImport.field.reportFile=Rapport +tutti.genericFormatImport.field.reportFile.tip=Chemin du fichier de rapport +tutti.genericFormatImport.field.updateCruises=Mettre à jour les campagnes +tutti.genericFormatImport.field.updateCruises.tip=Mettre à jour les caractéristiques des campagnes exitantes +tutti.genericFormatImport.field.updateOperations=Mettre à jour les traits +tutti.genericFormatImport.field.updateOperations.tip=Mettre à jour les traits existants +tutti.genericFormatImport.import.legend=Import +tutti.genericFormatImport.importFile.extension=zip +tutti.genericFormatImport.importFile.extension.description=Import générique (.zip) +tutti.genericFormatImport.importOptions.legend=Options d'import +tutti.genericFormatImport.importReportFile.extension=pdf +tutti.genericFormatImport.importReportFile.extension.description=Rapport d'import (.pdf) +tutti.genericFormatImport.importResult.description=Résultats +tutti.genericFormatImport.importResult.description.tip=Résultat de l'import +tutti.genericFormatImport.importResult.legend=Résultats de l'import +tutti.genericFormatImport.selectData.legend=Sélection des données à importer +tutti.genericFormatImport.step.backupDb=Sauvegarde de la base de données (<strong>%s</strong>) +tutti.genericFormatImport.step.closeDb=Fermeture de la base de données avant la sauvegarde +tutti.genericFormatImport.step.reopenDb=Réouverture de la base de données +tutti.genericFormatImport.title=Import générique +tutti.genericFormatImport.validateImport.legend=Préparation de l'import +tutti.genericFormatImport.validateReportFile.extension=pdf +tutti.genericFormatImport.validateReportFile.extension.description=Rapport de validation (.pdf) +tutti.genericFormatImport.validationResult.description=Résultat de la validation +tutti.genericFormatImport.validationResult.description.tip=Résultat de la validation +tutti.genericformat.export.cruiseNode=<html><body>Campagne <i>%s</i> (<i>%s</i> traits existants) +tutti.genericformat.export.cruiseNode.fullSelected=%s (identifiant <strong>%s</strong>), tous les traits sont sélectionnés +tutti.genericformat.export.cruiseNode.partialSelected=%s (identifiant <strong>%s</strong>), <i>%s</i> trait(s) sélectionné(s) +tutti.genericformat.export.operationNode=Trait %s +tutti.genericformat.export.operationNode.selected=<html><body>%s (identifiant <strong>%s</strong>) sélectionné +tutti.genericformat.import.cruiseNode=<html><body>Campagne <i>%s</i> (<i>%s</i> trait(s) détecté(s)) +tutti.genericformat.import.cruiseNode.fullSelected=%s, tous les traits sont sélectionnés +tutti.genericformat.import.cruiseNode.partialSelected=%s, <i>%s</i> trait(s) sélectionné(s) +tutti.genericformat.import.operationNode=Trait %s +tutti.genericformat.import.operationNode.selected=%s sélectionné +tutti.genericformat.overrideData.conflict.help=Que voulez-vous faire ?<ul><li><strong>Annuler</strong> pour annuler l'import</li><li><strong>Oui</strong> pour confirmer l'écrasement des données</li></ul> +tutti.genericformat.overrideData.conflict.message=Parmi les données à importer, certaines existent déjà en base, voulez-vous les écraser ? +tutti.genericformat.overrideData.conflict.title=Confirmer l'écrasement de données +tutti.genericformat.protocol.action.add=Ajouter +tutti.genericformat.protocol.action.cancel=Annuler +tutti.genericformat.protocol.action.override=Remplacer +tutti.genericformat.protocolName.conflict.help=Que voulez-vous faire ?<ul><li><strong>Annuler</strong> pour annuler l'import</li><li><strong>Remplacer</strong> pour supprimer le protocole et le remplacer par le protocole à importer</li><li><strong>Ajouter</strong> pour importer le protocole en le renommant en <i>%s</i></li></ul> +tutti.genericformat.protocolName.conflict.message=Le protocole à importer existe déjà avec le même nom (<i>%s</i>) +tutti.genericformat.protocolName.conflict.title=Conflit sur le nom du protocole à importer +tutti.help.mkDir.error=Erreur à la création du dossier d'aide +tutti.i18n.deleteCache.error=Erreur à la suppression du cache de l'internationalisation +tutti.i18n.mkDir.error=Erreur à la création du dossier d'internationalisation +tutti.ichtyometer.choose.remote.device.found=<html><body>Veuillez choisir le périphérique bluetooth qui correspond à l'ichtyomètre parmi ceux détectés.<br/>Si vous ne trouvez pas votre périphérique, vous pouvez modifier dans la configuration l'option <strong>Application \:\: Recherche complète bluetooth</strong> puis retenter une connexion.</body></html> +tutti.ichtyometer.connection.establish=Connexion à l'ichtyomètre <strong>%s</strong> établie +tutti.ichtyometer.connection.establish.message=<html><body>La connexion à l'ichtyomètre <strong>%s</strong> est établie.</body></html> +tutti.ichtyometer.connection.establish.title=Connexion établie +tutti.ichtyometer.connection.stop=Connexion à l'ichtyomètre <strong>%s</strong> arrêtée +tutti.ichtyometer.error.no.local.device=Le bluetooth n'est pas activé sur la machine +tutti.ichtyometer.error.no.remote.device=Aucun périphérique bluetooth détecté ou abandon de l'utilisateur +tutti.ichtyometer.error.no.remote.device.service=Aucun service détecté sur le périphérique bluetooth +tutti.ichtyometer.status.connected.tip=<html><body>L'ichtyomètre <strong>%s</strong> est connecté.</body></html> +tutti.ichtyometer.status.not.connected.tip=<html><body>Aucun ichtyomètre connecté.</body></html> +tutti.ichtyometer.title.choose.remote.device=Choisir l'ichtyomètre parmi les périphériques trouvés +tutti.importDb.step.check.dbContext=Vérification du contexte de saisie +tutti.importDb.step.checkSchemaVersion=Vérification de la version de la base +tutti.importDb.step.closeDb=Fermeture de la base +tutti.importDb.step.openDb=Ouverture de la base de données <strong>%s</strong> +tutti.importDb.step.unzipArchive=Décompression de l'archive +tutti.importDb.step.will.migrateSchema=Démarrage de la mise à jour du schéma de la base depuis la version %s vers la version %s +tutti.importProgram.action.exportErrors= +tutti.importProgram.action.importErrors= +tutti.importProgram.action.success= +tutti.importProtocol.action.success=Protocole [%s] lu depuis le fichier. +tutti.importPupitri.carrouselFile.extension=car +tutti.importPupitri.carrouselFile.extension.description=Fichier du carrousel (.car) +tutti.importPupitri.error.fileMissing.message=Vous devez sélectionner un fichier pour le trémie et un fichier pour le carrousel pour pouvoir continuer l'import. +tutti.importPupitri.error.fileMissing.title=Fichier non renseigné +tutti.importPupitri.field.carrouselFile=Fichier du carrousel +tutti.importPupitri.field.trunkFile=Fichier du trémie +tutti.importPupitri.importMissingBatches=Créer les lots de sexe ou de classe de tri manquants +tutti.importPupitri.importMissingBatches.mnemonic=l +tutti.importPupitri.importMissingBatches.tip=Créer les lots mâle, femelle et indéterminé ou petit, gros s'ils ne sont pas présents dans l'import +tutti.importPupitri.melagWeight.field=Poids total du melag +tutti.importPupitri.melagWeight.message=Du melag a été détecté lors de l'import, veuillez saisir le poids total du melag. +tutti.importPupitri.melagWeight.title=Melag détecté +tutti.importPupitri.title=Import Pupitri +tutti.importPupitri.trunkFile.extension=tnk +tutti.importPupitri.trunkFile.extension.description=Fichier du trémie (.tnk) +tutti.io.error.copyFile=Impossible de copier le fichier +tutti.label.tab.accidental=Captures accidentelles +tutti.label.tab.benthos=Benthos +tutti.label.tab.catches=Captures +tutti.label.tab.catchesCaracteristics=Résumé +tutti.label.tab.fishingOperation=Trait +tutti.label.tab.individualObservations=Observations individuelles +tutti.label.tab.marineLitter=Macro déchets +tutti.label.tab.species=Espèces +tutti.login.field.login=Login +tutti.login.field.password=Mot de passe +tutti.login.infoMmessage=<html><body><p>Une authentification est requise pour accéder à la ressource <br/><strong>%s</strong></p><hr></body></html> +tutti.login.title=Demande d'authentification +tutti.main.action.about=À propos +tutti.main.action.about.mnemonic=À +tutti.main.action.about.tip=À Propos +tutti.main.action.changeLocale.mnemonic=l +tutti.main.action.changeLocale.tip=Changer de langue +tutti.main.action.changeLocaleFR=Français +tutti.main.action.changeLocaleFR.mnemonic=F +tutti.main.action.changeLocaleFR.tip=Passer en français +tutti.main.action.changeLocaleUK=Anglais +tutti.main.action.changeLocaleUK.mnemonic=A +tutti.main.action.changeLocaleUK.tip=Passer en anglais +tutti.main.action.configuration=Configuration +tutti.main.action.configuration.mnemonic=C +tutti.main.action.configuration.tip=Configurer l'application +tutti.main.action.connectIchtyometer=Connexion Ichtyomètre +tutti.main.action.connectIchtyometer.mnemonic=y +tutti.main.action.connectIchtyometer.tip=Se connecter à un ichtyomètre +tutti.main.action.disconnectIchtyometer=Déconnexion Ichtyomètre +tutti.main.action.disconnectIchtyometer.mnemonic=y +tutti.main.action.disconnectIchtyometer.tip=Se déconnecter de l'ichtyomètre +tutti.main.action.editCatches=Éditer les traits et les captures +tutti.main.action.editCatches.mnemonic=S +tutti.main.action.editCatches.tip=Éditer les traits et les captures +tutti.main.action.editProgram.tip=Éditer la série de campagne +tutti.main.action.editSampleCategoryModel=Configurer les catégorisations +tutti.main.action.editSampleCategoryModel.mnemonic=o +tutti.main.action.editSampleCategoryModel.tip=Configurer les catégorisations possibles +tutti.main.action.editSelectedCruise=Campagne +tutti.main.action.editSelectedCruise.mnemonic=C +tutti.main.action.editSelectedCruise.tip=Éditer la campagne sélectionnée +tutti.main.action.editSelectedProgram=Série de campagne +tutti.main.action.editSelectedProgram.mnemonic=S +tutti.main.action.editSelectedProtocol=Protocole +tutti.main.action.editSelectedProtocol.mnemonic=P +tutti.main.action.editSelectedProtocol.tip=Éditer le protocole sélectionné +tutti.main.action.exit=Quitter +tutti.main.action.exit.mnemonic=Q +tutti.main.action.exit.tip=Quitter l'application +tutti.main.action.generateSelectedCruiseReport=Rapport +tutti.main.action.generateSelectedCruiseReport.mnemonic=R +tutti.main.action.generateSelectedCruiseReport.tip=Générer des rapports +tutti.main.action.genericFormatExport=Export générique +tutti.main.action.genericFormatExport.mnemonic=E +tutti.main.action.genericFormatExport.tip=Exporter des campagnes au format générique +tutti.main.action.genericFormatImport=Import générique +tutti.main.action.genericFormatImport.mnemonic=I +tutti.main.action.genericFormatImport.tip=Importer des campagnes au format générique +tutti.main.action.goto.previousScreen.tip=Retour à l'écran précédent +tutti.main.action.importTemporaryReferential=Référentiels temporaires +tutti.main.action.importTemporaryReferential.mnemonic=R +tutti.main.action.importTemporaryReferential.tip=Importer des référentiels temporaires +tutti.main.action.manageDb=Gestionnaire de base +tutti.main.action.manageDb.mnemonic=G +tutti.main.action.manageDb.tip=Gérer la base de données utilisée par l'application +tutti.main.action.reloadTutti=Redémarrer l'application +tutti.main.action.selectCruise=Sélectionner une campagne +tutti.main.action.selectCruise.mnemonic=S +tutti.main.action.selectCruise.tip=Sélectionner la campagne à utiliser +tutti.main.action.showHelp=Aide +tutti.main.action.showHelp.mnemonic=i +tutti.main.action.showHelp.tip=Accéder à l'aide de l'application +tutti.main.action.site=Site +tutti.main.action.site.mnemonic=S +tutti.main.action.site.tip=Accéder au site du projet Allegro Campagne (développement de l'application) +tutti.main.action.updateApplication=Vérifier les mises à jour logiciels +tutti.main.action.updateApplication.mnemonic=V +tutti.main.action.updateApplication.tip=Vérifier les mises à jour logicielles +tutti.main.action.updateReport=Vérifier les mises à jour des rapports +tutti.main.action.updateReport.mnemonic=R +tutti.main.action.updateReport.tip=Vérifier les mises à jour des rapports +tutti.main.action.updateSpecificApplication.tip=Mettre à jour le module <strong>%s</strong> +tutti.main.action.validateCatches=Valider les captures +tutti.main.action.validateCatches.mnemonic=V +tutti.main.action.validateCatches.tip=Valider les captures +tutti.main.menu.actions=Aller à +tutti.main.menu.actions.mnemonic=l +tutti.main.menu.actions.tip=Accès aux différents écrans +tutti.main.menu.administration=Administration +tutti.main.menu.administration.mnemonic=d +tutti.main.menu.administration.tip=Administrer l'application +tutti.main.menu.changeLocale=Langue +tutti.main.menu.file=Fichier +tutti.main.menu.file.mnemonic=h +tutti.main.menu.file.tip=Fichier +tutti.main.menu.help=Aide +tutti.main.menu.help.mnemonic=Z +tutti.main.menu.help.tip=Aide +tutti.main.title.application=Allegro Campagne - v %s [%s] +tutti.main.title.applicationName=Allegro Campagne +tutti.main.title.noSelectedCruise=Pas de campagne sélectionné +tutti.main.title.noSelectedProgram=Pas de série de campagne sélectionné +tutti.main.title.noSelectedProtocol=Pas de protocole sélectionné +tutti.main.title.nodb=Pas de base chargée +tutti.main.title.selectedCruise=Campagne %s +tutti.main.title.selectedProgram=Série de campagne %s +tutti.main.title.selectedProtocol=Protocole %s +tutti.manageTemporaryReferential.action.chooseExistingReferentialGearFile.export=Exporter +tutti.manageTemporaryReferential.action.chooseExistingReferentialGearFile.export.success=Référentiel temporaire des engins existants exporté dans le fichier %s +tutti.manageTemporaryReferential.action.chooseExistingReferentialPersonFile.export=Exporter +tutti.manageTemporaryReferential.action.chooseExistingReferentialPersonFile.export.success=Référentiel temporaire des personnes existantes exporté dans le fichier %s +tutti.manageTemporaryReferential.action.chooseExistingReferentialSpeciesFile.export=Exporter +tutti.manageTemporaryReferential.action.chooseExistingReferentialSpeciesFile.export.success=Référentiel temporaire des espèces existantes exporté dans le fichier %s +tutti.manageTemporaryReferential.action.chooseExistingReferentialVesselFile.export=Exporter +tutti.manageTemporaryReferential.action.chooseExistingReferentialVesselFile.export.success=Référentiel temporaire des navires existants exporté dans le fichier %s +tutti.manageTemporaryReferential.action.chooseReferentialGearFile.export=Exporter +tutti.manageTemporaryReferential.action.chooseReferentialGearFile.export.success=Exemple de référentiel temporaire d'engins exporté dans le fichier %s +tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import=Importer +tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import.dialog.message=<html><div>Import réussi</div><ul><li>%1$s engins ajoutés</li><li>%2$s engins mis à jour</li><li>%3$s engins supprimés</li></ul> +tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import.dialog.title=Import réussi +tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import.success=Référentiel temporaire d'engins importé depuis le fichier %s +tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.export=Exporter +tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.export.success=Exemple de référentiel temporaire de personnes exporté dans le fichier %s +tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.import=Importer +tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.import.dialog.message=<html><div>Import réussi</div><ul><li>%1$s personnes ajoutées</li><li>%2$s personnes mises à jour</li><li>%3$s personnes supprimées</li></ul> +tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.import.dialog.title=Import réussi +tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.import.success=Référentiel temporaire de personnes importé depuis le fichier %s +tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.export=Exporter +tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.export.success=Exemple de référentiel temporaire d'espèces exporté dans le fichier %s +tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.import=Importer +tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.import.dialog.message=<html><div>Import réussi</div><ul><li>%1$s espèces ajoutées</li><li>%2$s espèces mises à jour</li><li>%3$s espèces supprimées</li></ul> +tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.import.dialog.title=Import réussi +tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.import.success=Référentiel temporaire d'espèces importé depuis le fichier %s +tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.export=Exporter +tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.export.success=Exemple de référentiel temporaire de navires exporté dans le fichier %s +tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.import=Importer +tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.import.dialog.message=<html><div>Import réussi</div><ul><li>%1$s navires ajoutés</li><li>%2$s navires mis à jour</li><li>%3$s navires supprimés</li></ul> +tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.import.dialog.title=Import réussi +tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.import.success=Référentiel temporaire de navires importé depuis le fichier %s +tutti.manageTemporaryReferential.action.exportExistingTemporaryGear=Exporter l'existant +tutti.manageTemporaryReferential.action.exportExistingTemporaryGear.tip=Exporter le référentiel Engin existant +tutti.manageTemporaryReferential.action.exportExistingTemporaryPerson=Exporter l'existant +tutti.manageTemporaryReferential.action.exportExistingTemporaryPerson.tip=Exporter le référentiel Personne existant +tutti.manageTemporaryReferential.action.exportExistingTemporarySpecies=Exporter l'existant +tutti.manageTemporaryReferential.action.exportExistingTemporarySpecies.tip=Exporter le référentiel Espèces existant +tutti.manageTemporaryReferential.action.exportExistingTemporaryVessel=Exporter l'existant +tutti.manageTemporaryReferential.action.exportExistingTemporaryVessel.tip=Exporter le référentiel Navire existant +tutti.manageTemporaryReferential.action.exportTemporaryGearExample=Exporter un exemple +tutti.manageTemporaryReferential.action.exportTemporaryGearExample.tip=Exporter un exemple de référentiel Engin +tutti.manageTemporaryReferential.action.exportTemporaryPersonExample=Exporter un exemple +tutti.manageTemporaryReferential.action.exportTemporaryPersonExample.tip=Exporter un exemple de référentiel Personne +tutti.manageTemporaryReferential.action.exportTemporarySpeciesExample=Exporter un exemple +tutti.manageTemporaryReferential.action.exportTemporarySpeciesExample.tip=Exporter un exemple de référentiel Espèces +tutti.manageTemporaryReferential.action.exportTemporaryVesselExample=Exporter un exemple +tutti.manageTemporaryReferential.action.exportTemporaryVesselExample.tip=Exporter un exemple de référentiel Navire +tutti.manageTemporaryReferential.action.importTemporaryGear=Importer +tutti.manageTemporaryReferential.action.importTemporaryGear.tip=Importer un référentiel temporaire d'engins +tutti.manageTemporaryReferential.action.importTemporaryPerson=Importer +tutti.manageTemporaryReferential.action.importTemporaryPerson.tip=Importer un référentiel temporaire de personnes +tutti.manageTemporaryReferential.action.importTemporarySpecies=Importer +tutti.manageTemporaryReferential.action.importTemporarySpecies.tip=Importer un référentiel temporaire d'espèces +tutti.manageTemporaryReferential.action.importTemporaryVessel=Importer +tutti.manageTemporaryReferential.action.importTemporaryVessel.tip=Importer un référentiel temporaire de navires +tutti.manageTemporaryReferential.action.replaceTemporaryGear=Remplacer donnée temporaire +tutti.manageTemporaryReferential.action.replaceTemporaryGear.tip=Remplacer un engin temporaire +tutti.manageTemporaryReferential.action.replaceTemporaryPerson=Remplacer donnée temporaire +tutti.manageTemporaryReferential.action.replaceTemporaryPerson.tip=Remplacer un utilisateur temporaire +tutti.manageTemporaryReferential.action.replaceTemporarySpecies=Remplacer donnée temporaire +tutti.manageTemporaryReferential.action.replaceTemporarySpecies.tip=Remplacer une espèce temporaire +tutti.manageTemporaryReferential.action.replaceTemporaryVessel=Remplacer donnée temporaire +tutti.manageTemporaryReferential.action.replaceTemporaryVessel.tip=Remplacer un navire temporaire +tutti.manageTemporaryReferential.field.gear=Référentiel Engin (%s) +tutti.manageTemporaryReferential.field.gear.tip=%s engins temporaires dans le référentiel +tutti.manageTemporaryReferential.field.person=Référentiel Personne (%s) +tutti.manageTemporaryReferential.field.person.tip=%s personnes temporaires dans le référentiel +tutti.manageTemporaryReferential.field.species=Référentiel Espèce (%s) +tutti.manageTemporaryReferential.field.species.tip=%s espèces temporaires dans le référentiel +tutti.manageTemporaryReferential.field.vessel=Référentiel Navire (%s) +tutti.manageTemporaryReferential.field.vessel.tip=%s navires temporaires dans le référentiel +tutti.manageTemporaryReferential.passwordDialog.error.message=Le mot de passe que vous avez entré est incorrect +tutti.manageTemporaryReferential.passwordDialog.error.title=Mot de passe incorrect +tutti.manageTemporaryReferential.passwordDialog.message=Vous souhaitez entrer dans une partie sensible de l'application +tutti.manageTemporaryReferential.passwordDialog.title=Zone sensible +tutti.manageTemporaryReferential.title=importer des référentiels temporaires +tutti.manageTemporaryReferential.title.choose.exportExistingTemporaryGearFile=Exporter le référentiel Engin existant +tutti.manageTemporaryReferential.title.choose.exportExistingTemporaryPersonFile=Exporter le référentiel Personne existant +tutti.manageTemporaryReferential.title.choose.exportExistingTemporarySpeciesFile=Exporter le référentiel Espèce existant +tutti.manageTemporaryReferential.title.choose.exportExistingTemporaryVesselFile=Exporter le référentiel Navire existant +tutti.manageTemporaryReferential.title.choose.exportTemporaryGearExampleFile=Exporter un exemple de référentiel Engin +tutti.manageTemporaryReferential.title.choose.exportTemporaryPersonExampleFile=Exporter un exemple de référentiel Personne +tutti.manageTemporaryReferential.title.choose.exportTemporarySpeciesExampleFile=Exporter un exemple de référentiel Espèce +tutti.manageTemporaryReferential.title.choose.exportTemporaryVesselExampleFile=Exporter un exemple de référentiel Navire +tutti.manageTemporaryReferential.title.choose.importTemporaryGearFile=Importer un référentiel Engin +tutti.manageTemporaryReferential.title.choose.importTemporaryPersonFile=Importer un référentiel Personne +tutti.manageTemporaryReferential.title.choose.importTemporarySpeciesFile=Importer un référentiel Espèce +tutti.manageTemporaryReferential.title.choose.importTemporaryVesselFile=Importer un référentiel Navire +tutti.message.openReplaceTemporaryUI.noSource=Aucun référentiel de type %s temporaire détecté dans la base. +tutti.message.openReplaceTemporaryUI.noTarget=Aucun référentiel de type %s officiel détecté dans la base. +tutti.multiPostImportLog.benthosTotalSortedWeight=Poids total VRAC (Benthos) \: %s %s +tutti.multiPostImportLog.catchTotalRejectedWeight=Poids total NON TRIÉ (Capture) \: %s %s +tutti.multiPostImportLog.catchTotalWeight=Poids TOTAL (Capture) \: %s %s +tutti.multiPostImportLog.close=Fermer +tutti.multiPostImportLog.close.mnemonic=F +tutti.multiPostImportLog.close.tip=Fermer la popup +tutti.multiPostImportLog.inertWeight=Poids inerte trié \: %s %s +tutti.multiPostImportLog.livingNotItemizedWeight=Poids vivant non détaillé \: %s %s +tutti.multiPostImportLog.marineLitterTotalWeight=Poids total (Macro déchets) \: %s %s +tutti.multiPostImportLog.message=Des données n'ont pas été importées car ces données avaient déjà été saisies \: +tutti.multiPostImportLog.speciesTotalSortedWeight=Poids total VRAC (Espèce) \: %s %s +tutti.multiPostImportLog.title=Lots non importés +tutti.multiPostImportLog.totalSortedWeight=Poids total trié \: %s %s +tutti.multiPostImportLog.totalWeight=Poids total \: %s %s +tutti.openDb.step.check.dbContext=Vérification du contexte de saisie +tutti.openDb.step.checkSchemaVersion=Vérification de la compatibilité de la base +tutti.openDb.step.open=Ouverture de la base <strong>%s</strong> tutti.openDb.step.updateReferential= -tutti.openDb.step.will.migrateSchema= -tutti.openReplaceTemporaryUI.loading.source= -tutti.openReplaceTemporaryUI.loading.target= -tutti.openReplaceTemporaryUI.open.dialog= -tutti.openScreen.step.loading.allGear= -tutti.openScreen.step.loading.allGearWithObsoletes= -tutti.openScreen.step.loading.allPerson= -tutti.openScreen.step.loading.allPersonWithObsoletes= -tutti.openScreen.step.loading.allSpecies= -tutti.openScreen.step.loading.allSpeciesWithObsoletes= -tutti.openScreen.step.loading.allVessel= -tutti.openScreen.step.loading.allVesselWithObsoletes= -tutti.openScreen.step.loading.ui= -tutti.option.cancel= -tutti.option.cancelExport= -tutti.option.cancelImport= -tutti.option.cleanAndClone= -tutti.option.cleanAndEdit= -tutti.option.cleanAndImport= -tutti.option.clone= -tutti.option.continue= -tutti.option.edit= -tutti.option.import= -tutti.option.notSaveCatch= -tutti.option.resetCatch= -tutti.option.saveCatch= +tutti.openDb.step.will.migrateSchema=Démarrage de la mise à jour du schéma de la base depuis la version %s vers la version %s +tutti.openReplaceTemporaryUI.loading.source=Chargement des référentiels temporaires de type %s +tutti.openReplaceTemporaryUI.loading.target=Chargement des référentiels officiels de type %s +tutti.openReplaceTemporaryUI.open.dialog=Ouverture de l'interface graphique +tutti.openScreen.step.loading.allGear=Chargement du référentiel Engin +tutti.openScreen.step.loading.allGearWithObsoletes=Chargement du référentiel Engin (avec non actifs) +tutti.openScreen.step.loading.allPerson=Chargement du référentiel Personne +tutti.openScreen.step.loading.allPersonWithObsoletes=Chargement du référentiel Personne (avec non actifs) +tutti.openScreen.step.loading.allSpecies=Chargement du référentiel Taxinomique +tutti.openScreen.step.loading.allSpeciesWithObsoletes=Chargement du référentiel Taxinomique (avec non actifs) +tutti.openScreen.step.loading.allVessel=Chargement du référentiel Navire +tutti.openScreen.step.loading.allVesselWithObsoletes=Chargement du référentiel Navire (avec non actifs) +tutti.openScreen.step.loading.ui=Chargement des interfaces graphiques +tutti.option.cancel=Annuler +tutti.option.cancelExport=Annuler l'export +tutti.option.cancelImport=Annuler l'import +tutti.option.cleanAndClone=Nettoyer et Cloner +tutti.option.cleanAndEdit=Nettoyer et Éditer +tutti.option.cleanAndImport=Nettoyer et Importer +tutti.option.clone=Cloner +tutti.option.confirm=Confirmer +tutti.option.continue=Continuer +tutti.option.edit=Éditer +tutti.option.import=Importer +tutti.option.notSaveCatch=Ne pas enregistrer les modifications +tutti.option.quit=Quitter +tutti.option.resetCatch=Annuler les modifications +tutti.option.saveAndQuit=Enregistrer et quitter +tutti.option.saveCatch=Enregistrer les modifications tutti.persistence.cruise.gearUsedInOperations.error= tutti.propety.no.species.speciesCode= -tutti.reimport.step.backupDb= -tutti.reimport.step.closeDb= -tutti.reimport.step.reloadApplication= -tutti.reinstallDb.step.backupDb= -tutti.reinstallDb.step.closeDb= -tutti.reinstallDb.step.reloadApplication= -tutti.replaceTemporary.done= -tutti.replaceTemporaryAndDelete.done= -tutti.replaceTemporaryGear.title= -tutti.replaceTemporaryPerson.title= -tutti.replaceTemporaryReferential.action.cancel= -tutti.replaceTemporaryReferential.action.cancel.mnemonic= -tutti.replaceTemporaryReferential.action.cancel.tip= -tutti.replaceTemporaryReferential.action.replace= -tutti.replaceTemporaryReferential.action.replace.mnemonic= -tutti.replaceTemporaryReferential.action.replace.tip= -tutti.replaceTemporaryReferential.field.delete= -tutti.replaceTemporaryReferential.field.delete.tip= -tutti.replaceTemporaryReferential.field.sourceList= -tutti.replaceTemporaryReferential.field.sourceList.tip= -tutti.replaceTemporaryReferential.field.targetList= -tutti.replaceTemporaryReferential.field.targetList.tip= -tutti.replaceTemporarySpecies.title= -tutti.replaceTemporaryVessel.title= -tutti.report.action.cancel= -tutti.report.action.cancel.mnemonic= -tutti.report.action.cancel.tip= -tutti.report.action.generate= -tutti.report.action.generate.mnemonic= -tutti.report.action.generate.tip= -tutti.report.action.openReport= -tutti.report.action.openReport.mnemonic= -tutti.report.action.openReport.tip= -tutti.report.action.save= -tutti.report.action.save.mnemonic= -tutti.report.action.save.tip= -tutti.report.field.fishingOperation= -tutti.report.field.fishingOperation.tip= -tutti.report.field.report= -tutti.report.field.report.tip= -tutti.report.generated= -tutti.report.saved= -tutti.report.title= -tutti.report.title.choose.saveReportFile= -tutti.resetCruise.action.cruiseReloaded= -tutti.resetProgram.action.programReloaded= -tutti.rtpEdit.askCancelEditBeforeLeaving= -tutti.rtpEdit.askSaveBeforeLeaving= -tutti.rtpEdit.title= -tutti.selectBenthos.title= -tutti.selectCruise.action.cloneProtocol= -tutti.selectCruise.action.cloneProtocol.tip= -tutti.selectCruise.action.deleteProtocol= -tutti.selectCruise.action.deleteProtocol.message= -tutti.selectCruise.action.deleteProtocol.tip= -tutti.selectCruise.action.deleteProtocol.title= -tutti.selectCruise.action.editCatches= -tutti.selectCruise.action.editCatches.mnemonic= -tutti.selectCruise.action.editCatches.tip= -tutti.selectCruise.action.editCruise= -tutti.selectCruise.action.editCruise.tip= -tutti.selectCruise.action.editProgram= -tutti.selectCruise.action.editProgram.tip= -tutti.selectCruise.action.editProtocol= -tutti.selectCruise.action.editProtocol.tip= -tutti.selectCruise.action.exportCruiseForSumatra= -tutti.selectCruise.action.exportCruiseForSumatra.tip= -tutti.selectCruise.action.exportProtocol= -tutti.selectCruise.action.exportProtocol.tip= -tutti.selectCruise.action.importProtocol= -tutti.selectCruise.action.importProtocol.tip= -tutti.selectCruise.action.newCruise= -tutti.selectCruise.action.newCruise.tip= -tutti.selectCruise.action.newProgram= -tutti.selectCruise.action.newProgram.tip= -tutti.selectCruise.action.newProtocol= -tutti.selectCruise.action.newProtocol.tip= -tutti.selectCruise.action.sendCruiseReport= -tutti.selectCruise.action.sendCruiseReport.tip= -tutti.selectCruise.action.speciesToConfirmReportForCruise= -tutti.selectCruise.action.speciesToConfirmReportForCruise.tip= -tutti.selectCruise.action.validateCatches= -tutti.selectCruise.action.validateCatches.mnemonic= -tutti.selectCruise.action.validateCatches.tip= -tutti.selectCruise.field.cruise= -tutti.selectCruise.field.cruise.tip= -tutti.selectCruise.field.program= -tutti.selectCruise.field.program.tip= -tutti.selectCruise.field.protocol= -tutti.selectCruise.field.protocol.tip= -tutti.selectCruise.title= -tutti.selectCruise.title.choose.exportProtocolFile= -tutti.selectCruise.title.choose.importProtocolFile= -tutti.selectCruise.warn.invalid.selected.data= -tutti.selectSpecies.action.cancel= -tutti.selectSpecies.action.cancel.mnemonic= -tutti.selectSpecies.action.cancel.tip= -tutti.selectSpecies.action.showAllSpecies= -tutti.selectSpecies.action.showAllSpecies.mnemonic= -tutti.selectSpecies.action.showAllSpecies.tip= -tutti.selectSpecies.action.validate= -tutti.selectSpecies.action.validate.mnemonic= -tutti.selectSpecies.action.validate.tip= -tutti.selectSpecies.title= -tutti.selectSpeciesForSpeciesBatch.title= -tutti.sendCruiseReport.action.chooseFile= -tutti.sendCruiseReport.action.success= -tutti.sendCruiseReport.title.choose.exportFile= -tutti.species.name.tip= -tutti.species.refTaxCode.tip= -tutti.species.surveyCode.tip= -tutti.speciesToConfirmReport.action.chooseFile= -tutti.speciesToConfirmReport.fileName.default= -tutti.speciesToConfirmReport.title.choose.exportFile= -tutti.splitSpeciesBatch.action.cancel= -tutti.splitSpeciesBatch.action.cancel.mnemonic= -tutti.splitSpeciesBatch.action.cancel.tip= -tutti.splitSpeciesBatch.action.save= -tutti.splitSpeciesBatch.action.save.mnemonic= -tutti.splitSpeciesBatch.action.save.tip= -tutti.splitSpeciesBatch.field.batchWeight= -tutti.splitSpeciesBatch.field.batchWeightField.tip= -tutti.splitSpeciesBatch.field.category= -tutti.splitSpeciesBatch.field.categoryField.tip= -tutti.splitSpeciesBatch.field.sampleWeight= -tutti.splitSpeciesBatch.field.sampleWeightField.tip= -tutti.splitSpeciesBatch.table.header.category= -tutti.splitSpeciesBatch.table.header.selected= -tutti.splitSpeciesBatch.table.header.weight= -tutti.splitSpeciesBatch.title= -tutti.title.openReplaceTemporaryUI.noSource= -tutti.title.openReplaceTemporaryUI.noTarget= -tutti.toolbar.menu.action= -tutti.toolbar.menu.action.mnemonic= -tutti.toolbar.menu.action.tip= -tutti.toolbar.menuExportMultiPost.action= -tutti.toolbar.menuExportMultiPost.action.mnemonic= -tutti.toolbar.menuExportMultiPost.action.tip= -tutti.toolbar.menuImportMultiPost.action= -tutti.toolbar.menuImportMultiPost.action.mnemonic= -tutti.toolbar.menuImportMultiPost.action.tip= -tutti.ui.change.species.decorator= -tutti.update.db= -tutti.update.error.with.auth= -tutti.update.error.with.noauth= -tutti.update.help= -tutti.update.i18n= -tutti.update.ichtyometer= -tutti.update.jre= -tutti.update.launcher= -tutti.update.report= -tutti.update.tutti= -tutti.updateApplication.checkUpdates= -tutti.updateApplication.message.success= -tutti.updateApplication.noUpdate= -tutti.updateApplication.title.success= -tutti.updateReport.message.success= -tutti.updateReport.noUpdate= -tutti.updateReport.title.success= -tutti.validateCruise.action.editCruise.tip= -tutti.validateCruise.action.export.all.chooseFile.label= -tutti.validateCruise.action.export.all.chooseFile.title= -tutti.validateCruise.action.export.all.success= -tutti.validateCruise.action.export.all.tip= -tutti.validateCruise.action.export.operation.chooseFile.label= -tutti.validateCruise.action.export.operation.chooseFile.title= -tutti.validateCruise.action.export.operation.success= -tutti.validateCruise.action.export.operation.tip= -tutti.validateCruise.navigation.action.export.all.tip= -tutti.validateCruise.navigation.action.export.operation= -tutti.validateCruise.navigation.action.export.operation.mnemonic= -tutti.validateCruise.navigation.action.export.operation.tip= -tutti.validateCruise.navigation.action.readyToSynch= -tutti.validateCruise.navigation.action.readyToSynch.mnemonic= -tutti.validateCruise.navigation.action.readyToSynch.tip= -tutti.validateCruise.navigation.title= -tutti.validationCruise.action.saveCruiseToReadyToSynch.message= -tutti.validationCruise.action.saveCruiseToReadyToSynch.tip= -tutti.validationCruise.action.saveCruiseToReadyToSynch.title= -tutti.validator.error.benthosFrequency.incoherentTotalWeights= -tutti.validator.error.benthosFrequency.lengthStepCaracteristic.required= -tutti.validator.error.benthosFrequency.oneRowRequired= -tutti.validator.error.benthosFrequency.step.positiveValue= +tutti.reimport.step.backupDb=Sauvegarde de la base dans l'archive %s +tutti.reimport.step.closeDb=Fermeture de la base +tutti.reimport.step.reloadApplication=Redémarrage de l'application... +tutti.reinstallDb.step.backupDb=Sauvegarde de la base dans l'archive %s +tutti.reinstallDb.step.closeDb=Fermeture de la base <strong>%s</strong> +tutti.reinstallDb.step.reloadApplication=Redémarrage de l'application... +tutti.replaceTemporary.done=<html><body>Le référentiel temporaire de type %s <strong>%s</strong> a été remplacée par <strong>%s</strong> +tutti.replaceTemporaryAndDelete.done=<html><body>Le référentiel temporaire de type %s <strong>%s</strong> a été remplacée par <strong>%s</strong> puis supprimé. +tutti.replaceTemporaryGear.title=Remplacer un engin temporaire +tutti.replaceTemporaryPerson.title=Remplacer un utilisateur temporaire +tutti.replaceTemporaryReferential.action.cancel=Annuler +tutti.replaceTemporaryReferential.action.cancel.mnemonic=A +tutti.replaceTemporaryReferential.action.cancel.tip=Annuler le remplacement +tutti.replaceTemporaryReferential.action.replace=Remplacer +tutti.replaceTemporaryReferential.action.replace.mnemonic=R +tutti.replaceTemporaryReferential.action.replace.tip=Remplacer le référentiel temporaire sélectionné +tutti.replaceTemporaryReferential.field.delete=Supprimer la donnée temporaire après le remplacement +tutti.replaceTemporaryReferential.field.delete.tip=Supprimer la donnée temporaire après le remplacement +tutti.replaceTemporaryReferential.field.sourceList=Référentiel temporaire +tutti.replaceTemporaryReferential.field.sourceList.tip=Sélectionner le référentiel temporaire à remplacer +tutti.replaceTemporaryReferential.field.targetList=Référentiel officiel +tutti.replaceTemporaryReferential.field.targetList.tip=Sélectionner le référentiel officiel de remplacement +tutti.replaceTemporarySpecies.title=Remplacer une espèce temporaire +tutti.replaceTemporaryVessel.title=Remplacer un navire temporaire +tutti.report.action.cancel=Quitter +tutti.report.action.cancel.mnemonic=Q +tutti.report.action.cancel.tip=Quitter l'écran +tutti.report.action.generate=Générer +tutti.report.action.generate.mnemonic=G +tutti.report.action.generate.tip=Générer le rapport +tutti.report.action.openReport=Ouvrir +tutti.report.action.openReport.mnemonic=O +tutti.report.action.openReport.tip=Ouvrir le dernier rapport généré +tutti.report.action.save=Enregistrer +tutti.report.action.save.mnemonic=S +tutti.report.action.save.tip=Enregistrer le dernier rapport généré +tutti.report.action.showOutputFile.mnemonic=V +tutti.report.action.showOutputFile.tip=Voir le rapport +tutti.report.field.fishingOperation=Trait +tutti.report.field.fishingOperation.tip=Sélectionner le trait +tutti.report.field.outputFile=Rapport +tutti.report.field.outputFile.tip=Chemin où générer le rapport +tutti.report.field.report=Modèle +tutti.report.field.report.tip=Modèle de rapport à générer +tutti.report.generated=Le rapport a été généré avec succès. +tutti.report.saved=Rapport enregistré \: <strong>%s</strong> +tutti.report.title=Rapports +tutti.report.title.choose.saveReportFile=Enregistrer le rapport généré +tutti.resetCruise.action.cruiseReloaded=<html><body>La campagne <strong>%s</strong> est rechargée</body></html>. +tutti.resetProgram.action.programReloaded=<html><body>Le programme <strong>%s</strong> est rechargé</body></html>. +tutti.rtpEdit.askCancelEditBeforeLeaving=Les relations taille-poids ne sont pas valides et ne peuvent pas être enregistrées +tutti.rtpEdit.askSaveBeforeLeaving=Des modifications n'ont pas été enregistrées +tutti.rtpEdit.title=Relations taille-poids de l'espèce %s +tutti.selectBenthos.title=Choisissez une espèce du benthos +tutti.selectCruise.action.chooseCruiseExportFile=Exporter +tutti.selectCruise.action.chooseProgramExportFile=Exporter +tutti.selectCruise.action.cloneProtocol=Cloner +tutti.selectCruise.action.cloneProtocol.tip=Dupliquer le protocole sélectionné +tutti.selectCruise.action.deleteProtocol=Supprimer +tutti.selectCruise.action.deleteProtocol.message=Vous êtes sur le point de supprimer le protocole <strong>%s</strong> +tutti.selectCruise.action.deleteProtocol.tip=Supprimer le protocole sélectionné +tutti.selectCruise.action.deleteProtocol.title=Supprimer le protocole sélectionné +tutti.selectCruise.action.editCatches=Saisir les traits et les captures +tutti.selectCruise.action.editCatches.mnemonic=S +tutti.selectCruise.action.editCatches.tip=Ouvrir les écrans de saisie des traits et des captures +tutti.selectCruise.action.editCruise=Éditer +tutti.selectCruise.action.editCruise.tip=Éditer la campagne sélectionnée +tutti.selectCruise.action.editProgram=Éditer +tutti.selectCruise.action.editProgram.tip=Éditer le programme sélectionné +tutti.selectCruise.action.editProtocol=Éditer +tutti.selectCruise.action.editProtocol.tip=Éditer le protocole sélectionné +tutti.selectCruise.action.exportCruise=Export Générique +tutti.selectCruise.action.exportCruise.tip=Exporter la campagne sélectionnée au format générique +tutti.selectCruise.action.exportCruiseForSumatra=Export csv +tutti.selectCruise.action.exportCruiseForSumatra.tip=Exporter la campagne sélectionnée au format csv +tutti.selectCruise.action.exportProgram=Exporter +tutti.selectCruise.action.exportProgram.tip=Exporter la série sélectionnée +tutti.selectCruise.action.exportProtocol=Exporter +tutti.selectCruise.action.exportProtocol.tip=Exporter le protocole sélectionné +tutti.selectCruise.action.importGenericformat=Importer +tutti.selectCruise.action.importProgram=Importer +tutti.selectCruise.action.importProgram.tip=Importer des campagnes au format générique +tutti.selectCruise.action.importProtocol=Importer +tutti.selectCruise.action.importProtocol.tip=Importer un protocole +tutti.selectCruise.action.newCruise=Nouveau +tutti.selectCruise.action.newCruise.tip=Créer une nouvelle campagne +tutti.selectCruise.action.newProgram=Nouveau +tutti.selectCruise.action.newProgram.tip=Créer une nouvelle série de campagne +tutti.selectCruise.action.newProtocol=Nouveau +tutti.selectCruise.action.newProtocol.tip=Créer un nouveau protocole +tutti.selectCruise.action.sendCruiseReport=Export Pdf +tutti.selectCruise.action.sendCruiseReport.tip=Exporter au format pdf et envoyer par courriel +tutti.selectCruise.action.speciesToConfirmReportForCruise=Espèces à confirmer +tutti.selectCruise.action.speciesToConfirmReportForCruise.tip=Créer le rapport des espèces à confirmer pour la campagne +tutti.selectCruise.action.validateCatches=Valider les captures +tutti.selectCruise.action.validateCatches.mnemonic=V +tutti.selectCruise.action.validateCatches.tip=Lancer le processus de validation des données +tutti.selectCruise.field.cruise=Campagne +tutti.selectCruise.field.cruise.tip=Nom de la campagne +tutti.selectCruise.field.program=Série de campagne +tutti.selectCruise.field.program.tip=Nom de la série de campagne +tutti.selectCruise.field.protocol=Protocole de saisie +tutti.selectCruise.field.protocol.tip=Nom du protocole de saisie +tutti.selectCruise.title=Sélection de la campagne +tutti.selectCruise.title.choose.exportCruiseFile=Exporter une campagne +tutti.selectCruise.title.choose.exportFile=Exporter le protocole +tutti.selectCruise.title.choose.exportProgramFile=Exporter une série de campagne +tutti.selectCruise.title.choose.exportProtocolFile=Exporter le protocole +tutti.selectCruise.title.choose.importFile=Importer le protocole +tutti.selectCruise.title.choose.importGenericFormatFile=Importer des campagnes +tutti.selectCruise.title.choose.importProtocolFile=Importer le protocole +tutti.selectCruise.warn.invalid.selected.data=Les données sélectionnées ne sont pas valides, impossible de saisir ou valider les captures. +tutti.selectNode.cruisePartialSelected=La campagne est partiellement sélectionnée pour l'export ( %s traits à exporter , %s enregistrés ) +tutti.selectNode.cruiseSelected=La campagne est sélectionnée pour l'export ( %s traits à exporter ) +tutti.selectNode.operation=Trait %s +tutti.selectNode.operationSelected=Le trait est sélectionné pour l'export +tutti.selectSpecies.action.cancel=Annuler +tutti.selectSpecies.action.cancel.mnemonic=A +tutti.selectSpecies.action.cancel.tip=Annuler la sélection de l'espèce +tutti.selectSpecies.action.showAllSpecies=Afficher toutes les espèces +tutti.selectSpecies.action.showAllSpecies.mnemonic=t +tutti.selectSpecies.action.showAllSpecies.tip=Afficher toutes les espèces, réferents et synonymes dans la liste déroulante +tutti.selectSpecies.action.validate=Valider +tutti.selectSpecies.action.validate.mnemonic=V +tutti.selectSpecies.action.validate.tip=Valider la sélection de l'espèce +tutti.selectSpecies.title=Choisissez une espèce +tutti.selectSpeciesForBenthosBatch.title=Choisissez une espèce hors protocole +tutti.selectSpeciesForSpeciesBatch.title=Choisissez une espèce hors protocole +tutti.sendCruiseReport.action.chooseFile=Choisir le fichier de rapport +tutti.sendCruiseReport.action.success=Les captures ont correctement été exporté dans le fichier <strong>%s</strong> +tutti.sendCruiseReport.title.choose.exportFile=Envoyer les captures de la campagne +tutti.species.name.tip=Nom scientifique +tutti.species.refTaxCode.tip=Code Rubin +tutti.species.surveyCode.tip=Code campagne ou code rubin +tutti.speciesToConfirmReport.action.chooseFile=Choisir le fichier de rapport +tutti.speciesToConfirmReport.fileName.default=Especes_a_confirmer_%1$s_%2$s +tutti.speciesToConfirmReport.title.choose.exportFile=Rapport des espèces à confirmer +tutti.splitBenthosBatch.action.cancel=Annuler +tutti.splitBenthosBatch.action.cancel.mnemonic=A +tutti.splitBenthosBatch.action.cancel.tip=Annuler le sous-échantillonnage +tutti.splitBenthosBatch.action.save=Enregistrer +tutti.splitBenthosBatch.action.save.mnemonic=E +tutti.splitBenthosBatch.action.save.tip=Sauver le sous-échantillonnage +tutti.splitBenthosBatch.field.batchWeight=Poids du lot père +tutti.splitBenthosBatch.field.batchWeight.tip=Poids du lot père (si renseigné) +tutti.splitBenthosBatch.field.category=Catégorie +tutti.splitBenthosBatch.field.category.tip=Choisir le mode de catégorisation +tutti.splitBenthosBatch.field.sampleWeight=Poids total catégorisé +tutti.splitBenthosBatch.field.sampleWeight.tip=Somme des poids saisis ci-dessous +tutti.splitBenthosBatch.table.header.category=Catégorie +tutti.splitBenthosBatch.table.header.selected=Sélection +tutti.splitBenthosBatch.table.header.weight=Poids +tutti.splitBenthosBatch.title=Catégorisation du lot +tutti.splitSpeciesBatch.action.cancel=Annuler +tutti.splitSpeciesBatch.action.cancel.mnemonic=A +tutti.splitSpeciesBatch.action.cancel.tip=Annuler le sous-échantillonnage +tutti.splitSpeciesBatch.action.save=Enregistrer +tutti.splitSpeciesBatch.action.save.mnemonic=E +tutti.splitSpeciesBatch.action.save.tip=Sauver le sous-échantillonnage +tutti.splitSpeciesBatch.field.batchWeight=Poids total à catégoriser +tutti.splitSpeciesBatch.field.batchWeightField.tip=Poids du lot père (si renseigné) +tutti.splitSpeciesBatch.field.category=Catégorie +tutti.splitSpeciesBatch.field.categoryField.tip=Choisir le mode de catégorisation +tutti.splitSpeciesBatch.field.sampleWeight=Poids total catégorisé +tutti.splitSpeciesBatch.field.sampleWeightField.tip=Somme des poids saisis ci-dessous +tutti.splitSpeciesBatch.table.header.category=Catégorie +tutti.splitSpeciesBatch.table.header.selected=Sélection +tutti.splitSpeciesBatch.table.header.weight=Poids +tutti.splitSpeciesBatch.title=Catégorisation du lot +tutti.test= +tutti.title.openReplaceTemporaryUI.noSource=Pas de référentiel temporaire de type %s dans la base +tutti.title.openReplaceTemporaryUI.noTarget=Pas de référentiel officiel de type %s dans la base +tutti.todo= +tutti.toolbar.menu.action=Actions +tutti.toolbar.menu.action.mnemonic=A +tutti.toolbar.menu.action.tip=Actions possibles pour cet onglet +tutti.toolbar.menuExportMultiPost.action=Export multi-postes +tutti.toolbar.menuExportMultiPost.action.mnemonic=E +tutti.toolbar.menuExportMultiPost.action.tip=Exporter des lots espèces +tutti.toolbar.menuImportMultiPost.action=Import multi-postes +tutti.toolbar.menuImportMultiPost.action.mnemonic=I +tutti.toolbar.menuImportMultiPost.action.tip=Import des lots espèces +tutti.ui.change.species.decorator=Changer la décoration +tutti.update.db=Base de données +tutti.update.error.with.auth=Impossible de télécharger la mise à jour du module <strong>%s</strong>.<br/>Le login / mot de passe que vous avez saisis n'étaient peut-être pas corrects.<br/>Si le problème persiste, veuillez consulter l'administrateur. +tutti.update.error.with.noauth=Impossible de télécharger la mise à jour du module <strong>%s</strong>.<br/>Si le problème persiste, veuillez consulter l'administrateur. +tutti.update.help=Aide en ligne +tutti.update.i18n=Traductions +tutti.update.ichtyometer=Ichtyometre +tutti.update.jre=Java +tutti.update.launcher=Lanceur d'application +tutti.update.report=Rapports +tutti.update.tutti=Allegro Campagne +tutti.updateApplication.checkUpdates=Recherche de mises à jour +tutti.updateApplication.message.success=La mise à jour du logiciel nécessite le redémarrage de l'application +tutti.updateApplication.noUpdate=<strong>Aucune mise à jour de l'application détectée.</strong> +tutti.updateApplication.title.success=Redémarrage de l'application nécessaire... +tutti.updateDb.error.with.auth=Impossible de télécharger la base de données.<br/>Le login / mot de passe que vous avez saisis n'étaient peut-être pas corrects.<br/>Si le problème persiste, veuillez consulter l'administrateur. +tutti.updateDb.error.with.noauth=Impossible de télécharger la base de données.<br/>Si le problème persiste, veuillez consulter l'administrateur. +tutti.updateReport.error.with.auth=Impossible de télécharger la mise à jour des rapports.<br/>Le login / mot de passe que vous avez saisis n'étaient peut-être pas corrects.<br/>Si le problème persiste, veuillez consulter l'administrateur. +tutti.updateReport.error.with.noauth=Impossible de télécharger la mise à jour des rapports.<br/>Si le problème persiste, veuillez consulter l'administrateur. +tutti.updateReport.message.success=La mise à jour des rapports nécessite le redémarrage de l'application +tutti.updateReport.noUpdate=<strong>Aucune mise à jour de rapports détectée.</strong> +tutti.updateReport.title.success=Redémarrage de l'application nécessaire... +tutti.upgradeDb.message.success=La mise à jour des référentiels nécessite le redémarrage de l'application +tutti.upgradeDb.title.success=Redémarrage de l'application nécessaire... +tutti.validateCruise.action.editCruise.tip=Éditer la campagne +tutti.validateCruise.action.export.all.chooseFile.label=Exporter +tutti.validateCruise.action.export.all.chooseFile.title=Exporter les messages de validation de la campagne +tutti.validateCruise.action.export.all.success=Les messages de validation des captures ont correctement été exporté dans le fichier %s +tutti.validateCruise.action.export.all.tip=Exporter les messages de validation de la campagne +tutti.validateCruise.action.export.operation.chooseFile.label=Exporter +tutti.validateCruise.action.export.operation.chooseFile.title=Exporter les messages de validation de l'opération +tutti.validateCruise.action.export.operation.success=Les messages de validation de l'opération ont correctement été exporté dans le fichier %s +tutti.validateCruise.action.export.operation.tip=Exporter les messages de validation de l'opération +tutti.validateCruise.navigation.action.export.all.tip=Exporter les messages de validation de la campagne +tutti.validateCruise.navigation.action.export.operation=Exporter +tutti.validateCruise.navigation.action.export.operation.mnemonic=x +tutti.validateCruise.navigation.action.export.operation.tip=Exporter les messages de validation de l'opération +tutti.validateCruise.navigation.action.readyToSynch=Rendre les données synchronisables +tutti.validateCruise.navigation.action.readyToSynch.mnemonic=S +tutti.validateCruise.navigation.action.readyToSynch.tip=Rendre les données synchronisables vers Harmonie +tutti.validateCruise.navigation.title=Traits +tutti.validationCruise.action.saveCruiseToReadyToSynch.message=<html>Voulez vous rendre vos données synchronisables vers Harmonie ?</html> +tutti.validationCruise.action.saveCruiseToReadyToSynch.tip=Rendre les données synchronisables vers Harmonie +tutti.validationCruise.action.saveCruiseToReadyToSynch.title=Rendre synchronisable les données vers Harmonie +tutti.validator.error.benthosFrequency.incoherentTotalWeights=Le poids total est différent de la somme des poids des poids observés +tutti.validator.error.benthosFrequency.lengthStepCaracteristic.required=La classe de taille est obligatoire +tutti.validator.error.benthosFrequency.oneRowRequired=Au moins une classe de taille doit être observée +tutti.validator.error.benthosFrequency.step.positiveValue=Le pas de la classe de taille doit être strictement positif tutti.validator.error.cpsEditor.dialog.minSize.between= tutti.validator.error.cpsEditor.dialog.minSize.required= -tutti.validator.error.createAccidentalBatch.species.required= -tutti.validator.error.createIndividualObservationBatch.lengthStepCaracteristic.required= -tutti.validator.error.createIndividualObservationBatch.size.required= -tutti.validator.error.createIndividualObservationBatch.species.required= -tutti.validator.error.createIndividualObservationBatch.weight.required= -tutti.validator.error.createMarineLitterBatch.categoryAndSizeCategory.notAvailable= -tutti.validator.error.createMarineLitterBatch.marineLitterCategory.required= -tutti.validator.error.createMarineLitterBatch.marineLitterSizeCategory.required= -tutti.validator.error.createMarineLitterBatch.number.invalidValue= -tutti.validator.error.createMarineLitterBatch.number.required= +tutti.validator.error.createAccidentalBatch.species.required=L'espèce est obligatoire +tutti.validator.error.createIndividualObservationBatch.lengthStepCaracteristic.required=La classe de taille est obligatoire +tutti.validator.error.createIndividualObservationBatch.size.required=La taille est obligatoire +tutti.validator.error.createIndividualObservationBatch.species.required=L'espèce est obligatoire +tutti.validator.error.createIndividualObservationBatch.weight.required=Le poids est obligatoire +tutti.validator.error.createMarineLitterBatch.categoryAndSizeCategory.notAvailable=Couple (catégorie de déchet - catégorie de taille) déjà utilisée +tutti.validator.error.createMarineLitterBatch.marineLitterCategory.required=La catégorie de déchet est obligatoire +tutti.validator.error.createMarineLitterBatch.marineLitterSizeCategory.required=La catégorie de taille est obligatoire +tutti.validator.error.createMarineLitterBatch.number.invalidValue=Le nombre doit être strictement positif +tutti.validator.error.createMarineLitterBatch.number.required=Le nombre est obligatoire tutti.validator.error.createSpeciesBatch.batchSampleCategoryWeight.invalidValue= -tutti.validator.error.createSpeciesBatch.batchWeight.invalidValue= -tutti.validator.error.createSpeciesBatch.sampleWeight.invalidValue= -tutti.validator.error.createSpeciesBatch.sampleWeight.sampleBatchGreaterThanBatchSampleCategoryWeight= -tutti.validator.error.createSpeciesBatch.sortedUnsortedCategory.required= -tutti.validator.error.createSpeciesBatch.species.required= -tutti.validator.error.createSpeciesBatch.speciesAndCategory.notAvailable= -tutti.validator.error.createSpeciesBatch.weight.weightGreaterThanBatchSampleCategoryWeight= -tutti.validator.error.cruise.name.format= -tutti.validator.error.latitude.decimal.outOfBounds= -tutti.validator.error.latitude.degree.outOfBounds= -tutti.validator.error.latitude.end.required= -tutti.validator.error.latitude.minute.outOfBounds= -tutti.validator.error.latitude.second.outOfBounds= -tutti.validator.error.latitude.start.required= -tutti.validator.error.longitude.decimal.outOfBounds= -tutti.validator.error.longitude.degree.outOfBounds= -tutti.validator.error.longitude.end.required= -tutti.validator.error.longitude.minute.outOfBounds= -tutti.validator.error.longitude.second.outOfBounds= -tutti.validator.error.longitude.start.required= -tutti.validator.error.maturityCaracteristicEditor.dialog.qualitativeValues.bithStates= -tutti.validator.error.program.zone.required= -tutti.validator.error.replaceTemporaryReferential.source.required= -tutti.validator.error.replaceTemporaryReferential.target.required= -tutti.validator.error.report.cruiseId.required= -tutti.validator.error.report.fishingOperation.required= -tutti.validator.error.report.report.required= +tutti.validator.error.createSpeciesBatch.batchSampleWeight.invalidValue=Le poids du lot doit être strictement positif +tutti.validator.error.createSpeciesBatch.batchWeight.invalidValue=Le poids du sous-échantillon doit être strictement positif +tutti.validator.error.createSpeciesBatch.sampleWeight.invalidValue=La somme des poids ventilés doit être strictement positive +tutti.validator.error.createSpeciesBatch.sampleWeight.sampleBatchGreaterThanBatchSampleCategoryWeight=La somme des poids ventilés doit être inférieur ou égale à celle du poids du lot +tutti.validator.error.createSpeciesBatch.sortedUnsortedCategory.required=La catégorie Vrac / Hors Vrac est obligatoire +tutti.validator.error.createSpeciesBatch.species.required=L'espèce est obligatoire +tutti.validator.error.createSpeciesBatch.speciesAndCategory.notAvailable=Couple (espèce - Vrac/Hors Vrac) déjà utilisée +tutti.validator.error.createSpeciesBatch.weight.weightGreaterThanBatchSampleCategoryWeight=Le poids du sous-échantillon doit être inférieur au poids du lot +tutti.validator.error.cruise.name.format=Le format n'est pas celui attendu ... +tutti.validator.error.latitude.decimal.outOfBounds=La décimale de la latitude doit être comprise entre 0 et 99 +tutti.validator.error.latitude.degree.outOfBounds=Le degré de la latitude doit être compris entre -90 et 90 +tutti.validator.error.latitude.end.required=La latitude de fin de traîne est obligatoire +tutti.validator.error.latitude.minute.outOfBounds=La minute de la latitude doit être comprise entre 0 et 59 +tutti.validator.error.latitude.second.outOfBounds=La seconde de la latitude doit être comprise entre 0 et 59 +tutti.validator.error.latitude.start.required=La latitude de début de traîne est obligatoire +tutti.validator.error.longitude.decimal.outOfBounds=La décimale de la longitude doit être comprise entre 0 et 99 +tutti.validator.error.longitude.degree.outOfBounds=Le degré de la longitude doit être compris entre -180 et 180 +tutti.validator.error.longitude.end.required=La longitude de fin de traîne est obligatoire +tutti.validator.error.longitude.minute.outOfBounds=La minute de la longitude doit être comprise entre 0 et 59 +tutti.validator.error.longitude.second.outOfBounds=La seconde de la longitude doit être comprise entre 0 et 59 +tutti.validator.error.longitude.start.required=La longitude de début de traîne est obligatoire +tutti.validator.error.maturityCaracteristics.statesNotDefined=Les états de maturités doivent être définis pour toutes les caractéristiques de maturités +tutti.validator.error.program.zone.required=La zone de la série est obligatoire +tutti.validator.error.replaceTemporaryReferential.source.required=Un référentiel temporaire doit être sélectionné +tutti.validator.error.replaceTemporaryReferential.target.required=Un référentiel officiel doit être sélectionné +tutti.validator.error.report.cruiseId.required=La campagne est obligatoire +tutti.validator.error.report.fishingOperation.required=Un trait doit être sélectionné +tutti.validator.error.report.outputFile.required=Le fichier de sortie est obligatoire +tutti.validator.error.report.report.required=Un modèle de rapport doit être sélectionné tutti.validator.error.rtpEditor.rtpFemaleA.required= tutti.validator.error.rtpEditor.rtpFemaleB.required= tutti.validator.error.rtpEditor.rtpMaleA.required= tutti.validator.error.rtpEditor.rtpMaleB.required= tutti.validator.error.rtpEditor.rtpUndefinedA.required= tutti.validator.error.rtpEditor.rtpUndefinedB.required= -tutti.validator.error.speciesFrequency.allWeightsOrNoneRequired= -tutti.validator.error.speciesFrequency.incoherentTotalWeights= -tutti.validator.error.speciesFrequency.individualObservationsWithoutWeights= -tutti.validator.error.speciesFrequency.lengthStepCaracteristic.required= -tutti.validator.error.speciesFrequency.oneRowRequired= -tutti.validator.error.speciesFrequency.step.positiveValue= -tutti.validator.error.splitSpeciesBatch.sampleWeight.invalidValue= -tutti.validator.error.splitSpeciesBatch.sampleWeight.sampleBatchGreaterThanBatchWeight= -tutti.validator.error.splitSpeciesBatch.selectedCategory.required= -tutti.validator.error.zoneEditor.availableStratas.remaining= -tutti.validator.info.cruise.noError= -tutti.validator.info.operation.noError= -tutti.validator.warning.benthosFrequency.redundantTotalWeight= -tutti.validator.warning.speciesFrequency.redundantTotalWeight= -tutti.vesselUseFeatureTable.action.removeCaracteristic= -tutti.vesselUseFeatureTable.action.removeCaracteristic.mnemonic= -tutti.vesselUseFeatureTable.action.removeCaracteristic.tip= -tutti.vesselUseFeatureTable.table.header.key= -tutti.vesselUseFeatureTable.table.header.value= -tutti.vesselUseFeatureTable.title= -tutti.zoneEditor.action.delete= -tutti.zoneEditor.action.delete.mnemonic= -tutti.zoneEditor.action.delete.tip= -tutti.zoneEditor.action.rename= -tutti.zoneEditor.action.rename.mnemonic= -tutti.zoneEditor.action.rename.tip= -tutti.zoneEditor.availableStratas.root.label= -tutti.zoneEditor.createZone.message= -tutti.zoneEditor.createZone.title= -tutti.zoneEditor.deleteZone.message= -tutti.zoneEditor.deleteZone.title= -tutti.zoneEditor.renameZone.message= -tutti.zoneEditor.renameZone.title= -tutti.zoneEditor.zones.root.label= +tutti.validator.error.speciesFrequency.allWeightsOrNoneRequired=Tous les poids doivent être saisis ou aucun +tutti.validator.error.speciesFrequency.incoherentTotalWeights=Le poids total est différent de la somme des poids des poids observés +tutti.validator.error.speciesFrequency.individualObservationsWithoutWeights=Tous les poids des observations individuelles ne sont pas renseignés +tutti.validator.error.speciesFrequency.lengthStepCaracteristic.required=La classe de taille est obligatoire +tutti.validator.error.speciesFrequency.oneRowRequired=Au moins une classe de taille doit être observée +tutti.validator.error.speciesFrequency.step.positiveValue=Le pas de la classe de taille doit être strictement positif +tutti.validator.error.splitSpeciesBatch.sampleWeight.invalidValue=La somme des poids ventilés doit être strictement positive +tutti.validator.error.splitSpeciesBatch.sampleWeight.sampleBatchGreaterThanBatchWeight=La somme des poids ventilés doit être inférieur ou égale à celle du poids du lot +tutti.validator.error.splitSpeciesBatch.selectedCategory.required=La catégorie est obligatoire +tutti.validator.error.zoneEditor.availableStratas.remaining=Il reste des strates ou des sous-strates à positionner dans les zones +tutti.validator.info.cruise.noError=Campagne sans erreur +tutti.validator.info.operation.noError=Trait sans erreur +tutti.validator.warning.benthosFrequency.redundantTotalWeight=Le poids total est redondant (égal au poids calculé à partir des poids observés) +tutti.validator.warning.speciesFrequency.redundantTotalWeight=Le poids total est redondant (égal au poids calculé à partir des poids observés) +tutti.vesselUseFeatureTable.action.removeCaracteristic=Supprimer +tutti.vesselUseFeatureTable.action.removeCaracteristic.mnemonic=S +tutti.vesselUseFeatureTable.action.removeCaracteristic.tip=Supprimer la caractéristique +tutti.vesselUseFeatureTable.table.header.key=Caractéristique +tutti.vesselUseFeatureTable.table.header.value=Valeur +tutti.vesselUseFeatureTable.title=Autres paramètres +tutti.zoneEditor.action.delete=Supprimer la zone +tutti.zoneEditor.action.delete.mnemonic=Supprimer la zone sélectionnée +tutti.zoneEditor.action.delete.tip=S +tutti.zoneEditor.action.rename=Renommer la zone +tutti.zoneEditor.action.rename.mnemonic=Renommer la zone sélectionnée +tutti.zoneEditor.action.rename.tip=R +tutti.zoneEditor.availableStratas.root.label=Strates à attribuer à une zone +tutti.zoneEditor.createZone.message=Libellé de la nouvelle zone +tutti.zoneEditor.createZone.title=Nouvelle zone +tutti.zoneEditor.deleteZone.message=Vous êtes sur le point de supprimer la zone %s. Êtes-vous sûr de vouloir la supprimer ? +tutti.zoneEditor.deleteZone.title=Suppression de zone +tutti.zoneEditor.renameZone.message=Nouveau libellé de la zone +tutti.zoneEditor.renameZone.title=Renommer la zone %s +tutti.zoneEditor.zones.root.label=Zones -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8109 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 8c66e198df69f0c306cdc53c7f6c6fab78b0cbf2 Author: Kevin Morin <morin@codelutin.com> Date: Wed Mar 23 18:18:47 2016 +0100 ajout du tooltip (refs #8109) --- .../content/protocol/EditProtocolUIHandler.java | 74 +++++++++++++++++----- .../resources/i18n/tutti-ui-swing_en_GB.properties | 2 + .../resources/i18n/tutti-ui-swing_fr_FR.properties | 2 + 3 files changed, 62 insertions(+), 16 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java index 1b3abfd..44f6503 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java @@ -38,6 +38,7 @@ import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModelEntry; import fr.ifremer.tutti.persistence.entities.protocol.CalcifiedPiecesSamplingDefinition; import fr.ifremer.tutti.persistence.entities.protocol.CaracteristicMappingRow; import fr.ifremer.tutti.persistence.entities.protocol.CaracteristicType; +import fr.ifremer.tutti.persistence.entities.protocol.MaturityCaracteristic; import fr.ifremer.tutti.persistence.entities.protocol.OperationFieldMappingRow; import fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol; import fr.ifremer.tutti.persistence.entities.protocol.Strata; @@ -73,6 +74,7 @@ import jaxx.runtime.swing.editor.bean.BeanFilterableComboBox; import jaxx.runtime.swing.editor.bean.BeanUIUtil; import jaxx.runtime.validator.swing.SwingValidator; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdesktop.swingx.JXTable; @@ -560,22 +562,7 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI }); ListCellRenderer defaultRenderer = maturitySelectedList.getCellRenderer(); - maturitySelectedList.setCellRenderer(new ListCellRenderer() { - - private Color validColor = getConfig().getColorCellWithValue(); - private Color invalidColor = getConfig().getColorRowInvalid(); - - @Override - public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - Component result = defaultRenderer.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); - if (!EditProtocolUIHandler.this.getModel().isMaturityValid((Caracteristic) value)) { - result.setBackground(invalidColor); - } else { - result.setBackground(validColor); - } - return result; - } - }); + maturitySelectedList.setCellRenderer(new MaturityCaracteristicCellRenderer(defaultRenderer)); // init caracteristics mappingtable { @@ -1646,4 +1633,59 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI } + private class MaturityCaracteristicCellRenderer implements ListCellRenderer { + + public static final String TEXT_PATTERN = "<html><body><strong>%s</strong> :<ul><li>%s</li></ul><strong>%s</strong> :<ul><li>%s</li></ul></body></html>"; + + private final ListCellRenderer defaultRenderer; + + private Color validColor = getConfig().getColorCellWithValue(); + + private Color invalidColor = getConfig().getColorRowInvalid(); + + MaturityCaracteristicCellRenderer(ListCellRenderer defaultRenderer) { + this.defaultRenderer = defaultRenderer; + } + + @Override + public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { + Component result = defaultRenderer.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); + Caracteristic maturityCaracteristic = (Caracteristic) value; + if (!EditProtocolUIHandler.this.getModel().isMaturityValid(maturityCaracteristic)) { + result.setBackground(invalidColor); + } else { + result.setBackground(validColor); + } + if (result instanceof JComponent) { + + ((JComponent) result).setToolTipText(createToolTipText(maturityCaracteristic)); + } + return result; + } + + private String createToolTipText(Caracteristic caracteristic) { + String tooltip = null; + + if (caracteristic != null && getModel().isMaturityValid(caracteristic.getId())) { + + MaturityCaracteristic maturityCaracteristic = getModel().getMaturityCaracteristic(caracteristic.getId()); + List<String> matureStates = new ArrayList<>(); + List<String> immatureStates = new ArrayList<>(); + + caracteristic.getQualitativeValue().forEach(state -> { + if (maturityCaracteristic.containsMatureStateIds(state.getId())) { + matureStates.add(decorate(state)); + } else { + immatureStates.add(decorate(state)); + } + }); + + tooltip = String.format(TEXT_PATTERN, t("tutti.editProtocol.field.maturity.immature.tip"), StringUtils.join(immatureStates, "</li><li>"), + t("tutti.editProtocol.field.maturity.mature.tip"), StringUtils.join(matureStates, "</li><li>")); + } + + return tooltip; + } + + } } diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties index aa744fa..e7f8997 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties @@ -1174,6 +1174,8 @@ tutti.editProtocol.field.benthos.tip= tutti.editProtocol.field.caracteristicMapping.tip= tutti.editProtocol.field.comment= tutti.editProtocol.field.comment.tip= +tutti.editProtocol.field.maturity.immature.tip= +tutti.editProtocol.field.maturity.mature.tip= tutti.editProtocol.field.protocol.name= tutti.editProtocol.field.protocol.name.tip= tutti.editProtocol.field.species.tip= diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties index bd7f3d8..d1a9c34 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties @@ -1115,6 +1115,8 @@ tutti.editProtocol.field.benthos.tip=Benthos tutti.editProtocol.field.caracteristicMapping.tip=Caractéristiques tutti.editProtocol.field.comment=Commentaire tutti.editProtocol.field.comment.tip=Commentaire +tutti.editProtocol.field.maturity.immature.tip=Immatures +tutti.editProtocol.field.maturity.mature.tip=Matures tutti.editProtocol.field.protocol.name=Nom tutti.editProtocol.field.protocol.name.tip=Nom du protocole tutti.editProtocol.field.species.tip=Espèces -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8109 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit fa8b5488f6e6d8cfd3eefe9944603b01455bd790 Author: Kevin Morin <morin@codelutin.com> Date: Wed Mar 23 19:41:21 2016 +0100 gestion de la maturité dans le cache des observations individuelles (refs #8109) --- .../service/samplingCache/CruiseSamplingCache.java | 47 ++++++++++++++++++---- .../samplingCache/CruiseSamplingCacheLoader.java | 6 ++- .../frequency/SpeciesFrequencyUIHandler.java | 19 +++++++-- 3 files changed, 61 insertions(+), 11 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/CruiseSamplingCache.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/CruiseSamplingCache.java index 925d2b4..cd13e9b 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/CruiseSamplingCache.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/CruiseSamplingCache.java @@ -43,9 +43,13 @@ import org.apache.commons.logging.LogFactory; import javax.swing.event.EventListenerList; import java.io.Closeable; import java.util.Collection; +import java.util.HashMap; +import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.Set; +import java.util.function.Function; +import java.util.stream.Collectors; /** * @author Kevin Morin (Code Lutin) @@ -77,6 +81,14 @@ public class CruiseSamplingCache implements Closeable { */ private final Multimap<Integer, CalcifiedPiecesSamplingDefinition> cpsDefinitionsBySpecies = HashMultimap.create(); /** + * La caractéristique de maturité pour chaque espèce + */ + private final Map<Integer, Caracteristic> maturityCaracteristicBySpecies = new HashMap<>(); + /** + * Les états matures pour chaque caractéristique de maturité + */ + private final Multimap<String, String> matureStatesByMaturityCracteristic = HashMultimap.create(); + /** * La caractéristic qui définie le sexe dans une observation individuelle. */ private final Caracteristic sexCaracteristic; @@ -97,7 +109,7 @@ public class CruiseSamplingCache implements Closeable { */ private boolean loading; - public CruiseSamplingCache(Integer cruiseId, TuttiProtocol protocol, Caracteristic sexCaracteristic) { + public CruiseSamplingCache(Integer cruiseId, TuttiProtocol protocol, Caracteristic sexCaracteristic, Collection<Caracteristic> allCaracteristics) { this.cruiseId = cruiseId; this.sexCaracteristic = sexCaracteristic; this.protocolId = protocol.getId(); @@ -105,9 +117,16 @@ public class CruiseSamplingCache implements Closeable { locationIdsPerZone = HashMultimap.create(); protocol.getZone().forEach(zone -> locationIdsPerZone.putAll(zone, Zones.getAllLocationIds(zone))); - protocol.getSpecies().forEach(speciesProtocol -> - cpsDefinitionsBySpecies.putAll(speciesProtocol.getSpeciesReferenceTaxonId(), - speciesProtocol.getCalcifiedPiecesSamplingDefinition())); + Map<String, Caracteristic> caracteristicsById = allCaracteristics.stream().collect(Collectors.toMap(Caracteristic::getId, Function.identity())); + + protocol.getSpecies().forEach(speciesProtocol -> { + cpsDefinitionsBySpecies.putAll(speciesProtocol.getSpeciesReferenceTaxonId(), + speciesProtocol.getCalcifiedPiecesSamplingDefinition()); + maturityCaracteristicBySpecies.put(speciesProtocol.getSpeciesReferenceTaxonId(), + caracteristicsById.get(speciesProtocol.getMaturityPmfmId())); + }); + + protocol.getMaturityCaracteristics().forEach(mc -> matureStatesByMaturityCracteristic.putAll(mc.getId(), mc.getMatureStateIds())); } public Integer getCruiseId() { @@ -136,6 +155,8 @@ public class CruiseSamplingCache implements Closeable { operationCache.close(); locationIdsPerZone.clear(); cpsDefinitionsBySpecies.clear(); + maturityCaracteristicBySpecies.clear(); + matureStatesByMaturityCracteristic.clear(); SamplingListener[] samplingListeners = listeners.getListeners(SamplingListener.class); for (SamplingListener listener : samplingListeners) { removeSamplingListener(listener); @@ -171,7 +192,7 @@ public class CruiseSamplingCache implements Closeable { Species species = individualObservationBatch.getSpecies(); Objects.requireNonNull(species); - Boolean maturity = null; + Boolean maturity = getMaturity(individualObservationBatch); Float lengthStep = individualObservationBatch.getSize(); Objects.requireNonNull(lengthStep); @@ -225,6 +246,7 @@ public class CruiseSamplingCache implements Closeable { Objects.requireNonNull(fishingOperationId); Objects.requireNonNull(species); + Optional<CalcifiedPiecesSamplingDefinition> cpsDefinitionOpt = getCalcifiedPiecesSamplingDefinition(species, maturity, lengthStep); if (cpsDefinitionOpt.isPresent()) { @@ -478,9 +500,7 @@ public class CruiseSamplingCache implements Closeable { for (SamplingListener listener : samplingListeners) { listener.samplingNeeded(event); } - } - } protected Optional<Zone> tryFindZone(TuttiLocation location) { @@ -490,6 +510,19 @@ public class CruiseSamplingCache implements Closeable { .stream() .filter(zone -> locationIdsPerZone.containsEntry(zone, locationId)) .findFirst(); + } + protected Boolean getMaturity(IndividualObservationBatch individualObservationBatch) { + Boolean maturity = null; + Caracteristic maturityCaracteristic = maturityCaracteristicBySpecies.get(individualObservationBatch.getSpecies().getIdAsInt()); + // if a maturity caracteristic is defined in the protocol for this species + if (maturityCaracteristic != null) { + CaracteristicQualitativeValue qualitativeValue = individualObservationBatch.getCaracteristics().getQualitativeValue(maturityCaracteristic); + // it the maturity is set + if (qualitativeValue != null) { + maturity = matureStatesByMaturityCracteristic.containsEntry(maturityCaracteristic.getId(), qualitativeValue.getId()); + } + } + return maturity; } } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/CruiseSamplingCacheLoader.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/CruiseSamplingCacheLoader.java index 39f5ad6..6bc75df 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/CruiseSamplingCacheLoader.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/CruiseSamplingCacheLoader.java @@ -12,6 +12,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; +import java.util.Collection; import java.util.List; import java.util.Optional; @@ -44,7 +45,10 @@ public class CruiseSamplingCacheLoader { Caracteristic sexCaracteristic = persistenceService.getSexCaracteristic(); - CruiseSamplingCache cruiseSamplingCache = new CruiseSamplingCache(cruiseId, protocol, sexCaracteristic); + //FIXME il faudrait seulement charger les caracteristiques de maturité du protocole + Collection<Caracteristic> allCaracteristics = persistenceService.getAllCaracteristic(); + + CruiseSamplingCache cruiseSamplingCache = new CruiseSamplingCache(cruiseId, protocol, sexCaracteristic, allCaracteristics); cruiseSamplingCache.setLoading(true); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java index 8f4cc04..9d8baac 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java @@ -270,7 +270,6 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci } } - // TODO idem avec la maturité if (row.withSize() && (IndividualObservationBatchRowModel.PROPERTY_DEFAULT_CARACTERISTICS.equals(propertyName) || IndividualObservationBatchRowModel.PROPERTY_CARACTERISTICS.equals(propertyName))) { @@ -278,12 +277,26 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci CaracteristicMap oldValue = (CaracteristicMap) evt.getOldValue(); CaracteristicMap newValue = (CaracteristicMap) evt.getNewValue(); + Boolean maturity = null; + +// if (maturityColumnId.isPresent()) { +// Caracteristic maturityCaracteristic = maturityColumnId.get().getCaracteristic(); +// CaracteristicQualitativeValue oldMaturity = (CaracteristicQualitativeValue) oldValue.get(maturityCaracteristic); +// CaracteristicQualitativeValue newMaturityr = (CaracteristicQualitativeValue) newValue.get(maturityCaracteristic); +// if (!Objects.equals(oldMaturity, newMaturityr)) { +// individualObservationUICache.decrements(oldGender, null, row.getSize()); +// individualObservationUICache.increments(newGender, null, row.getSize()); +// } +// +// } + CaracteristicQualitativeValue oldGender = (CaracteristicQualitativeValue) oldValue.get(sexCaracteristic); CaracteristicQualitativeValue newGender = (CaracteristicQualitativeValue) newValue.get(sexCaracteristic); if (!Objects.equals(oldGender, newGender)) { - individualObservationUICache.decrements(oldGender, null, row.getSize()); - individualObservationUICache.increments(newGender, null, row.getSize()); + individualObservationUICache.decrements(oldGender, maturity, row.getSize()); + individualObservationUICache.increments(newGender, maturity, row.getSize()); } + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm