Commit ec37282e authored by gick's avatar gick
Browse files

Merge branch 'master' of https://github.com/gick/albiziapp

parents 6380001d 0ffa0d8c
......@@ -56,7 +56,7 @@ export default {
'lostProgression':{
handler:function(val){
if(val==1){
this.$toasted.show("La mission à été modifié, vous avez perdu votre progression", {
this.$toasted.show(this.$t('progressionLost'), {
theme: "bubble",
position: "top-center",
duration: 5000
......@@ -117,7 +117,7 @@ export default {
channel.bind(
"progression_lost",
function(data) {
this.$toasted.show("Vous allez être deconnecté suite à un changement de la mission", {
this.$toasted.show(this.$t('missionChange'), {
theme: "bubble",
position: "top-center",
duration: 5000,
......@@ -238,7 +238,7 @@ export default {
theme: red
},
{
label: this.$t('relevés'),
label: this.$t('records'),
icon: "ion-edit",
page: Releve,
theme: purple,
......
export default {
en: {
//GENERAL
validate: "Validate",
back: "Back",
specie:"Specie",
genus:"Genus",
common:"Common",
/*confidenceLevels*/
unspecified:"Unspecified",
notVeryConfident:"Not very confident",
confident: "Confident",
// APPTABBAR
map: "Map",
mission: "Mission",
score: "Score",
arboretum: "Arboretum",
relevés: "Records",
records: "Records",
missionChange:"You will be disconnected because of a mission change",
progressionLost: "The mission has been modified, you have lost your progress",
//MENU
access: "Access",
missionMenu: "Current mission",
scoreMenu: "Score",
arboretumMenu: "My arboretum",
tracingsMenu: "My tracings",
recordsMenu: "My records",
language: "Language",
logout: "Logout",
password: "Password",
attemptIntrusion:"Your attempt intrusion has been recorded",
//HOME
authenticate: "Authenticate!",
welcome: "Welcome into Albiziapp",
authenticatePlease : "Thanks to anthencicate",
authenticatePlease : "Thanks to authenticate",
authenticateButton : "AUTHENTICATE",
currentMission: "Current mission",
skipActivityTitle: "Are you sure you want to skip this activity ?",
skipActivityDesc: "This action is irreversible",
skipButton: "SKIP",
cancelButton: "CANCEL",
tracingsDone: "Tracings done",
recordsDone: "Records done",
newTrophy: "New trophy",
timedActivity: "A timed activity has just begun !",
missionCompleted: "You have completed the mission, thank you for participating!",
helpMessageNoGenus: "You have to fill the field 'Genus' of a record to progress in the current activity",
    helpMessageNoSpecie: "You have to fill the field 'Specie' of a record to progress in the current activity",
    helpMessageBadGenus: "You have already performed an action with this genus in the current activity",
    helpMessageBadSpecie: "You have already performed an action with this specie in the current activity",
newStatus: "You have acquired a new status",
//MAP
confirmTitle: "Confirmation",
confirmDesc: "Do you want to make a new tracing ?",
confirmDesc: "Do you want to make a new record ?",
yesButton: "OK",
noButton: "CANCEL",
missionOverTitle: "Mission over",
......@@ -51,24 +76,30 @@ export default {
//ADMIN
administratorTracings: "Administrator tracings",
identificationTracings: "Identification tracings",
anonymousMode: "Anonymous tracing creation mode (tracings will be seen as those of another player)",
deletionMode: "Deletion mode (please avoid removing tracings of other admins)",
administratorRecords: "Administrator records",
identificationRecords: "Identification records",
anonymousMode: "Anonymous record creation mode (records will be seen as those of another player)",
deletionMode: "Deletion mode (please avoid removing records of other admins)",
expertIdentificationVerificationMode: "Verification mode of expert identifications",
tracingVerificationMode: "Verification mode of other players tracings",
recordVerificationMode: "Verification mode of other players records",
gamificationMode: "Gamification mode",
resetSession: "Reset session",
resetButton: "Reset",
addButton: "Add",
usersConnected: "Users connected",
VerificationDoneBy: "Verifications done by",
originTracing: "Origin tracing :",
originRecord: "Origin record :",
userAction: "User action :",
tracingValidation: "tracing validation",
tracingModification: "tracing modification by",
recordValidation: "record validation",
recordModification: "record modification by",
identificationDoneBy: "Identifications done by",
userTracing: "User tracing :",
userRecord: "User record :",
allowOSMModif:"Allow OSM modification",
restoreMission: "Restore mission",
restore: "Restore",
showOSMData: "Show OSM data",
upload: "Upload",
invalidJSON: "Your file is not a valid JSON",
//ARBORETUM
......@@ -77,19 +108,114 @@ export default {
//RELEVES
tracingsList: "Tracings list",
recordsList: "Records list",
unspecifiedTree: "Unspecified Tree",
//FOLIA
identificationViaFolia: "Identification via Folia",
identifyLeaf: "Identify a leaf",
takePict: "Take a picture of a leaf and then circle the leaf",
results: "Results",
circleLeaf: "Circle the leaf and validate",
validate: "Validate"
//SCORE PROFILE
actualStatus: "Actual status",
//STATUS DETAILS
acquireStatus:"Acquire a status",
statusDescription: "Statuses are obtained by progressing in the different scores. You will find below the history of the acquired status.",
//RELEVEIDENTIFICATION
identificationExercise: "Identification exercise",
exerciseDescription1: "You have to identify this tree previously identified by an expert.",
exerciseDescription2: "Take at least one picture",
exerciseDescription3: "of the record and fill in the fields as best as possible. You will have the right answer after submitting your identification.",
identifyTree: "Identify a tree",
specieName:"Specie name",
genusName:"Genus name",
commonName:"Common name",
tap:"Tap to take a picture",
remove:"Remove picture",
change:"Change picture",
expertSpecie:"Specie identified by the expert",
expertGenus:"Genus identified by the expert",
expertCommon:"Common identified by the expert",
missed:"Missed!",
bravo: "Bravo!",
deleteIdentification: "Delete the identification exercise",
//SIMPLEPAGE
newRecord:"New record",
modifyRecord:"Modify a record",
confidence:"Confidence",
noTree:"Tree not present",
sendOSM:"Send to OSM",
save:"Save",
cancel:"Cancel",
identification:"Identification",
//RELEVEOSM
record:"Record",
recordAuthor: "Record author",
lastModif: "Last modification by",
importedRecord: "The record as been imported into Albiziapp",
importAlbiziapp: "Import into Albiziapp",
deleteOSMTree: "Delete OSM Tree",
//RELEVE
importedFromOSM: "Record imported from OSM",
heigth: "Heigth",
crownDiameter: "Diameter of the crown",
confidenceDegree: "Confidence degree of the observer",
usersReporting: "Users reporting this record as doubtful (without tree)",
nbValidation: "Number of validations",
modifyConfirm1:"You can",
modifyConfirm2:"modify",
modifyConfirm3:"the record",
modifyConfirm4:"or confirm that informations are correct",
modifyButton:"Modify",
confirmButton:"Confirm",
see:"See",
noTree1: "If no tree is present,",
noTree2:"you can tag this record as doubtful",
deleteButton:"Delete",
deleteDesc: "Delete the record, this operation is definitive!",
returnToOSM: "Return the record to OSM",
returnButton: "Return to OSM",
history: "History",
recordHistory: "Record history",
version: "Version",
information: "Information",
modificationBy: "Modification by",
validationConfirmation: "Your validation has been taken into account",
deletionConfirmation: "Your record has been deleted",
//IDENTIFICATION
identificationKey: "Identification key"
},
fr: {
//GENERAL
validate: "Valider",
back: "Retour",
specie:"Espèce",
genus:"Genre",
common:"Vernaculaire",
/*confidenceLevels*/
unspecified:"Non renseignée",
notVeryConfident:"Peu confiant",
confident: "Confiant",
// APPTABBAR
......@@ -97,16 +223,21 @@ export default {
mission: "Mission",
score: "Score",
arboretum: "Arboretum",
relevés: "Relevés",
records: "Relevés",
missionChange:"Vous allez être déconnecté suite à un changement de mission",
progressionLost: "La mission a été modifiée, vous avez perdu votre progression",
//MENU
access: "Accès",
missionMenu: "Mission en cours",
scoreMenu: "Score",
arboretumMenu: "Mon arboretum",
tracingsMenu: "Mes relevés",
recordsMenu: "Mes relevés",
language: "Langue",
logout: "Déconnexion",
password: "Mot de passe",
attemptIntrusion:"Votre tentavite d'intrusion a été enregistrée",
//HOME
......@@ -119,9 +250,15 @@ export default {
skipActivityDesc: "Cette action est irréversible",
skipButton: "PASSER",
cancelButton: "ANNULER",
tracingsDone: "Relevés effectués",
recordsDone: "Relevés effectués",
newTrophy: "Nouveau trophée",
timedActivity: "Une activité chronométrée vient de commencer !",
missionCompleted: "Vous avez terminé la mission, merci d'avoir participé !",
helpMessageNoGenus:"Vous devez renseigner le champ 'Genre' d'un relevé pour progresser dans l'activité",
helpMessageNoSpecie:"Vous devez renseigner le champ 'Espèce' d'un relevé pour progresser dans l'activité",
helpMessageBadGenus:"Vous avez déja réalisé une action avec ce genre dans l'activité en cours",
helpMessageBadSpecie:"Vous avez déja réalisé une action avec cette espèce dans l'activité en cours",
newStatus: "Vous avez acquis un nouveau status",
//MAP
......@@ -141,24 +278,30 @@ export default {
//ADMIN
administratorTracings: "Relevés d'administrateur",
identificationTracings: "Relevés d'identification",
administratorRecords: "Relevés d'administrateur",
identificationRecords: "Relevés d'identification",
anonymousMode: "Mode création de relevé anonyme (les relevés seront vus comme ceux d'un autre joueur)",
deletionMode: "Mode suppression (EVITEZ DE SUPPRIMER DES RELEVES D'AUTRES ADMINS)",
expertIdentificationVerificationMode: "Mode vérification des identifications expertes",
tracingVerificationMode: "Mode vérification des relevés utilisateurs",
recordVerificationMode: "Mode vérification des relevés utilisateurs",
gamificationMode: "Mode gamification",
resetSession: "Réinitialiser la session",
resetButton: "Réinitialiser",
addButton: "Ajouter",
usersConnected: "Utilisateurs connectés",
VerificationDoneBy: "Vérifications effectuées par",
originTracing: "Relevé d'origine :",
originRecord: "Relevé d'origine :",
userAction: "Action utilisateur :",
tracingValidation: "validation du relevé",
tracingModification: "modification du relevé par",
recordValidation: "validation du relevé",
recordModification: "modification du relevé par",
identificationDoneBy: "Identifications effectuées par",
userTracing: "Relevé utilisateur :",
useRecord: "Relevé utilisateur :",
allowOSMModif:"Autoriser modification d'OSM",
restoreMission: "Restaurer mission",
restore: "Restaurer",
showOSMData: "Montrer données OSM",
upload: "Upload",
invalidJSON: "Votre fichier n'est pas un JSON valide",
//ARBORETUM
......@@ -167,15 +310,98 @@ export default {
//RELEVES
tracingsList: "Liste des relevés",
recordsList: "Liste des relevés",
unspecifiedTree: "Arbre non renseigné",
//FOLIA
identificationViaFolia: "Identification via Folia",
identifyLeaf: "Identifier une feuille",
takePict: "Prenez une photo de feuille puis réalisez un tracé à l'intérieur de la feuille",
results: "Résultats",
circleLeaf: "Réalisez un tracé à l'intérieur de la feuille puis validez",
validate: "Valider"
validate: "Valider",
//SCORE PROFILE
actualStatus: "Statut actuel",
//STATUS DETAILS
acquireStatus:"Acquérir un statut",
statusDescription: "Les statuts sont obtenus en progressant dans les différents scores. Vous trouverez ci-dessous l'historique des status acquis.",
//RELEVEIDENTIFICATION
identificationExercise: "Exercice d'identification",
exerciseDescription1: " Vous devez identifier cet arbre précédemment identifié par un expert.",
exerciseDescription2: "Prenez au moins une photo",
exerciseDescription3: "du relevé et remplissez les champs le mieux possible. Vous aurez la bonne réponse après avoir soumis votre identification",
identifyTree: "Identifier un arbre",
specieName:"Nom de l'espèce",
genusName:"Nom du genre",
commonName:"Nom vernaculaire",
tap:"Appuyer pour prendre une photo",
remove:"Supprimer photo",
change:"Modifier photo",
expertSpecie:"Espèce identifiée par l'expert",
expertGenus:"Genre identifié par l'expert",
expertCommon:"Nom vernaculaire identifié par l'expert",
missed:"Raté!",
bravo: "Bravo!",
deleteIdentification: "Supprimer le relevé d'identification",
//SIMPLEPAGE
newRecord:"Nouveau relevé",
modifyRecord:"Modifier un relevé",
confidence:"Confiance",
noTree:"Arbre non présent",
sendOSM:"Envoyer vers OSM",
save:"Enregistrer",
cancel:"Annuler",
identification:"Identification",
//RELEVEOSM
record:"Relevé",
recordAuthor: "Auteur du relevé",
lastModif: "Dernière modification par",
importedRecord: "Le relevé a été importé dans Albiziapp",
importAlbiziapp: "Importer dans Albiziapp",
deleteOSMTree: "Supprimer l'arbre d'OSM",
//RELEVE
importedFromOSM: "Relevé importé d'OSM",
heigth: "Hauteur",
crownDiameter: "Diamètre de la couronne",
confidenceDegree: "Degré de confiance de l'observateur",
usersReporting: "Utilisateurs déclarant ce relevé douteux (sans arbre)",
nbValidation: "Nombre de validations",
modifyConfirm1:"Vous pouvez",
modifyConfirm2:"modifier",
modifyConfirm3:"le relevé",
modifyConfirm4:"ou bien confirmer que les informations sont correctes",
modifyButton:"Modifier",
confirmButton:"Confirmer",
see:"Voir",
noTree1:" Si aucun arbre n'est présent,",
noTree2:"vous pouvez tagger ce relevé douteux",
deleteButton:"Supprimer",
deleteDesc: "Supprimer le relevé, cette opération est définitive!",
returnToOSM: "Renvoyer le relevé sur OSM",
returnButton: "Renvoyer vers OSM",
history: "Historique",
recordHistory: "Historique du relevé",
version: "Version",
information: "Information",
modificationBy: "Modification par",
validationConfirmation: "Votre validation a été prise en compte",
deletionConfirmation: "Votre relevé a été supprimé",
//IDENTIFICATION
identificationKey: "Clef d'identification"
}
}
\ No newline at end of file
......@@ -83,6 +83,18 @@ const i18n = new VueI18n({
messages
})
function noBack(){
window.history.forward()
}
noBack();
window.onload=noBack;
window.onpageshow=function(evt){
if(evt.persisted) {
noBack()
}
}
window.onunload=function(){void(0)}
new Vue({
el: '#app',
i18n,
......
......@@ -3,22 +3,22 @@
<custom-toolbar backLabel="Retour"></custom-toolbar>
<div class="content">
<v-ons-list>
<v-ons-list-title>{{ $t('administratorTracings') }}</v-ons-list-title>
<v-ons-list-title>{{ $t('administratorRecords') }}</v-ons-list-title>
<v-ons-list-item>
<div class="center">{{ $t('identificationTracings') }}</div>
<div class="center">{{ $t('identificationRecords') }}</div>
<div class="right">
<v-ons-switch v-model="identCheck" @change="setIdentificationMode"></v-ons-switch>
</div>
</v-ons-list-item>
<v-ons-list-item>
<div class="center">Show OSM data</div>
<div class="center">{{ $t('showOSMData') }}</div>
<div class="right">
<v-ons-switch v-model="showOSM"></v-ons-switch>
</div>
</v-ons-list-item>
<v-ons-list-item>
<div class="center">Authoriser modification d'OSM</div>
<div class="center">{{ $t('allowOSMModif') }}</div>
<div class="right">
<v-ons-switch v-model="identCheck" @change="osmUpdates"></v-ons-switch>
</div>
......@@ -44,7 +44,7 @@
</div>
</v-ons-list-item>
<v-ons-list-item>
<div class="center">{{ $t('tracingVerificationMode') }}</div>
<div class="center">{{ $t('recordVerificationMode') }}</div>
<div class="right">
<v-ons-switch v-model="verificationMode"></v-ons-switch>
</div>
......@@ -71,7 +71,7 @@
</v-ons-list-item>
<v-ons-list-item>
<div class="center">Upload</div>
<div class="center">{{ $t('upload') }}</div>
<div class="right">
<file-upload
accept=".json"
......@@ -84,9 +84,9 @@
</div>
</v-ons-list-item>
<v-ons-list-item>
<div class="center">Restore mission</div>
<div class="center">{{ $t('restoreMission') }}</div>
<div class="right">
<v-ons-button @click="restoreMission">Restore</v-ons-button>
<v-ons-button @click="restoreMission">{{ $t('restore') }}</v-ons-button>
</div>
</v-ons-list-item>
......@@ -113,7 +113,7 @@
v-bind:key="index+'verifs'"
>
<div class="center">
<b>{{ $t('originTracing') }}</b>
<b>{{ $t('originRecord') }}</b>
{{verif.specie}}
<v-ons-button @click="visualizeReleve(verif)" style="margin-left:40px;">Voir</v-ons-button>
</div>
......@@ -121,8 +121,8 @@
<span>
<b>{{ $t('userAction') }}</b>
</span>
<span v-if="verif.validated">{{ $t('tracingValidation') }}</span>
<span v-if="!verif.validated">{{ $t('tracingModification') }} {{verif.userSpecie}}</span>
<span v-if="verif.validated">{{ $t('recordValidation') }}</span>
<span v-if="!verif.validated">{{ $t('recordModification') }} {{verif.userSpecie}}</span>
</div>
</v-ons-list-item>
</v-ons-list>
......@@ -143,13 +143,13 @@
v-bind:key="index+'ident'"
>
<div class="center">
<b>{{ $t('originTracing') }}</b>
<b>{{ $t('originRecord') }}</b>
{{ident.specie}}
<v-ons-button @click="visualizeReleve(ident)" style="margin-left:40px;">Voir</v-ons-button>
</div>
<div class="left" style="display:block">
<span>
<b>{{ $t('userTracing') }} {{ident.userSpecie}}</b>
<b>{{ $t('userRecord') }} {{ident.userSpecie}}</b>
</span>
</div>
</v-ons-list-item>
......@@ -230,7 +230,7 @@ export default {
}
,
error() {
this.$toasted.show("Votre fichier n'est pas un JSON valide", {
this.$toasted.show(this.$t('invalidJSON'), {
theme: "bubble",
position: "top-center",
duration: 5000
......
......@@ -3,14 +3,14 @@
<div class="background"></div>
<div class="content" style>
<v-ons-card>
<div class="title">Identifier une feuille</div>
<div class="title">{{ $t('identifyLeaf') }}</div>
<div class="content">
<p>Prenez une photo de feuille puis réaliser un tracé à l'intérieur de la feuille</p>
<p>{{ $t('takePict') }}</p>
<FileUpload @image="setImage"></FileUpload>
</div>
</v-ons-card>
<v-ons-card v-if="foliaStarted">
<div class="title">Identification via Folia</div>
<div class="title">{{ $t('identificationViaFolia') }}</div>
<div class="content">
<div style="position:relative;">
<p>
......@@ -18,7 +18,7 @@
</p>
</div>
<v-ons-list v-if="foliaResult.length">
<v-ons-list-header>Résultats</v-ons-list-header>
<v-ons-list-header>{{ $t('result') }}</v-ons-list-header>
<v-ons-list-item v-for="(specieResult, index) in foliaResult" :key="index">
<div class="left"></div>
<div class="center">{{specieResult.species}} {{specieResult.percent}}%</div>
......@@ -42,11 +42,11 @@
style="position:absolute;top:0;left: 0;right: 0;margin: auto;"
></VueSignaturePad>
</div>
<p>Réalisez un tracé à l'intérieur de la feuille puis valider</p>
<p>{{ $t('circleLeaf') }}</p>
<v-ons-button
style="position: absolute;left: 0;right: 0;bottom: 1px"
@click="sendImages"
>Valider</v-ons-button>
>{{ $t('validate') }}</v-ons-button>
</v-ons-modal>
</div>
</v-ons-page>
......
......@@ -28,11 +28,11 @@
{{completion}} / {{goal}}
</VmProgress>
<div v-else>
{{ $t('tracingsDone')}} : {{completion}}
{{ $t('recordsDone')}} : {{completion}}
</div>
</v-ons-col>
<v-ons-col width="10%">
<v-ons-icon icon="fa-angle-double-right" @click="showDialog = true" size="30px"></v-ons-icon>
<v-ons-icon icon="times" @click="showDialog = true" size="30px"></v-ons-icon>
</v-ons-col>
</v-ons-row>
<div v-if="timeLeft!=-1">
......@@ -48,7 +48,7 @@
</v-card>