Skip to content

Commit

Permalink
THE-1364 remplacement des textes non implementes dans les fichiers de…
Browse files Browse the repository at this point in the history
… traduction pour AdvancedForm.vue et signaler.vue + barre de recherche
  • Loading branch information
clementdelafontaine committed Oct 10, 2024
1 parent ef5c7c4 commit 7e0fddf
Show file tree
Hide file tree
Showing 9 changed files with 170 additions and 50 deletions.
6 changes: 4 additions & 2 deletions components/common/DomainSelector.vue
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<template>
<div class="domain-selector" role="list">
<div role="listitem">
<v-btn flat @click="select('theses')" title="Rechercher des thèses" role="button">
<v-btn flat @click="select('theses')" :title="$t('rechercherTheses')" role="button">
<v-icon size="50" color="secondary">mdi-school</v-icon>
<span class="title">
<h2 :class="selected === 'theses' ? 'selected' : ''">
Expand All @@ -12,7 +12,7 @@
</div>
<v-divider aria-hidden="true" vertical></v-divider>
<div role="listitem">
<v-btn flat @click="select('personnes')" title="Rechercher des personnes liées aux thèses" role="button">
<v-btn flat @click="select('personnes')" :title="$t('rechercherTheses')" role="button">
<v-icon size="50" color="secondary">mdi-account-multiple</v-icon>
<span class="title">
<h2>
Expand All @@ -27,7 +27,9 @@

<script setup>
import { ref, watch } from 'vue';
import { useI18n } from "vue-i18n";
const { t } = useI18n();
const selected = ref('theses');
const router = useRouter();
const currentRoute = useRoute();
Expand Down
2 changes: 1 addition & 1 deletion components/common/FooterCustom.vue
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@
<v-card-text class="footerBottom">
<div class="text-center text-md-left pa-0 slogan">
{{ new Date().getFullYear() }} —
theses.fr, le moteur de recherche des thèses françaises
theses.fr, {{ $t('slogan') }}
</div>
<div class="text-center text-md-right pa-0">
<v-divider vertical class="my-1"></v-divider>
Expand Down
2 changes: 1 addition & 1 deletion components/personnes/search/SearchBar.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<template>
<div class="searchbar">
<v-combobox role="search" class="searchbar__input" label="Rechercher des personnes, par nom ou par domaine d’expertise"
<v-combobox role="search" class="searchbar__input" :label="$t('rechercherPersonnes')"
:items="suggestions" :menu-props="menuProps" hide-no-data
:no-data-text="isSuggestionLoading ? $t('personnes.searchBar.loading') : $t('personnes.searchBar.noData')"
v-model="request" v-model:search="requestSearch" variant="outlined" cache-items hide-details hide-selected
Expand Down
66 changes: 34 additions & 32 deletions components/theses/search/AdvancedForm.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,22 @@
<div>
<v-form id="form" ref="form">
<div :class="whiteContainer ? 'white-containers' : ''">
<span class="switch"><span class="switch-text">Opérateur entre les champs</span> <span
class="switch-text pl-4">ET</span><v-switch inset flat class="pl-4"
v-model="operatorModel"></v-switch><span class="switch-text pl-4">OU</span></span>
<span class="switch"><span class="switch-text">{{ $t('advancedSearch.operator') }}</span>
<span
class="switch-text pl-4">{{ $t('advancedSearch.and') }}</span>
<v-switch :aria-label="t('advancedSearch.switch')" inset flat class="pl-4" v-model="operatorModel"></v-switch>
<span class="switch-text pl-4">{{ $t('advancedSearch.or') }}</span></span>
<div v-for="(field, index) in formFields" :key="index" class="form-row">
<div class="type">
<v-select class="v-field--container" density="compact" v-model="field.type" :items="types" item-title="titre"
item-value="value" label="Champ" variant="plain" single-line menu-icon="mdi-chevron-down"
@update:model-value="clearField(index)">
<template v-slot:item="{ props, index }">
<v-list density="compact">
<VListSubheader v-if="index === 1">Description des thèses</VListSubheader>
<VListSubheader v-if="index === 6">Personnes liées aux thèses</VListSubheader>
<VListSubheader v-if="index === 12">Structures liées aux thèses</VListSubheader>
<VListSubheader v-if="index === 17">Dates</VListSubheader>
<VListSubheader v-if="index === 1">{{ $t('advancedSearch.thesisInfo') }}</VListSubheader>
<VListSubheader v-if="index === 6">{{ $t('advancedSearch.people') }}</VListSubheader>
<VListSubheader v-if="index === 12">{{ $t('advancedSearch.institutions') }}</VListSubheader>
<VListSubheader v-if="index === 17">{{ $t('advancedSearch.date') }}</VListSubheader>
<v-list-item v-bind="props"></v-list-item>
</v-list>
</template>
Expand Down Expand Up @@ -50,7 +52,7 @@
menu-icon="mdi-chevron-down" single-line></v-select>
</div>
<div v-else>
<v-text-field density="compact" v-model="field.value" label="Texte à rechercher" class="advanced-input-fields"
<v-text-field density="compact" v-model="field.value" :label="t('advancedSearch.searchText')" class="advanced-input-fields"
variant="outlined" single-line clearable clear-icon="mdi-close"
@keydown.enter="search"></v-text-field>
</div>
Expand All @@ -66,17 +68,15 @@
prepend-icon="mdi-reload">{{
$t("vider") }}</v-btn>
<span>
<v-btn @click="addField" variant="plain" density="compact" title="Ajouter un champ"
<v-btn @click="addField" variant="plain" density="compact" :title="t('advancedSearch.addField')"
icon="mdi-plus"></v-btn>
</span>
</div>
</div>
<div class="buttons right">
<v-btn variant="outlined" density="compact" color="primary" @click="emit('simple')" class="mr-4">{{
$t("simple")
}}</v-btn>
<v-btn @click="search" flat color="primary" density="compact" class="mr-4">{{ $t("rechercher")
}}</v-btn>
$t("simple") }}</v-btn>
<v-btn @click="search" flat color="primary" density="compact" class="mr-4">{{ $t("rechercher") }}</v-btn>
</div>
</v-form>
</div>
Expand All @@ -86,8 +86,10 @@
import { ref, watch, computed, onMounted } from 'vue';
import VueDatePicker from '@vuepic/vue-datepicker';
import '@vuepic/vue-datepicker/dist/main.css';
import { useI18n } from "vue-i18n";
const emit = defineEmits(['search', 'simple']);
const { t } = useI18n();
const props = defineProps({
whiteContainer: {
Expand Down Expand Up @@ -119,25 +121,25 @@ onMounted(() => {
})
const types = ref([
{ titre: "Statut", value: "status" },
{ titre: 'Titre', value: 'titres.\\*' },
{ titre: 'Mots clés', value: 'sujetsLibelle' },
{ titre: "Résumé", value: 'resumes.\\*' },
{ titre: "Discipline", value: "discipline" },
{ titre: "Toutes les métadonnées bibliographiques", value: "biblio" },
{ titre: "Auteur", value: "auteursNP" },
{ titre: "Directeur de thèse", value: "directeursNP" },
{ titre: "Président", value: "presidentJuryNP" },
{ titre: "Rapporteur", value: "rapporteursNP" },
{ titre: "Membre du jury", value: "membresJuryNP" },
{ titre: "Tous les rôles", value: "roles" },
{ titre: "Etablissement de soutenance", value: "etabSoutenanceN" },
{ titre: "Etablissement de cotutelle", value: "etabsCotutelleN" },
{ titre: "Ecole doctorale", value: "ecolesDoctoralesN" },
{ titre: "Partenaire de recherche", value: "partenairesRechercheN" },
{ titre: "Toutes les structures", value: "structures" },
{ titre: "Date de soutenance", value: "dateSoutenance" },
{ titre: "Date d'inscription en doctorat", value: "datePremiereInscriptionDoctorat" }
{ titre: t('advancedSearch.status'), value: "status" },
{ titre: t('advancedSearch.title'), value: 'titres.\\*' },
{ titre: t('advancedSearch.keyword'), value: 'sujetsLibelle' },
{ titre: t('advancedSearch.abstract'), value: 'resumes.\\*' },
{ titre: t('advancedSearch.discipline'), value: "discipline" },
{ titre: t('advancedSearch.allMetaData'), value: "biblio" },
{ titre: t('theseView.auteur'), value: "auteursNP" },
{ titre: t('advancedSearch.directeur'), value: "directeursNP" },
{ titre: t('advancedSearch.president'), value: "presidentJuryNP" },
{ titre: t('advancedSearch.rapporteurs'), value: "rapporteursNP" },
{ titre: t('advancedSearch.jury'), value: "membresJuryNP" },
{ titre: t('advancedSearch.role'), value: "roles" },
{ titre: t('advancedSearch.defenseInstitution'), value: "etabSoutenanceN" },
{ titre: t('advancedSearch.coSupervisionInstitution'), value: "etabsCotutelleN" },
{ titre: t('advancedSearch.doctoralSchool'), value: "ecolesDoctoralesN" },
{ titre: t('advancedSearch.partner'), value: "partenairesRechercheN" },
{ titre: t('advancedSearch.allInstitutions'), value: "structures" },
{ titre: t('advancedSearch.defenseDate'), value: "dateSoutenance" },
{ titre: t('advancedSearch.inscriptionDate'), value: "datePremiereInscriptionDoctorat" }
]);
const formFields = useState("formFields", () => [
Expand Down
2 changes: 1 addition & 1 deletion components/theses/search/SearchBar.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<template>
<div class="searchbar">
<v-combobox role="search" v-if="!isAdvanced" class="searchbar__input" label="Rechercher des thèses" :items="items"
<v-combobox role="search" v-if="!isAdvanced" class="searchbar__input" :label="$t('rechercherTheses')" :items="items"
:menu="suggestionActive" :menu-props="menuProps" v-model="request" v-model:search="requestSearch" variant="outlined" base-color="primary"
cache-items hide-details hide-no-data hide-selected no-filter density="compact" return-object type="text"
menu-icon="" @keydown.enter="search" enterkeyhint="send" ref="targetElement" id="searchbar" autocomplete="off">
Expand Down
39 changes: 38 additions & 1 deletion locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
"explorer": "Explore",
"exploreByType": "Explore data by type",
"rechercher": "Search",
"rechercherTheses" : "Search thesis",
"rechercherPersonnes": "Search for people, by name or area of expertise",
"simple": "Simple search",
"vider": "Reset fields",
"reinitializeAll": "Reset all facets",
Expand Down Expand Up @@ -65,6 +67,36 @@
"since": "Since",
"et": "and "
},
"advancedSearch" : {
"operator": "Operator between fields",
"or": "OR",
"and": "AND",
"switch": "Choose between 'and' and 'or' operators",
"searchText": "Text to search",
"addField": "Add a field",
"thesisInfo": "Thesis description",
"people": "People linked to theses",
"institutions": "Institutions linked to theses",
"date": "Dates",
"status": "Status",
"title": "Title",
"keyword": "Keywords",
"abstract": "Abstract",
"discipline": "Discipline",
"allMetaData": "All bibliographic metadata",
"directeur": "Thesis director",
"president": "Jury president",
"rapporteurs": "Reviewer",
"jury": "Jury member",
"role": "All roles",
"defenseInstitution": "Defense institution",
"coSupervisionInstitution": "Co-supervision institution",
"doctoralSchool": "Doctoral school",
"partner": "Research partner",
"allInstitutions": "All institutions",
"defenseDate": "Defense date",
"inscriptionDate": "Doctoral registration date"
},
"theseView": {
"par": "by",
"theseDe": "Doctoral thesis in",
Expand Down Expand Up @@ -213,7 +245,12 @@
"informationLegale5" : "This form is protected by reCAPTCHA and the",
"informationLegale6" : "Privacy Policies",
"informationLegale7" : "Terms of Service",
"informationLegale8" : "of Google apply."
"informationLegale8" : "of Google apply.",
"description" : "Report errors in the thesis description",
"access" : "Report an access issue with the document",
"cancelling" : "Report the completion or abandonment of the thesis project",
"personnalData" : "Report errors on personal data (right to rectification)",
"others" : "Other"
},
"footer": {
"texte": "The theses.fr search engine lists all the doctoral theses defended in France since 1985, the thesis subjects prepared in French higher education establishments, and the people involved in French doctoral research. The database is constantly evolving.",
Expand Down
44 changes: 41 additions & 3 deletions locales/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
"explorer": "Explorar",
"exploreByType": "Explorar los datos por tipo",
"rechercher": "Buscar",
"rechercherTheses" : "Buscar tesis",
"rechercherPersonnes": "Buscar personas, por nombre o área de especialización",
"simple": "Búsqueda simple",
"vider": "Restablecer los campos",
"reinitializeAll": "Reiniciar todas las facetas",
Expand Down Expand Up @@ -54,6 +56,37 @@
"exportData": "Exportar los datos",
"exportBiblio": "Exportar una referencia bibliográfica",
"externalLink": ". Enlace externo.",
"et": "y",
"advancedSearch": {
"operator": "Operador entre campos",
"or": "OR",
"and": "AND",
"switch": "Elegir entre los operadores 'AND' y 'OR'",
"searchText": "Texto a buscar",
"addField": "Añadir un campo",
"thesisInfo": "Descripción de la tesis",
"people": "Personas vinculadas a las tesis",
"institutions": "Instituciones vinculadas a las tesis",
"date": "Fechas",
"status": "Estado",
"title": "Título",
"keyword": "Palabras clave",
"abstract": "Resumen",
"discipline": "Disciplina",
"allMetaData": "Todos los metadatos bibliográficos",
"directeur": "Director/a de tesis",
"president": "Presidente/a del jurado",
"rapporteurs": "Revisor/a",
"jury": "Miembro del jurado",
"role": "Todos los roles",
"defenseInstitution": "Institución de defensa",
"coSupervisionInstitution": "Institución de co-dirección",
"doctoralSchool": "Escuela doctoral",
"partner": "Socio de investigación",
"allInstitutions": "Todas las instituciones",
"defenseDate": "Fecha de defensa",
"inscriptionDate": "Fecha de inscripción doctoral"
},
"resultatsView": {
"plusDeResultats": "Más resultados"
},
Expand All @@ -62,8 +95,8 @@
"dir": "bajo la dirección de",
"defended": "Tesis defendida",
"ongoing": "Tesis en curso",
"since": "Depuis",
"et": "et "
"since": "Desde",
"et": "y "
},
"theseView": {
"par": "por",
Expand Down Expand Up @@ -213,7 +246,12 @@
"informationLegale5" : "Este formulario está protegido por reCAPTCHA y se aplican las",
"informationLegale6" : "Políticas de privacidad",
"informationLegale7" : "Términos de servicio",
"informationLegale8" : "de Google."
"informationLegale8" : "de Google.",
"description" : "Reportar errores en la descripción de la tesis",
"access" : "Reportar un problema de acceso al documento",
"cancelling" : "Reportar la finalización o abandono del proyecto de tesis",
"personnalData" : "Reportar errores en los datos personales (derecho de rectificación)",
"others" : "Otro"
},
"footer": {
"texte": "El motor de búsqueda de theses.fr recoge todas las tesis doctorales defendidas en Francia desde 1985, los temas de las tesis elaboradas en las instituciones de enseñanza superior francesas y las personas implicadas en el proyecto de investigación doctoral francesa. La base de datos está en constante evolución.",
Expand Down
40 changes: 39 additions & 1 deletion locales/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
"explorer": "Explorer",
"exploreByType": "Explorer les données par type",
"rechercher": "Rechercher",
"rechercherTheses": "Rechercher des thèses",
"rechercherPersonnes": "Rechercher des personnes, par nom ou par domaine d’expertise",
"simple": "Recherche simple",
"vider": "Réinitialiser les champs",
"reinitializeAll": "Réinitialiser toutes les facettes",
Expand Down Expand Up @@ -55,6 +57,36 @@
"exportBiblio": "Exporter une référence bibliographique ",
"externalLink": ". Lien Externe.",
"et": "et",
"advancedSearch": {
"operator": "Opérateur entre les champs",
"or": "OU",
"and": "ET",
"switch": "Choisir entre l'opérateur 'et' et 'ou'",
"searchText": "Texte à rechercher",
"addField": "Ajouter un champ",
"thesisInfo": "Description des thèses",
"people": "Personnes liées aux thèses",
"institutions": "Structures liées aux thèses",
"date": "Dates",
"status": "Statut",
"title": "Titre",
"keyword": "Mots clés",
"abstract": "Résumé",
"discipline": "Discipline",
"allMetaData": "Toutes les métadonnées bibliographiques",
"directeur": "Directeur / Directrice de thèse",
"president": "Président / Présidente du jury",
"rapporteurs": "Rapporteur / Rapporteuse",
"jury": "Membre du jury",
"role": "Tous les rôles",
"defenseInstitution": "Etablissement de soutenance",
"coSupervisionInstitution": "Etablissement de cotutelle",
"doctoralSchool": "Ecole doctorale",
"partner": "Partenaire de recherche",
"allInstitutions": "Toutes les structures",
"defenseDate": "Date de soutenance",
"inscriptionDate": "Date d'inscription en doctorat"
},
"resultatsView": {
"plusDeResultats": "Plus de résultats"
},
Expand Down Expand Up @@ -214,7 +246,13 @@
"informationLegale5": "Ce formulaire est protégé par reCAPTCHA et les",
"informationLegale6": "Politiques de confidentialité",
"informationLegale7": "Conditions d'utilisations",
"informationLegale8": "de Google s'appliquent."
"informationLegale8": "de Google s'appliquent.",
"description": "Signaler des erreurs dans la description de la thèse",
"access": "Signaler un problème d'accès au document",
"cancelling": "Signaler l'aboutissement ou l'abandon du projet de thèse",
"personnalData": "Signaler des erreurs sur les données personnelles (droit de rectification)",
"others": "Autre"

},
"footer": {
"texte": "Le moteur de recherche theses.fr recense l’ensemble des thèses de doctorat soutenues en France depuis 1985, les sujets de thèse préparés au sein des établissements de l’enseignement supérieur français, et les personnes impliquées dans la recherche doctorale française. La base de données est en constante évolution.",
Expand Down
Loading

0 comments on commit 7e0fddf

Please sign in to comment.