Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe

Commits:

6 changed files:

Changes:

  • application-swing/src/main/java/fr/ird/observe/application/swing/ObserveRunner.java
    ... ... @@ -380,7 +380,7 @@ public abstract class ObserveRunner extends ApplicationRunner {
    380 380
             return config;
    
    381 381
         }
    
    382 382
     
    
    383
    -    private void initUserDirectories(ObserveSwingApplicationConfig config) throws IOException {
    
    383
    +    private void    initUserDirectories(ObserveSwingApplicationConfig config) throws IOException {
    
    384 384
     
    
    385 385
             // 1 - user data directory
    
    386 386
     
    
    ... ... @@ -491,6 +491,9 @@ public abstract class ObserveRunner extends ApplicationRunner {
    491 491
     
    
    492 492
                 @Override
    
    493 493
                 protected void createUserI18nLayout(File directory) throws Exception {
    
    494
    +                if (config.getI18nDefinitionFile().exists()) {
    
    495
    +                    return;
    
    496
    +                }
    
    494 497
                     super.createUserI18nLayout(directory);
    
    495 498
     
    
    496 499
                     // add also a archive with all i18n stuff (says i18n bundle + templates)
    

  • application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/menu/config/TranslateAction.java
    ... ... @@ -26,8 +26,12 @@ import fr.ird.observe.application.swing.ObserveSwingApplicationContext;
    26 26
     import fr.ird.observe.application.swing.ObserveSwingTechnicalException;
    
    27 27
     import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationConfig;
    
    28 28
     import fr.ird.observe.application.swing.ui.ObserveMainUI;
    
    29
    +import fr.ird.observe.application.swing.ui.ObserveUICallback;
    
    30
    +import fr.ird.observe.application.swing.ui.UIHelper;
    
    29 31
     import fr.ird.observe.application.swing.ui.actions.AbstractUIAction;
    
    30 32
     import java.awt.event.ActionEvent;
    
    33
    +import java.awt.event.WindowAdapter;
    
    34
    +import java.awt.event.WindowEvent;
    
    31 35
     import java.io.File;
    
    32 36
     import java.io.IOException;
    
    33 37
     import java.net.URL;
    
    ... ... @@ -66,12 +70,29 @@ public class TranslateAction extends AbstractUIAction {
    66 70
             ObserveSwingApplicationConfig config = ObserveSwingApplicationContext.get().getConfig();
    
    67 71
             File i18nDefinitionFile = config.getI18nDefinitionFile();
    
    68 72
     
    
    69
    -//        URL bundles = Project.class.getClassLoader().getResource("META-INF/observe-i18n-definition.properties");
    
    70 73
             try {
    
    71 74
                 URL bundles = i18nDefinitionFile.toURI().toURL();
    
    72 75
                 Objects.requireNonNull(bundles);
    
    73
    -            ProjectUI projectUI = new ProjectUI(getMainUI(), new Project(bundles));
    
    76
    +            Project model = new Project(bundles);
    
    77
    +            ProjectUI projectUI = new ProjectUI(getMainUI(), model);
    
    74 78
                 projectUI.toggleFilter();
    
    79
    +
    
    80
    +            projectUI.addWindowListener(new WindowAdapter() {
    
    81
    +                @Override
    
    82
    +                public void windowClosed(WindowEvent e) {
    
    83
    +                    if (model.getLastExport() != null) {
    
    84
    +                        File i18nDefinitionFileParentFile = i18nDefinitionFile.getParentFile();
    
    85
    +                        log.info(String.format("Found existing i18n export, will merge it to user i18n data (%s).", i18nDefinitionFileParentFile));
    
    86
    +                        try {
    
    87
    +                            model.mergeExport(i18nDefinitionFileParentFile);
    
    88
    +                        } catch (IOException e1) {
    
    89
    +                            throw new ObserveSwingTechnicalException("Can't merge i18n export", e1);
    
    90
    +                        }
    
    91
    +                        UIHelper.displayInfo(t("observe.title.reload.i18n"), t("observe.message.reload.i18n"));
    
    92
    +                        ObserveUICallback.application.run();
    
    93
    +                    }
    
    94
    +                }
    
    95
    +            });
    
    75 96
             } catch (IOException e) {
    
    76 97
                 throw new ObserveSwingTechnicalException("can't open i18n editor", e);
    
    77 98
             }
    

  • application-swing/src/main/resources/i18n/application-swing_en_GB.properties
    ... ... @@ -417,6 +417,7 @@ observe.common.length.computed.tip=Length was computed
    417 417
     observe.common.length.inf=Length (cm inf.)
    
    418 418
     observe.common.length.observed.tip=Length was observed
    
    419 419
     observe.common.length2=Length (cm)
    
    420
    +observe.common.lengthMeasureType=Length measure type
    
    420 421
     observe.common.libelles=Labels
    
    421 422
     observe.common.lowerValueUpperValue=Bounds min-max
    
    422 423
     observe.common.mammalsObservation=Mammals observations
    
    ... ... @@ -1487,6 +1488,7 @@ observe.message.quit.valid.edit=Data are modified and valid\!
    1487 1488
     observe.message.referentiel.editable=Referential is editable.
    
    1488 1489
     observe.message.referentiel.home=< Referential >
    
    1489 1490
     observe.message.referentiel.no.editable=You are not allowed to edit referential.
    
    1491
    +observe.message.reload.i18n=You have modified i18n, application must be restart.
    
    1490 1492
     observe.message.select.report=Select a report 
    
    1491 1493
     observe.message.server.info=Local database %1$s is ready in server mode.
    
    1492 1494
     observe.message.show.usage.for.delete=Referential %1$s "%2$s" can be deleted if you choose a replacement.
    
    ... ... @@ -1703,6 +1705,7 @@ observe.title.load.remote.db=Load remote database
    1703 1705
     observe.title.need.confirm=Need a confirmation...
    
    1704 1706
     observe.title.need.confirm.to.desactivate.referentiel=Need a confirmation to disable a referentiel data...
    
    1705 1707
     observe.title.no.local.db.found=No local database found.
    
    1708
    +observe.title.reload.i18n=Application need to restart...
    
    1706 1709
     observe.title.save.localDB=Save local storage to a file
    
    1707 1710
     observe.title.save.remoteDB=Save remote database to a file
    
    1708 1711
     observe.title.show.usage=Show usages
    

  • application-swing/src/main/resources/i18n/application-swing_es_ES.properties
    ... ... @@ -417,6 +417,7 @@ observe.common.length.computed.tip=Longitud calculada
    417 417
     observe.common.length.inf=Longitud (cm inf.)
    
    418 418
     observe.common.length.observed.tip=Longitud observada
    
    419 419
     observe.common.length2=Longitud eslora total (cm) \#TODO
    
    420
    +observe.common.lengthMeasureType=Type de mensuration \#TODO
    
    420 421
     observe.common.libelles=Textos
    
    421 422
     observe.common.lowerValueUpperValue=Bornes min-max
    
    422 423
     observe.common.mammalsObservation=Mamiferos
    
    ... ... @@ -498,8 +499,6 @@ observe.config.category.technical=Técnico
    498 499
     observe.config.category.technical.description=Información técnica
    
    499 500
     observe.config.category.ui=GUI
    
    500 501
     observe.config.category.ui.description=Configuración GUI
    
    501
    -observe.content.action.activity=Crear una nueva actividad
    
    502
    -observe.content.action.activity.tip=Crear una nueva actividad para la ruta actual
    
    503 502
     observe.content.action.closeAndCreate=Cerrar y crear
    
    504 503
     observe.content.action.closeAndCreate.activity=Actividad siguiente
    
    505 504
     observe.content.action.closeAndCreate.activity.tip=Cierre de la actividad actual y creación de una nueva
    
    ... ... @@ -1489,6 +1488,7 @@ observe.message.quit.valid.edit=¡Los datos han sido modificados y son válidos\
    1489 1488
     observe.message.referentiel.editable=El referencial es editable.
    
    1490 1489
     observe.message.referentiel.home=< Referencial >
    
    1491 1490
     observe.message.referentiel.no.editable=No tiene permisos para editar el referencial.
    
    1491
    +observe.message.reload.i18n=Vous avez modifié des traductions, le redémarrage de l'application est nécessaire pour les prendre en compte. \#TODO
    
    1492 1492
     observe.message.select.report=Seleccione informe
    
    1493 1493
     observe.message.server.info=Información modo servidor
    
    1494 1494
     observe.message.show.usage.for.delete=El referencial %1$s "%2$s" no se puede eliminar sin hacer una sustitución antes.
    
    ... ... @@ -1705,6 +1705,7 @@ observe.title.load.remote.db=Cargando una base remota
    1705 1705
     observe.title.need.confirm=Una confirmación se necesita...
    
    1706 1706
     observe.title.need.confirm.to.desactivate.referentiel=Una confirmación se necesita para désactivar un referencial...
    
    1707 1707
     observe.title.no.local.db.found=Ninguna base local fue encontrada
    
    1708
    +observe.title.reload.i18n=Rechargement de l'application nécessaire... \#TODO
    
    1708 1709
     observe.title.save.localDB=Guardar la base local en un archivo
    
    1709 1710
     observe.title.save.remoteDB=Guardar la base remota en un archivo
    
    1710 1711
     observe.title.show.usage=Listas de las utilizaciones de un referencial...
    

  • application-swing/src/main/resources/i18n/application-swing_fr_FR.properties
    ... ... @@ -17,7 +17,6 @@ observe.action.auto.copy.to.clipboard.tip=Mettre à jour automatiquement le cont
    17 17
     observe.action.back.to.list=Retour à la liste
    
    18 18
     observe.action.back.to.list.tip=Retour à la liste des données
    
    19 19
     observe.action.cancel=Annuler
    
    20
    -observe.action.cancel.create.tip=Annuler la création de l'objet
    
    21 20
     observe.action.change.storage=Changer la source de données
    
    22 21
     observe.action.change.storage.tip=Pour changer la source de données de l'application
    
    23 22
     observe.action.choose.db.dump=Choisir la sauvegarde
    
    ... ... @@ -68,9 +67,6 @@ observe.action.copyFloatingObjectPartToLeft.tip=Recopier les valeurs du départ
    68 67
     observe.action.copyFloatingObjectPartToRight=Recopier les valeurs de l'arrivée vers de départ
    
    69 68
     observe.action.copyFloatingObjectPartToRight.tip=Recopier les valeurs de l'arrivée vers de départ
    
    70 69
     observe.action.create=Créer
    
    71
    -observe.action.db.locale.es.tip=Changer la langue du référentiel en espagnol
    
    72
    -observe.action.db.locale.fr.tip=Changer la langue du référentiel en français
    
    73
    -observe.action.db.locale.uk.tip=Changer la langue du référentiel en anglais
    
    74 70
     observe.action.delete=Supprimer
    
    75 71
     observe.action.delete.activity.tip=Supprimer l'activité
    
    76 72
     observe.action.delete.entry.tip=Supprimer l'entrée en cours d'édition
    
    ... ... @@ -117,7 +113,6 @@ observe.action.new.entry.tip=Créer une nouvelle entrée
    117 113
     observe.action.open.screen=Ouverture de l'écran <%1$s>
    
    118 114
     observe.action.quit=Quitter
    
    119 115
     observe.action.quit.tip=Quitter le gestionnaire
    
    120
    -observe.action.quitHelp.tip=Quitter l'écran d'aide
    
    121 116
     observe.action.reload.application=Redémarrer l'application
    
    122 117
     observe.action.reload.storage=Recharger la source de données
    
    123 118
     observe.action.reload.storage.tip=Ferme et rouvre la source de données
    
    ... ... @@ -433,7 +428,6 @@ observe.common.meanLengthComputed.observed.tip=La taille moyenne a été observÃ
    433 428
     observe.common.meanValues=Valeurs moyennes
    
    434 429
     observe.common.meanWeightComputed.computed.tip=Le poids moyen a été calculé (%s)
    
    435 430
     observe.common.meanWeightComputed.observed.tip=Le poids moyen a été observé
    
    436
    -observe.common.measureType=Type de mensuration
    
    437 431
     observe.common.minLength=Taille minimum (en cm)
    
    438 432
     observe.common.minLengthMax=Taille min-max (en cm)
    
    439 433
     observe.common.minWeight=Poids minimum (en Kg)
    
    ... ... @@ -1494,6 +1488,7 @@ observe.message.quit.valid.edit=Les données ont été modifiées et sont valide
    1494 1488
     observe.message.referentiel.editable=Le référentiel est éditable.
    
    1495 1489
     observe.message.referentiel.home=< Référentiel >
    
    1496 1490
     observe.message.referentiel.no.editable=Vous n'êtes pas autorisé à éditer le référentiel.
    
    1491
    +observe.message.reload.i18n=Vous avez modifié des traductions, le redémarrage de l'application est nécessaire pour les prendre en compte.
    
    1497 1492
     observe.message.select.report=Choisissez une requête 
    
    1498 1493
     observe.message.server.info=La base locale %1$s est démarrée en mode serveur.
    
    1499 1494
     observe.message.show.usage.for.delete=Le référentiel %1$s "%2$s" ne peut pas être supprimé sans effectuer au préalable un remplacement.
    
    ... ... @@ -1710,6 +1705,7 @@ observe.title.load.remote.db=Chargement d'une base distante
    1710 1705
     observe.title.need.confirm=Une confirmation de votre part est requise...
    
    1711 1706
     observe.title.need.confirm.to.desactivate.referentiel=Une confirmation de votre part est requise pour désactiver un référentiel...
    
    1712 1707
     observe.title.no.local.db.found=Aucune base locale trouvée
    
    1708
    +observe.title.reload.i18n=Rechargement de l'application nécessaire...
    
    1713 1709
     observe.title.save.localDB=Sauver la base locale vers une fichier
    
    1714 1710
     observe.title.save.remoteDB=Sauver la base distante vers un fichier
    
    1715 1711
     observe.title.show.usage=Listes des utilisations d'un référentiel...
    

  • pom.xml
    ... ... @@ -174,7 +174,7 @@
    174 174
         <processorPluginVersion>1.3</processorPluginVersion>
    
    175 175
         
    
    176 176
         <jaxxVersion>3.0-alpha-8-SNAPSHOT</jaxxVersion>
    
    177
    -    <nuitonI18nVersion>4.0-alpha-2</nuitonI18nVersion>
    
    177
    +    <nuitonI18nVersion>4.0-alpha-3-SNAPSHOT</nuitonI18nVersion>
    
    178 178
         <nuitonConfigVersion>3.2</nuitonConfigVersion>
    
    179 179
         <topiaVersion>3.2.1</topiaVersion>
    
    180 180
         <nuitonValidatorVersion>3.1</nuitonValidatorVersion>