import { deepFreeze } from '../helpers/objects';

/**
 * Libellés communs aux différents composants de l'application Ogure NG.
 * @type {import('../jsdoc/types').TypeI18n}
 *
 * TODO mettre ici à minima les libellés correspondants aux codes techniques qui ne sont pas déjà fournis dans les données de référence.
 * TODO mettre en place un vrai système i18n ?
 */
const i18n = deepFreeze({
    global: {
        donnees: {
            vide: '—',
            erreur: '[ERREUR]'
        }
    },

    // structure :
    // - libelle : optionnel car les données de ref ont déjà un libellé, permet de le surcharger
    avisAdministre: {},

    // structure :
    // - libelle : optionnel car les données de ref ont déjà un libellé, permet de le surcharger
    // - libelleCourt: optionnel, propre à l'UI
    avisPoste: {
        P1: {
            libelleCourt: 'P1'
        },
        P2: {
            libelleCourt: 'P2'
        },
        P3: {
            libelleCourt: 'P3'
        },
        P4: {
            libelleCourt: 'P4'
        },
        NON_ETUDIE: {
            libelleCourt: 'N.É.'
        }
    },

    // structure :
    // - libelle : optionnel car les données de ref ont déjà un libellé, permet de le surcharger
    // - libelleAction: optionnel, propre à l'UI
    // - confirmation: optionnel, propre à l'UI
    // - confirmationAnnulation: optionnel, propre à l'UI
    decision: {
        OMI_ACTIVE: {
            libelleAction: 'OMI terminé',
            confirmation: "l'OMI en terminé",
            confirmationAnnulation: "de l'OMI terminé"
        },
        OMI_EN_COURS: {
            libelleAction: 'OMI en cours',
            confirmation: "l'OMI en cours",
            confirmationAnnulation: "de l'OMI en cours"
        },
        POSITIONNE: {
            libelleAction: 'Positionner',
            confirmation: 'le positionnement',
            confirmationAnnulation: 'du positionnement'
        },
        PREPOSITIONNE: {
            libelleAction: 'Prépositionner',
            confirmation: 'le prépositionnement',
            confirmationAnnulation: 'du prépositionnement'
        }
    },

    administreDetails: {
        sexe: {
            M: 'Masculin',
            F: 'Féminin',
            X: 'Autre',
            NC: 'NC'
        }
    },

    // structure :
    // - libelle : optionnel
    profil: {
        FILIERE: {
            libelle: 'Gestionnaire BGCAT'
        },
        HME: {
            libelle: 'Expert HME'
        },
        BVT: {
            libelle: 'Gestionnaire BVT'
        },
        ITD: {
            libelle: 'Gestionnaire ITD'
        },
        PCP: {
            libelle: 'Pameur BMOB'
        },
        SUPER: {
            libelle: 'Administrateur'
        }
    },

    // structure :
    // - libelle : optionnel
    etatFeFmob: {
        RESTANT: {
            libelle: 'Restant dans la FE'
        },
        ENTRANT: {
            libelle: 'Entrant'
        },
        SORTANT: {
            libelle: 'Sortant'
        },
        ENTRANT_SORTANT: {
            libelle: 'Entrant / Sortant'
        }
    }
});

export default i18n;
