This is an automated email from the git hooks/post-receive script. New commit to branch feature/7063 in repository tutti. See http://git.codelutin.com/tutti.git commit c1520e919b272fc6160e0dd052bf98c305026653 Author: Kevin Morin <morin@codelutin.com> Date: Mon Jan 18 17:35:31 2016 +0100 ajout de l'option pour lire ou non les mesures et les bips (fixes #7063) --- .../java/fr/ifremer/tutti/TuttiConfiguration.java | 12 ++++++ .../fr/ifremer/tutti/TuttiConfigurationOption.java | 33 +++++++++++--- .../java/fr/ifremer/tutti/util/BeepFrequency.java | 2 +- .../i18n/tutti-persistence_en_GB.properties | 5 +++ .../i18n/tutti-persistence_fr_FR.properties | 7 ++- .../swing/content/config/TuttiConfigUIHandler.java | 50 ++++++++++++---------- .../frequency/SpeciesFrequencyUIHandler.java | 4 +- .../actions/ApplySpeciesFrequencyRafaleAction.java | 10 ++++- .../fr/ifremer/tutti/ui/swing/util/SoundUtil.java | 17 +++----- .../resources/i18n/tutti-ui-swing_en_GB.properties | 5 +++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 5 +++ 11 files changed, 106 insertions(+), 44 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfiguration.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfiguration.java index 550dc95..bed638f 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfiguration.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfiguration.java @@ -728,10 +728,22 @@ public class TuttiConfiguration extends ApplicationConfiguration { return applicationConfig.getOptionAsInt(TuttiConfigurationOption.ICHTYOMETER_MAXIMUM_NUMBER_OF_ATTEMPT_TO_CONNECT.getKey()); } + public Boolean isIchtyometerVoiceEnabled() { + return applicationConfig.getOptionAsBoolean(TuttiConfigurationOption.ICHTYOMETER_VOICE_ENABLED.getKey()); + } + + public Boolean isIchtyometerDataReceptionBeepEnabled() { + return applicationConfig.getOptionAsBoolean(TuttiConfigurationOption.ICHTYOMETER_DATA_RECEPTION_BEEP_ENABLED.getKey()); + } + public BeepFrequency getIchtyometerDataReceptionBeepFrequency() { return BeepFrequency.valueOf(applicationConfig.getOption(TuttiConfigurationOption.ICHTYOMETER_DATA_RECEPTION_BEEP_FREQUENCY.getKey())); } + public Boolean isIchtyometerErrorReceptionBeepEnabled() { + return applicationConfig.getOptionAsBoolean(TuttiConfigurationOption.ICHTYOMETER_ERROR_RECEPTION_BEEP_ENABLED.getKey()); + } + public BeepFrequency getIchtyometerErrorReceptionBeepFrequency() { return BeepFrequency.valueOf(applicationConfig.getOption(TuttiConfigurationOption.ICHTYOMETER_ERROR_RECEPTION_BEEP_FREQUENCY.getKey())); } diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java index 5b478f8..a126d5c 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java @@ -605,17 +605,38 @@ public enum TuttiConfigurationOption implements ConfigOptionDef { int.class, false ), + ICHTYOMETER_VOICE_ENABLED( + "tutti.ichtyometer.voice.enabled", + n("tutti.config.option.ichtyometer.voice.enabled.description"), + "true", + Boolean.class, + false + ), + ICHTYOMETER_DATA_RECEPTION_BEEP_ENABLED( + "tutti.ichtyometer.beep.data.enabled", + n("tutti.config.option.ichtyometer.beep.data.enabled.description"), + "true", + Boolean.class, + false + ), ICHTYOMETER_DATA_RECEPTION_BEEP_FREQUENCY( - "tutti.ichtyometer.dataBeepFrequency", - n("tutti.config.option.dataBeepFrequency.description"), - null, + "tutti.ichtyometer.beep.data.frequency", + n("tutti.config.option.ichtyometer.beep.data.frequency.description"), + "A2", BeepFrequency.class, false ), + ICHTYOMETER_ERROR_RECEPTION_BEEP_ENABLED( + "tutti.ichtyometer.beep.error.enabled", + n("tutti.config.option.ichtyometer.beep.error.enabled.description"), + "true", + Boolean.class, + false + ), ICHTYOMETER_ERROR_RECEPTION_BEEP_FREQUENCY( - "tutti.ichtyometer.errorBeepFrequency", - n("tutti.config.option.errorBeepFrequency.description"), - null, + "tutti.ichtyometer.beep.error.frequency", + n("tutti.config.option.ichtyometer.beep.error.frequency.description"), + "A1", BeepFrequency.class, false ); diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/util/BeepFrequency.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/util/BeepFrequency.java index e2b3e68..1495b24 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/util/BeepFrequency.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/util/BeepFrequency.java @@ -27,7 +27,7 @@ public enum BeepFrequency { this.frequency = frequency; } - public Integer getFrequency() { + public int getFrequency() { return frequency; } } diff --git a/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties b/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties index bb634eb..8d99326 100644 --- a/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties +++ b/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties @@ -24,8 +24,13 @@ tutti.config.option.genericFormat.report.backup.directory.description= tutti.config.option.help.directory.description= tutti.config.option.i18n.directory.description= tutti.config.option.i18n.locale.description= +tutti.config.option.ichtyometer.beep.data.enabled.description= +tutti.config.option.ichtyometer.beep.data.frequency.description= +tutti.config.option.ichtyometer.beep.error.enabled.description= +tutti.config.option.ichtyometer.beep.error.frequency.description= tutti.config.option.ichtyometer.fullBluetoothScan.description= tutti.config.option.ichtyometer.maximumNumberOfAttemptToConnect.description= +tutti.config.option.ichtyometer.voice.enabled.description= tutti.config.option.inceptionYear.description= tutti.config.option.launch.mode.description= tutti.config.option.organizationName.description= diff --git a/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties b/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties index 3a1fea2..62d30b6 100644 --- a/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties +++ b/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties @@ -8,9 +8,7 @@ tutti.config.option.basedir.description=Répertoire principale tutti.config.option.cruiseId.description=Identifiant de la dernière campagne utilisée tutti.config.option.csv.separator.description=Caractère séparateur pour les import / export de fichier au format csv. tutti.config.option.data.directory.description=Répertoire de données de l'application. Vous pouvez utiliser l'expression ${tutti.data.directory} pour le référence dans d'autres propriétés de configuration (ex\: ${tutti.data.directory}/tmp). -tutti.config.option.dataBeepFrequency.description=Tonalité du bip lors de la réception de données de l'ichtyomètre tutti.config.option.db.import.skipBackup.description=Pour ne pas effectuer une sauvegarde avant un import de base -tutti.config.option.errorBeepFrequency.description=Tonalité du bip lors de la réception d'une erreur de l'ichtyomètre tutti.config.option.export.backup.directory.description=Répertoire où sont enregistrées les exports génériques tutti.config.option.export.countryId.description=L'id du pays à utiliser pour les exports (il s'agit de la valeur LOCATION.ID). tutti.config.option.genericFormat.import.maximumRowsInErrorPerFile.description=Nombre maximum de lignes en erreur possible par fichier lors de la validation de l'import générique @@ -19,8 +17,13 @@ tutti.config.option.genericFormat.report.backup.directory.description=Répertoir tutti.config.option.help.directory.description=Répertoire des fichiers d'aide tutti.config.option.i18n.directory.description=Répertoire des fichiers de traductions tutti.config.option.i18n.locale.description=Langue utilisée dans l'application +tutti.config.option.ichtyometer.beep.data.enabled.description=Pour activer ou non le bip à la réception de mesures +tutti.config.option.ichtyometer.beep.data.frequency.description=Tonalité du bip lors de la réception de données de l'ichtyomètre +tutti.config.option.ichtyometer.beep.error.enabled.description=Pour activer ou non le bip à la réception d'erreurs +tutti.config.option.ichtyometer.beep.error.frequency.description=Tonalité du bip lors de la réception d'une erreur de l'ichtyomètre tutti.config.option.ichtyometer.fullBluetoothScan.description=Pour toujours effectuer une recherche complète des périphériques bluetooth lors de la recherche d'un ichtyomètre tutti.config.option.ichtyometer.maximumNumberOfAttemptToConnect.description=Nombre maximum de de tentatives de connection à l'ichtyomètre +tutti.config.option.ichtyometer.voice.enabled.description=Pour activer ou non la lecture vocale des mesures reçues tutti.config.option.inceptionYear.description=Année de démarrage du projet tutti.config.option.launch.mode.description=Mode de démarrage de l'application tutti.config.option.organizationName.description=Nom de l'organisation dans la licence diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java index 1d6668d..48418f5 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java @@ -31,7 +31,6 @@ import fr.ifremer.tutti.ui.swing.content.config.actions.ReloadTuttiAction; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler; import fr.ifremer.tutti.ui.swing.util.editor.TuttiLocationTableCell; import fr.ifremer.tutti.ui.swing.util.editor.VesselTableCell; -import fr.ifremer.tutti.util.BeepFrequency; import jaxx.runtime.SwingUtil; import jaxx.runtime.swing.config.ConfigCategoryUI; import jaxx.runtime.swing.config.ConfigUI; @@ -135,24 +134,6 @@ public class TuttiConfigUIHandler extends AbstractTuttiUIHandler<TuttiUIContext, .addOption(TuttiConfigurationOption.MAX_INDIVIDUAL_OBSERVATION_ROW_TO_CREATE) .setOptionShortLabel(t("tutti.config.option.ui.individualObservationRowsToCreate.shortLabel")) - .addOption(TuttiConfigurationOption.FULL_BLUETOOTH_SCAN) - .setOptionShortLabel(t("tutti.config.option.ui.fullBluetoothScan.shortLabel")) - - .addOption(TuttiConfigurationOption.ICHTYOMETER_MAXIMUM_NUMBER_OF_ATTEMPT_TO_CONNECT) - .setOptionShortLabel(t("tutti.config.option.ui.ichtyometerMaximumNumberOfAttemptToConnect.shortLabel")); - - EnumEditor<BeepFrequency> beepFrequencyEnumEditor = EnumEditor.newEditor(BeepFrequency.class); - beepFrequencyEnumEditor.insertItemAt(null, 0); - DefaultCellEditor beepFrequencyUnitTableCellEditor = new DefaultCellEditor(beepFrequencyEnumEditor); - - helper.addOption(TuttiConfigurationOption.ICHTYOMETER_DATA_RECEPTION_BEEP_FREQUENCY) - .setOptionShortLabel(t("tutti.config.option.ui.ichtyometerDataBeepFrequency.shortLabel")) - .setOptionEditor(beepFrequencyUnitTableCellEditor) - - .addOption(TuttiConfigurationOption.ICHTYOMETER_ERROR_RECEPTION_BEEP_FREQUENCY) - .setOptionShortLabel(t("tutti.config.option.ui.ichtyometerErrorBeepFrequency.shortLabel")) - .setOptionEditor(beepFrequencyUnitTableCellEditor) - .addOption(TuttiConfigurationOption.SHOW_BATCH_LOG) .setOptionShortLabel(t("tutti.config.option.ui.showBatchLog.shortLabel")) @@ -170,11 +151,9 @@ public class TuttiConfigUIHandler extends AbstractTuttiUIHandler<TuttiUIContext, .setOptionShortLabel(t("tutti.config.option.ui.db.import.skipBackup.shortLabel")) .addOption(TuttiConfigurationOption.PUPITRI_IMPORT_MISSING_BATCHES) - .setOptionShortLabel(t("tutti.config.option.pupitriImportMissingBatches.shortLabel")) + .setOptionShortLabel(t("tutti.config.option.pupitriImportMissingBatches.shortLabel")); - ; - TuttiUIContext context = getContext(); if (context.isDbLoaded()) { @@ -277,6 +256,33 @@ public class TuttiConfigUIHandler extends AbstractTuttiUIHandler<TuttiUIContext, .setOptionRenderer(weightUnitTableCellRenderer) .setOptionEditor(weightUnitTableCellEditor); + + // ichtyometer category + + helper.addCategory(n("tutti.config.category.ichtyometer"), + n("tutti.config.category.ichtyometer.description")) + + .addOption(TuttiConfigurationOption.FULL_BLUETOOTH_SCAN) + .setOptionShortLabel(t("tutti.config.option.ui.fullBluetoothScan.shortLabel")) + + .addOption(TuttiConfigurationOption.ICHTYOMETER_MAXIMUM_NUMBER_OF_ATTEMPT_TO_CONNECT) + .setOptionShortLabel(t("tutti.config.option.ui.ichtyometerMaximumNumberOfAttemptToConnect.shortLabel")) + + .addOption(TuttiConfigurationOption.ICHTYOMETER_VOICE_ENABLED) + .setOptionShortLabel(t("tutti.config.option.ui.ichtyometerVoiceEnabled.shortLabel")) + + .addOption(TuttiConfigurationOption.ICHTYOMETER_DATA_RECEPTION_BEEP_ENABLED) + .setOptionShortLabel(t("tutti.config.option.ui.ichtyometerDataBeepEnabled.shortLabel")) + + .addOption(TuttiConfigurationOption.ICHTYOMETER_DATA_RECEPTION_BEEP_FREQUENCY) + .setOptionShortLabel(t("tutti.config.option.ui.ichtyometerDataBeepFrequency.shortLabel")) + + .addOption(TuttiConfigurationOption.ICHTYOMETER_ERROR_RECEPTION_BEEP_ENABLED) + .setOptionShortLabel(t("tutti.config.option.ui.ichtyometerErrorBeepEnabled.shortLabel")) + + .addOption(TuttiConfigurationOption.ICHTYOMETER_ERROR_RECEPTION_BEEP_FREQUENCY) + .setOptionShortLabel(t("tutti.config.option.ui.ichtyometerErrorBeepFrequency.shortLabel")); + // Technical category helper.addCategory(n("tutti.config.category.technical"), 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 ca15e43..8d2a5ab 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 @@ -673,7 +673,9 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci } else { - SoundUtil.beep(getConfig().getIchtyometerErrorReceptionBeepFrequency(), 3); + if (getConfig().isIchtyometerErrorReceptionBeepEnabled()) { + SoundUtil.beep(getConfig().getIchtyometerErrorReceptionBeepFrequency(), 3); + } throw new ApplicationBusinessException( t("tutti.editSpeciesFrequencies.error.itchyometer.bad.record", record.getRecord())); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/ApplySpeciesFrequencyRafaleAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/ApplySpeciesFrequencyRafaleAction.java index 4bf7da3..2c880ec 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/ApplySpeciesFrequencyRafaleAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/ApplySpeciesFrequencyRafaleAction.java @@ -25,6 +25,7 @@ package fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.ac */ import com.google.common.collect.Lists; +import fr.ifremer.tutti.TuttiConfiguration; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.SpeciesFrequencyLogRowModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.SpeciesFrequencyLogsTableModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.SpeciesFrequencyRowModel; @@ -115,8 +116,13 @@ public class ApplySpeciesFrequencyRafaleAction { String unit = model.getLengthStepCaracteristicUnit(); handler.showInformationMessage(t("tutti.editSpeciesFrequencies.addMeasure", step, aroundLengthStep, unit)); - SoundUtil.beep(handler.getConfig().getIchtyometerDataReceptionBeepFrequency()); - SoundUtil.readNumber(aroundLengthStep, unit); + TuttiConfiguration config = handler.getConfig(); + if (config.isIchtyometerDataReceptionBeepEnabled()) { + SoundUtil.beep(config.getIchtyometerDataReceptionBeepFrequency()); + } + if (config.isIchtyometerVoiceEnabled()) { + SoundUtil.readNumber(aroundLengthStep, unit); + } } JXTable logsTable = ui.getLogsTable(); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SoundUtil.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SoundUtil.java index dc5a3f8..c30ba3b 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SoundUtil.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SoundUtil.java @@ -34,17 +34,14 @@ public class SoundUtil { public static void beep(BeepFrequency beepFrequency, int number) { - if (beepFrequency != null) { - - try { - for (int i = 0; i < number; i++) { - tone(beepFrequency.getFrequency(), 500, 1.0); - } + try { + for (int i = 0; i < number; i++) { + tone(beepFrequency.getFrequency(), 500, 1.0); + } - } catch (LineUnavailableException e) { - if (log.isErrorEnabled()) { - log.error("Error while playing a beep", e); - } + } catch (LineUnavailableException e) { + if (log.isErrorEnabled()) { + log.error("Error while playing a beep", e); } } } 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 92d72f9..18a4750 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 @@ -126,6 +126,8 @@ tutti.config.action.reload.application= tutti.config.action.reload.ui= tutti.config.category.applications= tutti.config.category.applications.description= +tutti.config.category.ichtyometer= +tutti.config.category.ichtyometer.description= tutti.config.category.technical= tutti.config.category.technical.description= tutti.config.category.ui= @@ -176,9 +178,12 @@ tutti.config.option.ui.db.import.skipBackup.shortLabel= tutti.config.option.ui.fullBluetoothScan.shortLabel= tutti.config.option.ui.genericFormat.import.maximumRowsInErrorPerFile.shortLabel= tutti.config.option.ui.genericFormat.import.skipBackup.shortLabel= +tutti.config.option.ui.ichtyometerDataBeepEnabled.shortLabel= tutti.config.option.ui.ichtyometerDataBeepFrequency.shortLabel= +tutti.config.option.ui.ichtyometerErrorBeepEnabled.shortLabel= tutti.config.option.ui.ichtyometerErrorBeepFrequency.shortLabel= tutti.config.option.ui.ichtyometerMaximumNumberOfAttemptToConnect.shortLabel= +tutti.config.option.ui.ichtyometerVoiceEnabled.shortLabel= tutti.config.option.ui.individualObservationRowsToCreate.shortLabel= tutti.config.option.ui.showBatchLog.shortLabel= tutti.config.option.ui.showMemoryUsage.shortLabel= 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 f691250..178e1da 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 @@ -105,6 +105,8 @@ tutti.config.action.reload.application=Recharger l'application tutti.config.action.reload.ui=Recharger l'interface graphique tutti.config.category.applications=Application tutti.config.category.applications.description=Application +tutti.config.category.ichtyometer=Ichtyomètre +tutti.config.category.ichtyometer.description=Ichtyomètre tutti.config.category.technical=Technique tutti.config.category.technical.description=Informations techniques tutti.config.category.ui=Interface utilisateur @@ -155,9 +157,12 @@ tutti.config.option.ui.db.import.skipBackup.shortLabel=Ne pas faire de sauvegard tutti.config.option.ui.fullBluetoothScan.shortLabel=Recherche complète des périphériques bluetooth tutti.config.option.ui.genericFormat.import.maximumRowsInErrorPerFile.shortLabel=Nombre maximum de lignes en erreur possible par fichier lors de la validation de l'import générique tutti.config.option.ui.genericFormat.import.skipBackup.shortLabel=Ne pas faire de sauvegarde avant un import au format générique +tutti.config.option.ui.ichtyometerDataBeepEnabled.shortLabel=Bip à la réception de mesures tutti.config.option.ui.ichtyometerDataBeepFrequency.shortLabel=Tonalité de réception de données +tutti.config.option.ui.ichtyometerErrorBeepEnabled.shortLabel=Bip à la réception d'erreur tutti.config.option.ui.ichtyometerErrorBeepFrequency.shortLabel=Tonalité de réception d'erreur tutti.config.option.ui.ichtyometerMaximumNumberOfAttemptToConnect.shortLabel=Nombre maximum de tentatives de connection à l'ichtyomètre +tutti.config.option.ui.ichtyometerVoiceEnabled.shortLabel=Lecture vocale des mesures reçues tutti.config.option.ui.individualObservationRowsToCreate.shortLabel=Nombre max de données individuelles tutti.config.option.ui.showBatchLog.shortLabel=Voir la structure des lots dans les logs tutti.config.option.ui.showMemoryUsage.shortLabel=Voir l'utilisation de la mémoire -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.