From a372c81bdb04d88c177383603681bab39d3f8000 Mon Sep 17 00:00:00 2001 From: Pierre-Jean CHANCELLIER <paidge_cs@hotmail.com> Date: Sat, 22 Jan 2022 14:02:38 +0100 Subject: [PATCH] Mise en place du lexique --- components/member/Card.vue | 6 +- components/navigation/menu/Sidebar.vue | 9 +-- i18n/locales/en.json | 81 ++++++++++++++++++++--- i18n/locales/es.json | 81 ++++++++++++++++++++--- i18n/locales/fr.json | 81 ++++++++++++++++++++--- layouts/default.vue | 7 +- pages/lexique.vue | 89 ++++++++++++++++++++++++++ pages/membres/_hash.vue | 4 +- pages/parametres.vue | 5 +- pages/previsions/futurs_membres.vue | 2 +- 10 files changed, 326 insertions(+), 39 deletions(-) create mode 100644 pages/lexique.vue diff --git a/components/member/Card.vue b/components/member/Card.vue index df50275..442ce2f 100644 --- a/components/member/Card.vue +++ b/components/member/Card.vue @@ -12,7 +12,7 @@ v-if="hash.status != 'REVOKED'"> <tbody> <tr v-if="hash.status == 'MEMBER'"> - <th scope="row">{{ $t("membre.referent") }} :</th> + <th scope="row">{{ $t("membre.referent.title") }} :</th> <td :class="{ 'list-group-item-success': hash.sentry, @@ -22,7 +22,7 @@ </td> </tr> <tr v-if="hash.status != 'NEWCOMER'"> - <th scope="row">{{ $t("membre.qualite") }} :</th> + <th scope="row">{{ $t("membre.qualite.title") }} :</th> <td :class="{ 'list-group-item-success': hash.quality.ratio >= 80, @@ -32,7 +32,7 @@ </td> </tr> <tr> - <th scope="row">{{ $t("membre.distance") }} :</th> + <th scope="row">{{ $t("membre.distance.title") }} :</th> <td :class="{ 'list-group-item-success': diff --git a/components/navigation/menu/Sidebar.vue b/components/navigation/menu/Sidebar.vue index 0a3974f..1130884 100644 --- a/components/navigation/menu/Sidebar.vue +++ b/components/navigation/menu/Sidebar.vue @@ -12,10 +12,11 @@ class="d-flex text-info justify-content-between align-items-baseline mt-3 mx-2"> <div class="">v0.02</div> <div class="small" v-if="countMax"> - Bloc n°<span class="font-weight-bold">{{ countMax.number }}</span> ({{ - $d(new Date(countMax.utc0 * 1000), "short") - }} - {{ $t("time.a") }} {{ $d(new Date(countMax.utc0 * 1000), "time") }}) + {{ $t("bloc.title") }} n°<span class="font-weight-bold">{{ + countMax.number + }}</span> + ({{ $d(new Date(countMax.utc0 * 1000), "short") }} {{ $t("time.a") }} + {{ $d(new Date(countMax.utc0 * 1000), "time") }}) </div> </div> <button diff --git a/i18n/locales/en.json b/i18n/locales/en.json index 1658d61..5741347 100644 --- a/i18n/locales/en.json +++ b/i18n/locales/en.json @@ -1,32 +1,79 @@ { "accueil": "Home", + "adhesion": { + "desc": "Inscription dans la toile de confiance", + "title": "Membership" + }, "aurevoir": "Goodbye to", "bienvenue": "Welcome to", - "bloc": "Block", - "certifications": { + "bloc": { + "desc": "", + "title": "Block" + }, + "blockchain": { + "desc": "", + "title": "Blockchain" + }, + "centralite": { + "desc": "", + "title": "Centrality" + }, + "certification": { + "desc": "Lien de reconnaissance entre un individu et un autre", "envoyees": "Certificates sent", - "recues": "Certificates received " + "interne": { + "desc": "", + "title": "Certification interne" + }, + "recues": "Certificates received ", + "title": "Certification" }, "chargement": "Loading", "copie": "Copied", "description": "Description", "dev": "In development", + "dividende": { + "desc": "Part de monnaie produite par tous les membres de la toile de confiance calculée pour respecter la symétrie spatiale et temporelle.", + "title": "Universal Dividend" + }, + "dossier": { + "attente": "No pending files | 1 pending file | {n} pending files", + "desc": "Demande d'adhésion en cours de traitement", + "title": "File" + }, "expire": "Expires", "futuremembers": "Future members", "infos": "Informations", "inout": "Entries and exits of the web of trust for the last 2 days", "inpreparation": "In preparation", + "lexique": "Lexicon", + "mot": "Word or expression", "membre": { + "calculant": { + "desc": "Membre utilisant ses clés privées pour forger des blocks grâce à Duniter.", + "title": "Calculating member" + }, "datelimadhesion": "Membership deadline", "datelimrevoc": "Deadline before revocation ", "datemanquecertifs": "Date before running out of certs", + "desc": "Individu dont l'adhésion est en cours et faisant donc partie de la toile de confiance", "dispo": "Available", "dispocertif": "Available to certify", - "distance": "Distance", + "distance": { + "desc": "% des membres référents atteignables en 5 sauts ou moins dans la toile de confiance", + "title": "Distance" + }, "nb_certifs": "Nb of available certs", "nodispo": "Unavailable", - "qualite": "Quality", - "referent": "Referent" + "qualite": { + "desc": "% des membres référents atteignables en moins de 4 sauts dans la toile de confiance", + "title": "Quality" + }, + "referent": { + "desc": "Membre ayant émis ET reçu un certain nombre de certifications, variable en fonction du nombre de membres total.", + "title": "Referring member" + }, + "title": "Member" }, "membres": "Members", "nom": "Name", @@ -61,9 +108,20 @@ }, "title": "Blockchain parameters" }, + "permutation": { + "desc": "", + "title": "Permutation" + }, + "piscine": { + "desc": "", + "title": "Pool" + }, + "pow": { + "desc": "", + "title": "Proof of Work" + }, "previsions": { "certificationsinternes": "No internal certification | 1 internal certification | {n} internal certifications", - "dossiersattente": "No pending files | 1 pending file | {n} pending files", "pardate": "Forecasts by dates", "parmembre": "Forecasts by members", "permutations": "No permutation | 1 permutation | {n} permutations", @@ -73,6 +131,10 @@ "desc": "Enter the start of a nickname or public key", "title": "Your search" }, + "revocation": { + "desc": "", + "title": "Revocation" + }, "revoila": "Here they are again", "slogan": "The Web of Trust’s wizard", "statut": { @@ -94,5 +156,8 @@ }, "type": "Type", "valeur": "Value", - "wot": "Web of trust" + "wot": { + "desc": "Ensemble des individus reconnus comme tels par leurs pairs et des liens qui les relient entre eux par les certifications", + "title": "Web of trust" + } } diff --git a/i18n/locales/es.json b/i18n/locales/es.json index 295186d..ea46b15 100644 --- a/i18n/locales/es.json +++ b/i18n/locales/es.json @@ -1,32 +1,79 @@ { "accueil": "Página principal", + "adhesion": { + "desc": "Inscription dans la toile de confiance", + "title": "MembresÃa" + }, "aurevoir": "Salen", "bienvenue": "Entran", - "bloc": "Bloque", - "certifications": { + "bloc": { + "desc": "", + "title": "Bloque" + }, + "blockchain": { + "desc": "", + "title": "Blockchain" + }, + "centralite": { + "desc": "", + "title": "Centralidad" + }, + "certification": { + "desc": "Lien de reconnaissance entre un individu et un autre", "envoyees": "Certificaciones enviadas", - "recues": "Certificaciones recibidas " + "interne": { + "desc": "", + "title": "Certification interne" + }, + "recues": "Certificaciones recibidas ", + "title": "Certificacione" }, "chargement": "Cargando", "copie": "Copiada", "description": "Descripción", "dev": "En desarrollo", + "dividende": { + "desc": "Part de monnaie produite par tous les membres de la toile de confiance calculée pour respecter la symétrie spatiale et temporelle.", + "title": "Dividendo Universal" + }, + "dossier": { + "attente": "No hay candidaturas pendientes | 1 candidatura pendiente | {n} candidaturas pendientes", + "desc": "Demande d'adhésion en cours de traitement", + "title": "Candidatura" + }, "expire": "Expira el", "futuremembers": "Futuros miembros", "infos": "Informaciones", "inout": "Entradas y salidas de la red de confianza en los últimos 2 dÃas", "inpreparation": "En preparación", + "lexique": "Léxico", + "mot": "Palabra o expresión", "membre": { + "calculant": { + "desc": "Membre utilisant ses clés privées pour forger des blocks grâce à Duniter.", + "title": "Miembro calculador" + }, "datelimadhesion": "Fecha lÃmite de membresÃa", "datelimrevoc": "Fecha lÃmite de la autorevocación", "datemanquecertifs": "Fecha antes de quedarse sin certificaciones", + "desc": "Individu dont l'adhésion est en cours et faisant donc partie de la toile de confiance", "dispo": "Disponible", "dispocertif": "Disponible para certificar", - "distance": "Distancia", + "distance": { + "desc": "% des membres référents atteignables en 5 sauts ou moins dans la toile de confiance", + "title": "Distancia" + }, "nb_certifs": "Núm. de certificaciones disponibles", "nodispo": "Indisponible", - "qualite": "Calidad de enlace", - "referent": "Referente o de control" + "qualite": { + "desc": "% des membres référents atteignables en moins de 4 sauts dans la toile de confiance", + "title": "Calidad de enlace" + }, + "referent": { + "desc": "Membre ayant émis ET reçu un certain nombre de certifications, variable en fonction du nombre de membres total.", + "title": "Miembrio referente" + }, + "title": "Miembro" }, "membres": "Miembros", "nom": "Nombre", @@ -61,9 +108,20 @@ }, "title": "Parámetros de la blockchain" }, + "permutation": { + "desc": "", + "title": "Permutation" + }, + "piscine": { + "desc": "", + "title": "Piscina" + }, + "pow": { + "desc": "", + "title": "Prueba de trabajo" + }, "previsions": { "certificationsinternes": "Sin certificación interna | 1 certificación interna | {n} certificaciones internas", - "dossiersattente": "No hay candidaturas pendientes | 1 candidatura pendiente | {n} candidaturas pendientes", "pardate": "Previsiones por fecha", "parmembre": "Previsiones por miembros", "permutations": "Sin permutación | 1 permutación | {n} permutaciones", @@ -73,6 +131,10 @@ "desc": "Introduce el comienzo de un pseudónimo o llave pública", "title": "Buscar" }, + "revocation": { + "desc": "", + "title": "Autorevocación" + }, "revoila": "Regresan", "slogan": "El mago de la Red de Confianza", "statut": { @@ -94,5 +156,8 @@ }, "type": "Tipo", "valeur": "Valor", - "wot": "Red de confianza" + "wot": { + "desc": "Ensemble des individus reconnus comme tels par leurs pairs et des liens qui les relient entre eux par les certifications", + "title": "Red de confianza" + } } diff --git a/i18n/locales/fr.json b/i18n/locales/fr.json index eb3969c..5baa90e 100644 --- a/i18n/locales/fr.json +++ b/i18n/locales/fr.json @@ -1,34 +1,81 @@ { "accueil": "Accueil", + "adhesion": { + "desc": "Inscription dans la toile de confiance", + "title": "Adhésion" + }, "aurevoir": "Au revoir à ", "bienvenue": "Bienvenue à ", - "bloc": "Bloc", - "certifications": { + "bloc": { + "desc": "", + "title": "Bloc" + }, + "blockchain": { + "desc": "", + "title": "Chaîne de blocs (Blockchain)" + }, + "centralite": { + "desc": "", + "title": "Centralité" + }, + "certification": { + "desc": "Lien de reconnaissance entre un individu et un autre", "envoyees": "Certifications envoyées", - "recues": "Certifications reçues " + "interne": { + "desc": "", + "title": "Certification interne" + }, + "recues": "Certifications reçues ", + "title": "Certification" }, "chargement": "Chargement", "copie": "Copiée", "description": "Description", "dev": "En Développement", + "dividende": { + "desc": "Part de monnaie produite par tous les membres de la toile de confiance calculée pour respecter la symétrie spatiale et temporelle.", + "title": "Dividende Universel" + }, + "dossier": { + "attente": "Aucun dossier en attente | 1 dossier en attente | {n} dossiers en attente", + "desc": "Demande d'adhésion en cours de traitement", + "title": "Dossier" + }, "expire": "Expire le", "futuremembers": "Futurs membres", "infos": "Informations", "inout": "Entrées et sorties de la toile de confiance des 2 derniers jours", "inpreparation": "En préparation", + "lexique": "Lexique", "membre": { + "calculant": { + "desc": "Membre utilisant ses clés privées pour forger des blocks grâce à Duniter.", + "title": "Membre calculant" + }, "datelimadhesion": "Date limite d'adhésion", "datelimrevoc": "Date limite avant révocation ", "datemanquecertifs": "Date avant de manquer de certifs", + "desc": "Individu dont l'adhésion est en cours et faisant donc partie de la toile de confiance", "dispo": "Disponible", "dispocertif": "Disponible pour certifier", - "distance": "Distance", + "distance": { + "desc": "% des membres référents atteignables en 5 sauts ou moins dans la toile de confiance", + "title": "Distance" + }, "nb_certifs": "Nbre de certifs disponibles", "nodispo": "Indisponible", - "qualite": "Qualité", - "referent": "Référent" + "qualite": { + "desc": "% des membres référents atteignables en 4 sauts ou moins dans la toile de confiance", + "title": "Qualité" + }, + "referent": { + "desc": "Membre ayant émis ET reçu un certain nombre de certifications, variable en fonction du nombre de membres total.", + "title": "Membre référent" + }, + "title": "Membre" }, "membres": "Membres", + "mot": "Mot ou expression", "nom": "Nom", "non": "Non", "oui": "Oui", @@ -61,9 +108,20 @@ }, "title": "Paramètres de la blockchain" }, + "permutation": { + "desc": "", + "title": "Permutation" + }, + "piscine": { + "desc": "", + "title": "Piscine" + }, + "pow": { + "desc": "", + "title": "Preuve de travail" + }, "previsions": { "certificationsinternes": "Aucune certification interne | 1 certification interne | {n} certifications internes", - "dossiersattente": "Aucun dossier en attente | 1 dossier en attente | {n} dossiers en attente", "pardate": "Prévisions par date", "parmembre": "Prévisions par membres", "permutations": "Aucune permutation | 1 permutation | {n} permutations", @@ -73,6 +131,10 @@ "desc": "Saisissez le début d'un pseudo ou d'une clé publique", "title": "Votre recherche" }, + "revocation": { + "desc": "", + "title": "Révocation" + }, "revoila": "Les revoilà ", "slogan": "Le magicien de la Toile de Confiance", "statut": { @@ -94,5 +156,8 @@ }, "type": "Type", "valeur": "Valeur", - "wot": "Toile de confiance" + "wot": { + "desc": "Ensemble des individus reconnus comme tels par leurs pairs et des liens qui les relient entre eux par les certifications", + "title": "Toile de confiance" + } } diff --git a/layouts/default.vue b/layouts/default.vue index cc59e35..f42f2c7 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -13,7 +13,7 @@ export default { // Les title correspondent aux chaînes de traduction dans /i18n/locales menus: [ { - title: "wot", + title: "wot.title", items: [{ path: "/membres", title: "membres" }] }, { @@ -24,7 +24,10 @@ export default { }, { title: "infos", - items: [{ path: "/parametres", title: "params.title" }] + items: [ + { path: "/lexique", title: "lexique" }, + { path: "/parametres", title: "params.title" } + ] } ] } diff --git a/pages/lexique.vue b/pages/lexique.vue new file mode 100644 index 0000000..2619c37 --- /dev/null +++ b/pages/lexique.vue @@ -0,0 +1,89 @@ +<template> + <main class="container"> + <h2 class="text-center mb-5 font-weight-light">{{ $t("lexique") }}</h2> + <div class="table-responsive"> + <table class="table table-striped"> + <thead> + <th>{{ $t("mot") }}</th> + <th>{{ $t("description") }}</th> + </thead> + <tbody> + <tr v-for="mot in listeMotsTrad" :key="mot.title"> + <th scope="row">{{ mot.title }}</th> + <td>{{ mot.desc }}</td> + </tr> + </tbody> + </table> + </div> + </main> +</template> + +<script> +export default { + data() { + return { + breadcrumb: [ + { + text: this.$t("accueil"), + to: "/" + }, + { + text: this.$t("lexique"), + active: true + } + ], + listeMots: [ + "dossier", + "adhesion", + "certification", + "certification.interne", + "permutation", + "membre", + "membre.referent", + "membre.calculant", + "membre.qualite", + "membre.distance", + "revocation", + "piscine", + "wot", + "dividende", + "bloc", + "blockchain", + "pow", + "centralite" + ] + } + }, + nuxtI18n: { + paths: { + fr: "/lexique", + en: "/lexicon", + es: "/lexico" + } + }, + computed: { + listeMotsTrad() { + let retour = [] + this.listeMots.forEach((el) => { + retour.push({ + desc: this.$t(el + ".desc"), + title: this.$t(el + ".title") + }) + }) + retour.sort((a, b) => { + if (a.title < b.title) { + return -1 + } + if (a.title > b.title) { + return 1 + } + return 0 + }) + return retour + } + }, + mounted() { + $nuxt.$emit("changeRoute", this.breadcrumb) + } +} +</script> diff --git a/pages/membres/_hash.vue b/pages/membres/_hash.vue index d9402bc..c857e04 100644 --- a/pages/membres/_hash.vue +++ b/pages/membres/_hash.vue @@ -27,7 +27,7 @@ ['NEWCOMER', 'MISSING'].includes(idFromHash.status) && idFromHash.received_certifications.certifications.length < 5 }"> - {{ $t("certifications.recues") }} ({{ nbCertifs("received") + {{ $t("certification.recues") }} ({{ nbCertifs("received") }}<span v-if="nbCertifsPending('received') != 0">{{ " + " + nbCertifsPending("received") }}</span @@ -44,7 +44,7 @@ class="col-sm-10 col-md-7 col-lg-5 mx-auto" v-if="['MISSING', 'MEMBER'].includes(idFromHash.status)"> <h3 class="h4 text-center"> - {{ $t("certifications.envoyees") }} ({{ nbCertifs("sent") + {{ $t("certification.envoyees") }} ({{ nbCertifs("sent") }}<span v-if="nbCertifsPending('sent') != 0">{{ " + " + nbCertifsPending("sent") }}</span diff --git a/pages/parametres.vue b/pages/parametres.vue index a7b0ddf..8c4e64d 100644 --- a/pages/parametres.vue +++ b/pages/parametres.vue @@ -17,12 +17,11 @@ <tbody> <tr v-for="param in allParameters" :key="param.name"> <th scope="row">{{ param.name }}</th> - <td scope="row" class="d-none d-sm-table-cell"> + <td class="d-none d-sm-table-cell"> {{ param.par_type }} </td> - <td scope="row">{{ param.value }}</td> + <td>{{ param.value }}</td> <td - scope="row" class="d-none d-md-table-cell" v-html="$t('params.name.' + param.name)"></td> </tr> diff --git a/pages/previsions/futurs_membres.vue b/pages/previsions/futurs_membres.vue index c40b31e..4adc7d9 100644 --- a/pages/previsions/futurs_membres.vue +++ b/pages/previsions/futurs_membres.vue @@ -10,7 +10,7 @@ {{ $t("previsions.title") }} <small ><span class="badge badge-secondary">{{ - $tc("previsions.dossiersattente", wwResult.dossiers_nb) + $tc("dossier.attente", wwResult.dossiers_nb) }}</span></small > </h2> -- GitLab