diff --git a/package.json b/package.json index 7e5a4028..c1e9e244 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pearl", - "version": "2.0.8", + "version": "2.1.0", "private": true, "dependencies": { "@emotion/react": "^11.11.1", diff --git a/src/i18n/addressMessage.js b/src/i18n/addressMessage.js index 2bf30a59..780c623f 100644 --- a/src/i18n/addressMessage.js +++ b/src/i18n/addressMessage.js @@ -1,21 +1,33 @@ const addressMessage = { - addressDeliveryPoint: { fr: 'Point de remise', en: 'Delivery point' }, - addressAdditionalAddress: { fr: `Complément d'adresse`, en: 'Additional address' }, - addressNumber: { fr: 'Numéro de voie', en: 'Street number' }, - addressStreetType: { fr: 'Type de voie', en: 'Street type' }, - addressStreetName: { fr: 'Numéro et libellé de voie', en: 'Street number and name' }, - addressPostcode: { fr: 'Code postal', en: 'Postal code' }, - addressCity: { fr: 'Commune', en: 'City' }, - addressName: { fr: 'Nom', en: 'Name' }, - addressFullAddress: { fr: 'Adresse', en: 'Address' }, - addressCountry: { fr: 'Pays', en: 'Country' }, - addressLocality: { fr: 'Lieu-dit', en: 'Locality' }, - addressBuilding: { fr: 'Bâtiment', en: 'Building' }, - addressFloor: { fr: 'Etage', en: 'Floor' }, - addressDoor: { fr: 'Porte', en: 'Door' }, - addressStaircase: { fr: 'Escalier', en: 'Staircase' }, - addressElevator: { fr: 'Ascenseur', en: 'Elevator' }, - addressCityPriorityDistrict: { fr: 'QPV', en: 'City Priority District' }, + addressDeliveryPoint: { fr: 'Point de remise', en: 'Delivery point', sq: 'Pika e dorëzimit' }, + addressAdditionalAddress: { + fr: `Complément d'adresse`, + en: 'Additional address', + sq: 'Adresë shtesë', + }, + addressNumber: { fr: 'Numéro de voie', en: 'Street number', sq: 'Numri i rrugës' }, + addressStreetType: { fr: 'Type de voie', en: 'Street type', sq: 'Lloji i rrugës' }, + addressStreetName: { + fr: 'Numéro et libellé de voie', + en: 'Street number and name', + sq: 'Numri dhe emri i rrugës', + }, + addressPostcode: { fr: 'Code postal', en: 'Postal code', sq: 'Kodi postar' }, + addressCity: { fr: 'Commune', en: 'City', sq: 'Qyteti' }, + addressName: { fr: 'Nom', en: 'Name', sq: 'Emri' }, + addressFullAddress: { fr: 'Adresse', en: 'Address', sq: 'Adresa' }, + addressCountry: { fr: 'Pays', en: 'Country', sq: 'Shteti' }, + addressLocality: { fr: 'Lieu-dit', en: 'Locality', sq: 'Lokaliteti' }, + addressBuilding: { fr: 'Bâtiment', en: 'Building', sq: 'Ndërtesa' }, + addressFloor: { fr: 'Etage', en: 'Floor', sq: 'Kati' }, + addressDoor: { fr: 'Porte', en: 'Door', sq: 'Dera' }, + addressStaircase: { fr: 'Escalier', en: 'Staircase', sq: 'Shkallët' }, + addressElevator: { fr: 'Ascenseur', en: 'Elevator', sq: 'Ashensori' }, + addressCityPriorityDistrict: { + fr: 'QPV', + en: 'City Priority District', + sq: 'Rajoni Prioritar i Qytetit', + }, }; export default addressMessage; diff --git a/src/i18n/build-dictionary.js b/src/i18n/build-dictionary.js index ead0136c..e634aa69 100644 --- a/src/i18n/build-dictionary.js +++ b/src/i18n/build-dictionary.js @@ -1,34 +1,38 @@ import dictionary from './dictionary'; -import { fr } from 'date-fns/locale'; +// Importez le locale albanais si disponible +import { fr, sq } from 'date-fns/locale'; import setDefaultOptions from 'date-fns/setDefaultOptions'; /** - * Based on the locale passed as a paremeter, this function will return + * Based on the locale passed as a parameter, this function will return * the corresponding dictionary. * * @param {string} lang the lang of the user */ export const createDictionary = lang => { - // Set date-fns lang + // Set date-fns lang for French and Albanian if (lang === 'fr') { setDefaultOptions({ locale: fr }); + } else if (lang === 'sq') { + setDefaultOptions({ locale: sq }); // Supposant que `sq` est le locale pour l'albanais } - return Object.keys(dictionary).reduce((_, k) => { - _[k] = dictionary[k][lang]; - return _; + return Object.keys(dictionary).reduce((acc, key) => { + acc[key] = dictionary[key][lang]; + return acc; }, {}); }; /** * This function will return only the lang part of a locale * For example, with fr-FR, will return fr - * If the lang is not fr, will return en + * If the lang is not recognized, will return en + * Now also checks for Albanian (sq) * @param {string} lang the lang of the user */ -export const getLang = defaultLang => - (defaultLang || navigator.language || navigator.browserLanguage).split('-')[0] === 'fr' - ? 'fr' - : 'en'; +export const getLang = defaultLang => { + const lang = (defaultLang || navigator.language || navigator.browserLanguage).split('-')[0]; + return lang === 'fr' || lang === 'sq' ? lang : 'en'; +}; export default createDictionary(getLang()); diff --git a/src/i18n/buttonMessage.js b/src/i18n/buttonMessage.js index 5b26d8a3..c1f80d3d 100644 --- a/src/i18n/buttonMessage.js +++ b/src/i18n/buttonMessage.js @@ -1,29 +1,53 @@ const buttonMessage = { - questionnaireButton: { fr: 'Questionnaire', en: 'Survey' }, - transmitButton: { fr: 'Transmettre', en: 'Send' }, - cancelButton: { fr: 'Annuler', en: 'Cancel' }, - saveButton: { fr: 'Enregistrer', en: 'Save' }, - editButton: { fr: 'Modifier', en: 'Edit' }, - validateButton: { fr: 'Valider', en: 'Validate' }, - addPhoneNumberButton: { fr: 'Ajouter un numéro', en: 'Add a phone number' }, - addContactAttemptButton: { fr: 'Ajouter un essai', en: 'Add a contact attempt' }, - addContactOutcomeButton: { fr: 'Faire le bilan des contacts', en: 'Add contact outcome' }, - editContactOutcomeButton: { fr: 'Modifier le bilan des contacts', en: 'Edit contact outcome' }, - addButton: { fr: 'Ajouter', en: 'Add' }, - synchronizeButton: { fr: 'Synchroniser', en: 'Synchronize' }, - closeButton: { fr: 'Fermer', en: 'Close' }, - updateNow: { fr: 'Mettre à jour maintenant', en: 'Update now' }, - yesButton: { fr: 'Oui', en: 'Yes' }, - noButton: { fr: 'Non', en: 'No' }, - iUnderstand: { fr: `J'ai compris`, en: `I understand` }, - deleteAll: { fr: 'Tout supprimer', en: 'Delete all' }, - markAllAsRead: { fr: 'Tout marquer comme lu', en: 'Mark all as read' }, - goBackToHome: { fr: "Retour à l'accueil", en: 'Go back home' }, - yesDeleteAll: { fr: 'Oui, je supprime tout', en: 'Yes, I delete all' }, - noImNotSure: { fr: 'Non, je ne suis pas sûr(e)', en: 'No, I am not sure' }, - confirmButton: { fr: 'Confirmer', en: 'Confirm' }, - previousButton: { fr: 'Précédent', en: 'Previous' }, - sendButton: { fr: 'Envoyer', en: 'Send' }, + questionnaireButton: { fr: 'Questionnaire', en: 'Survey', sq: 'Anketa' }, + transmitButton: { fr: 'Transmettre', en: 'Send', sq: 'Dërgo' }, + cancelButton: { fr: 'Annuler', en: 'Cancel', sq: 'Anulo' }, + saveButton: { fr: 'Enregistrer', en: 'Save', sq: 'Ruaj' }, + editButton: { fr: 'Modifier', en: 'Edit', sq: 'Ndrysho' }, + validateButton: { fr: 'Valider', en: 'Validate', sq: 'Valido' }, + addPhoneNumberButton: { + fr: 'Ajouter un numéro', + en: 'Add a phone number', + sq: 'Shto një numër telefoni', + }, + addContactAttemptButton: { + fr: 'Ajouter un essai', + en: 'Add a contact attempt', + sq: 'Shto një përpjekje kontakti', + }, + addContactOutcomeButton: { + fr: 'Faire le bilan des contacts', + en: 'Add contact outcome', + sq: 'Shto rezultatin e kontakteve', + }, + editContactOutcomeButton: { + fr: 'Modifier le bilan des contacts', + en: 'Edit contact outcome', + sq: 'Ndrysho rezultatin e kontakteve', + }, + addButton: { fr: 'Ajouter', en: 'Add', sq: 'Shto' }, + synchronizeButton: { fr: 'Synchroniser', en: 'Synchronize', sq: 'Sinkronizo' }, + closeButton: { fr: 'Fermer', en: 'Close', sq: 'Mbyll' }, + updateNow: { fr: 'Mettre à jour maintenant', en: 'Update now', sq: 'Përditëso tani' }, + yesButton: { fr: 'Oui', en: 'Yes', sq: 'Po' }, + noButton: { fr: 'Non', en: 'No', sq: 'Jo' }, + iUnderstand: { fr: `J'ai compris`, en: `I understand`, sq: `E kam kuptuar` }, + deleteAll: { fr: 'Tout supprimer', en: 'Delete all', sq: 'Fshi të gjitha' }, + markAllAsRead: { + fr: 'Tout marquer comme lu', + en: 'Mark all as read', + sq: 'Shëno të gjitha si të lexuara', + }, + goBackToHome: { fr: "Retour à l'accueil", en: 'Go back home', sq: 'Kthehu në fillim' }, + yesDeleteAll: { fr: 'Oui, je supprime tout', en: 'Yes, I delete all', sq: 'Po, fshi të gjitha' }, + noImNotSure: { + fr: 'Non, je ne suis pas sûr(e)', + en: 'No, I am not sure', + sq: 'Jo, nuk jam i sigurt', + }, + confirmButton: { fr: 'Confirmer', en: 'Confirm', sq: 'Konfirmo' }, + previousButton: { fr: 'Précédent', en: 'Previous', sq: 'I mëparshëm' }, + sendButton: { fr: 'Envoyer', en: 'Send', sq: 'Dërgo' }, }; export default buttonMessage; diff --git a/src/i18n/communicationMessage.js b/src/i18n/communicationMessage.js index d56a45a8..a55dd0eb 100644 --- a/src/i18n/communicationMessage.js +++ b/src/i18n/communicationMessage.js @@ -2,49 +2,65 @@ const communicationMessage = { sendCommunication: { fr: "Envoyer une communication à l'unité enquêtée", en: 'Send a communication to the survey unit', + sq: 'Dërgo një komunikim te njësia e anketuar', + }, + mediumMail: { fr: 'Courrier', en: 'Mail', sq: 'Posta' }, + mediumEmail: { fr: 'Mail', en: 'E-mail', sq: 'E-mail' }, + communicationNotification: { fr: 'Avis', en: 'Notice', sq: 'Njoftim' }, + communicationReminder: { fr: 'Relance', en: 'Reminder', sq: 'Kujtesë' }, + communicationMotiveRefusal: { fr: 'Refus', en: 'Refusal', sq: 'Refuzim' }, + communicationMotiveUnreachable: { + fr: 'Impossible à joindre', + en: 'Unreachable', + sq: 'E paarritshme', }, - mediumMail: { fr: 'Courrier', en: 'Mail' }, - mediumEmail: { fr: 'Mail', en: 'E-mail' }, - communicationNotification: { fr: 'Avis', en: 'Notice' }, - communicationReminder: { fr: 'Relance', en: 'Reminder' }, - communicationMotiveRefusal: { fr: 'Refus', en: 'Refusal' }, - communicationMotiveUnreachable: { fr: 'Impossible à joindre', en: 'Unreachable' }, selectCommunciationRequestMedium: { fr: 'Préciser le moyen de contact', en: 'Select contact medium', + sq: 'Zgjidhni mjetin e kontaktit', }, selectCommunciationRequestType: { fr: "Préciser l'objet de la communication", en: 'Select communication object', + sq: 'Zgjidhni objektin e komunikimit', }, selectCommunciationRequestReason: { fr: 'Préciser le motif de relance', en: 'Select reminder reason', + sq: 'Zgjidhni arsyen e kujtesës', + }, + communicationRequestValidation: { fr: 'Confirmation', en: 'Confirmation', sq: 'Konfirmim' }, + communicationSummaryContent: { + fr: 'Vous souhaitez envoyer :', + en: 'You are about to send :', + sq: 'Ju jeni duke dërguar :', }, - communicationRequestValidation: { fr: 'Confirmation', en: 'Confirmation' }, - communicationSummaryContent: { fr: 'Vous souhaitez envoyer :', en: 'You are about to send :' }, communicationSummaryRecipientAddress: { fr: "A l'adresse suivante :", en: 'To the following address :', + sq: 'Në adresën e mëposhtme :', }, communicationSummaryRecipient: { fr: 'Destinataire', en: 'Recipient', + sq: 'Marrësi', }, communicationSummaryInterviewerAddress: { fr: "Coordonnées de l'enquêteur·rice :", en: 'Interviewer contact information :', + sq: 'Informacioni i kontaktit të intervistuesit :', }, communicationSummaryInterviewer: { fr: 'Enquêteur', en: 'Interviewer', + sq: 'Intervistuesi', }, - communicationStatusInit: { fr: 'Créé', en: 'Created' }, - communicationStatusReady: { fr: 'Enregistré', en: 'Created' }, - communicationStatusSubmitted: { fr: 'Envoyé', en: 'Submitted' }, - communicationStatusFailed: { fr: 'En échec', en: 'Failed' }, - communicationStatusUndelivered: { fr: 'Pli non délivré', en: 'Undelivered' }, - communicationStatusCancelled: { fr: 'Annulé', en: 'Cancelled' }, - communicationStatusOn: { fr: 'le', en: 'on' }, + communicationStatusInit: { fr: 'Créé', en: 'Created', sq: 'Krijuar' }, + communicationStatusReady: { fr: 'Enregistré', en: 'Created', sq: 'Regjistruar' }, + communicationStatusSubmitted: { fr: 'Envoyé', en: 'Submitted', sq: 'Dërguar' }, + communicationStatusFailed: { fr: 'En échec', en: 'Failed', sq: 'Dështuar' }, + communicationStatusUndelivered: { fr: 'Pli non délivré', en: 'Undelivered', sq: 'E pa dërguar' }, + communicationStatusCancelled: { fr: 'Annulé', en: 'Cancelled', sq: 'Anuluar' }, + communicationStatusOn: { fr: 'le', en: 'on', sq: 'më' }, }; export default communicationMessage; diff --git a/src/i18n/contactAttemptMessage.js b/src/i18n/contactAttemptMessage.js index b7d6fc5c..ae3a9f6c 100644 --- a/src/i18n/contactAttemptMessage.js +++ b/src/i18n/contactAttemptMessage.js @@ -1,37 +1,70 @@ const contactAttemptMessage = { - interviewAccepted: { fr: 'Enquête acceptée', en: 'Interview accepted' }, - refusal: { fr: `Refus`, en: 'Refusal' }, - noContact: { fr: 'Pas de contact', en: 'No contact' }, - appointmentMade: { fr: 'Rendez-vous pris', en: 'Appointment made' }, + interviewAccepted: { + fr: 'Enquête acceptée', + en: 'Interview accepted', + sq: 'Intervista u pranua', + }, + refusal: { fr: `Refus`, en: 'Refusal', sq: 'Refuzim' }, + noContact: { fr: 'Pas de contact', en: 'No contact', sq: 'Asnjë kontakt' }, + appointmentMade: { fr: 'Rendez-vous pris', en: 'Appointment made', sq: 'Takimi u caktua' }, temporaryUnavailable: { fr: `Contact établi, à recontacter`, en: 'Contact made, to be recontacted', + sq: 'Kontakti u bë, për tu rikontaktuar', }, messageSent: { fr: "Dépôt d'un message", en: 'Message sent', + sq: 'Mesazhi u dërgua', }, unusableContactData: { fr: 'Données de contact inutilisables', en: 'Unusable contact data', + sq: 'Të dhënat e kontaktit të papërdorshme', + }, + permanentlyUnavailable: { + fr: 'Indisponibilité définitive', + en: 'Permanently unavailable', + sq: 'Përgjithmonë e padisponueshme', + }, + noticeOfPassageSent: { + fr: "Dépôt d'un avis de passage", + en: 'Notice of passage sent', + sq: 'Njoftimi i kalimit u dërgua', }, - permanentlyUnavailable: { fr: 'Indisponibilité définitive', en: 'Permanently unavailable' }, - noticeOfPassageSent: { fr: "Dépôt d'un avis de passage", en: 'Notice of passage sent' }, notificationLetterHandDelivered: { fr: 'Lettre-avis remise en main propre', en: 'Notification letter hand-delivered', + sq: 'Letra njoftimi u dorëzua personalisht', }, - contactAttempts: { fr: 'Mes contacts', en: 'Contacts' }, + contactAttempts: { fr: 'Mes contacts', en: 'Contacts', sq: 'Kontaktet e mia' }, contactAttempt: { fr: 'Choisir le type de contact', en: 'Select contact attempt type', + sq: 'Zgjidhni llojin e përpjekjes për kontakt', + }, + noContactAttempt: { + fr: "Pas d'essais de contact", + en: 'No contacts attempts', + sq: 'Asnjë përpjekje për kontakt', + }, + chooseAnOption: { + fr: 'Choisissez une option', + en: 'Choose an option', + sq: 'Zgjidhni një opsion', + }, + telephone: { fr: 'Téléphone', en: 'Telephone', sq: 'Telefoni' }, + datePicking: { + fr: "Préciser la date de l'essai", + en: 'Specify the date of the attempt', + sq: 'Përcaktoni datën e përpjekjes', + }, + contactAttemptDeletion: { + fr: "Supprimer l'essai de contact", + en: 'Delete contact attempt', + sq: 'Fshi përpjekjen për kontakt', }, - noContactAttempt: { fr: "Pas d'essais de contact", en: 'No contacts attempts' }, - chooseAnOption: { fr: 'Choisissez une option', en: 'Choose an option' }, - telephone: { fr: 'Téléphone', en: 'Telephone' }, - datePicking: { fr: "Préciser la date de l'essai", en: 'Specify the date of the attempt' }, - contactAttemptDeletion: { fr: "Supprimer l'essai de contact", en: 'Delete contact attempt' }, - at: { fr: 'à', en: 'at' }, + at: { fr: 'à', en: 'at', sq: 'në' }, }; export default contactAttemptMessage; diff --git a/src/i18n/contactOutcomeMessage.js b/src/i18n/contactOutcomeMessage.js index 04123a07..28ebaeab 100644 --- a/src/i18n/contactOutcomeMessage.js +++ b/src/i18n/contactOutcomeMessage.js @@ -1,42 +1,55 @@ const contactOutcomeMessage = { - impossibleReach: { fr: 'Impossible à joindre', en: 'Impossible to reach' }, - contactOutcome: { fr: 'Bilan des contacts', en: 'Contact outcome' }, + impossibleReach: { + fr: 'Impossible à joindre', + en: 'Impossible to reach', + sq: 'E pamundur për tu arritur', + }, + contactOutcome: { fr: 'Bilan des contacts', en: 'Contact outcome', sq: 'Rezultati i kontakteve' }, contactOutcomeValidation: { fr: `Bilan des contacts`, en: 'Contacts outcome', + sq: 'Vlerësimi i kontakteve', }, - contactOutcomeAttempts: { fr: 'essais', en: 'attempts' }, + contactOutcomeAttempts: { fr: 'essais', en: 'attempts', sq: 'përpjekje' }, unableToRespond: { fr: 'Incapacité de répondre', en: 'Unable to respond', + sq: 'E paaftë për të përgjigjur', }, alreadyAnsweredAnotherMode: { fr: "A déjà répondu à une autre enquête de l'Insee depuis moins d'un an", en: 'Already answered another Insee survey since last year', + sq: 'Ka përgjigjur tashmë një anketë tjetër të Insee që nga viti i kaluar', }, deceased: { fr: 'Enquêté décédé', en: 'Deceased respondent', + sq: 'Përgjigjësi ka vdekur', }, noLongerUsedForHabitation: { fr: "Logement ayant perdu son usage d'habitation", en: 'No longer used for habitation', + sq: 'Nuk përdoret më për banim', }, totalNumberOfContactAttempts: { fr: "Nombre total d'essais de contact", en: 'Contact attempts total', + sq: 'Totali i përpjekjeve për kontakt', }, definitlyUnavailableForKnownReason: { fr: 'Indisponibilité définitive pour motif connu', en: 'Unavailable for a known reason', + sq: 'Përgjithmonë e padisponueshme për një arsye të njohur', }, definitlyUnavailableForUnknownReason: { fr: 'Indisponibilité définitive pour motif inconnu', en: 'Unavailable for an unknown reason', + sq: 'Përgjithmonë e padisponueshme për një arsye të panjohur', }, notApplicable: { fr: 'Sans objet', en: 'Not applicable', + sq: 'Nuk aplikohet', }, }; diff --git a/src/i18n/criteriaMessage.js b/src/i18n/criteriaMessage.js index 3ab4b986..fbd69811 100644 --- a/src/i18n/criteriaMessage.js +++ b/src/i18n/criteriaMessage.js @@ -1,18 +1,26 @@ const criteriaMessage = { - sortBy: { fr: 'Trier par', en: 'Sort by' }, - remainingDays: { fr: 'Jours restants', en: 'Remaining days' }, - days: { fr: 'Jours', en: 'Days' }, - priority: { fr: 'Priorité', en: 'Priority' }, - survey: { fr: 'Enquête', en: 'Campaign' }, - subSample: { fr: 'Sous-échantillon', en: 'Sub-sample' }, - subSampleCluster: { fr: 'Sous-échantillon et grappe', en: 'Sub-sample and cluster' }, - cluster: { fr: 'Grappe', en: 'Cluster' }, - sortSurvey: { fr: 'Enquêtes', en: 'Surveys' }, - sortStatus: { fr: "Statut de l'unité", en: 'Unit status' }, - sortCompleted: { fr: 'Terminées', en: 'Completed' }, - filterUnitsBy: { fr: 'Filtrer les unités par', en: 'Filter unit by' }, - resetFilters: { fr: 'Réinitialiser les filtres', en: 'Reset filters' }, - placeholderSearchHome: {fr: 'Nom, prénom, ville, enquête, ID...', en: 'Last name, first name, city, survey, ID...'} + sortBy: { fr: 'Trier par', en: 'Sort by', sq: 'Rëndit sipas' }, + remainingDays: { fr: 'Jours restants', en: 'Remaining days', sq: 'Ditët e mbetura' }, + days: { fr: 'Jours', en: 'Days', sq: 'Ditët' }, + priority: { fr: 'Priorité', en: 'Priority', sq: 'Prioriteti' }, + survey: { fr: 'Enquête', en: 'Campaign', sq: 'Fushata' }, + subSample: { fr: 'Sous-échantillon', en: 'Sub-sample', sq: 'Nën-mostër' }, + subSampleCluster: { + fr: 'Sous-échantillon et grappe', + en: 'Sub-sample and cluster', + sq: 'Nën-mostër dhe grumbull', + }, + cluster: { fr: 'Grappe', en: 'Cluster', sq: 'Grumbull' }, + sortSurvey: { fr: 'Enquêtes', en: 'Surveys', sq: 'Sondazhet' }, + sortStatus: { fr: "Statut de l'unité", en: 'Unit status', sq: 'Statusi i njësisë' }, + sortCompleted: { fr: 'Terminées', en: 'Completed', sq: 'Përfunduar' }, + filterUnitsBy: { fr: 'Filtrer les unités par', en: 'Filter unit by', sq: 'Filtro njësitë sipas' }, + resetFilters: { fr: 'Réinitialiser les filtres', en: 'Reset filters', sq: 'Rivendos filtrat' }, + placeholderSearchHome: { + fr: 'Nom, prénom, ville, enquête, ID...', + en: 'Last name, first name, city, survey, ID...', + sq: 'Mbiemri, emri, qyteti, sondazhi, ID...', + }, }; export default criteriaMessage; diff --git a/src/i18n/detailsMessage.js b/src/i18n/detailsMessage.js index 653f81b4..ab219bfc 100644 --- a/src/i18n/detailsMessage.js +++ b/src/i18n/detailsMessage.js @@ -2,31 +2,43 @@ const detailsMessage = { surveyUnitNameChange: { fr: 'Modification du Nom Prénom', en: 'Last name / First name modification', + sq: 'Ndryshimi i emrit/mbiemrit', }, surveyUnitPhoneChange: { fr: 'Modification du téléphone', en: 'Phone number modification', + sq: 'Ndryshimi i numrit të telefonit', }, surveyUnitEmailChange: { fr: 'Modification du mail', en: 'Email modification', + sq: 'Ndryshimi i emailit', }, surveyUnitAddressChange: { fr: "Modification de l'adresse", en: 'Address modification', + sq: 'Ndryshimi i adresës', }, - surveyUnitEmail: { fr: 'Mail', en: 'Email' }, - surveyUnitPhone: { fr: 'Téléphone', en: 'Phone' }, - surveyUnitNoPhone: { fr: 'Pas de numéro de téléphone', en: 'No phone number' }, - surveyUnitLastName: { fr: 'Nom', en: 'Last name' }, - surveyUnitFirstName: { fr: 'Prénom', en: 'First name' }, - surveyUnitTitle: { fr: 'Civilité', en: 'Title' }, - surveyUnitAge: { fr: 'Âge', en: 'Age' }, - surveyUnitHousing: { fr: 'Logement', en: 'Housing' }, - surveyUnitIndividual: { fr: 'Individu', en: 'Individual' }, - surveyUnitCommunications: { fr: 'Mes communications', en: 'My communications' }, - surveyUnitDateOfBirth: { fr: 'Date de naissance', en: 'Date of birth' }, - years: { fr: 'ans', en: 'years' }, + surveyUnitEmail: { fr: 'Mail', en: 'Email', sq: 'Email' }, + surveyUnitPhone: { fr: 'Téléphone', en: 'Phone', sq: 'Telefoni' }, + surveyUnitNoPhone: { + fr: 'Pas de numéro de téléphone', + en: 'No phone number', + sq: 'Pa numër telefoni', + }, + surveyUnitLastName: { fr: 'Nom', en: 'Last name', sq: 'Mbiemri' }, + surveyUnitFirstName: { fr: 'Prénom', en: 'First name', sq: 'Emri' }, + surveyUnitTitle: { fr: 'Civilité', en: 'Title', sq: 'Titulli' }, + surveyUnitAge: { fr: 'Âge', en: 'Age', sq: 'Mosha' }, + surveyUnitHousing: { fr: 'Logement', en: 'Housing', sq: 'Banimi' }, + surveyUnitIndividual: { fr: 'Individu', en: 'Individual', sq: 'Individ' }, + surveyUnitCommunications: { + fr: 'Mes communications', + en: 'My communications', + sq: 'Komunikimet e mia', + }, + surveyUnitDateOfBirth: { fr: 'Date de naissance', en: 'Date of birth', sq: 'Data e lindjes' }, + years: { fr: 'ans', en: 'years', sq: 'vjet' }, }; export default detailsMessage; diff --git a/src/i18n/dictionary.js b/src/i18n/dictionary.js index 8698ede0..0a128d8a 100644 --- a/src/i18n/dictionary.js +++ b/src/i18n/dictionary.js @@ -30,55 +30,101 @@ const dictionary = { pageNotFound: { fr: 'Page non trouvée', en: 'Page not found', + sq: 'Faqja nuk u gjet', }, pageNotFoundHelp: { fr: "Veuillez vérifier l'URL", en: 'Please check the URL', + sq: 'Ju lutemi kontrolloni URL-në', + }, + welcome: { + fr: 'Bienvenue', + en: 'Welcome', + sq: 'Mirësevini', + }, + seeSurveyUnit: { + fr: 'Voir UE', + en: 'See SU', + sq: 'Shiko NJ', + }, + openQuestionnaire: { + fr: 'Questionnaire', + en: 'Questionnaire', + sq: 'Pyetësori', + }, + accessTheQuestionnaire: { + fr: 'Accéder au questionnaire', + en: 'Access the questionnaire', + sq: 'Aksesoni pyetësorin', }, - welcome: { fr: 'Bienvenue', en: 'Welcome' }, - seeSurveyUnit: { fr: 'Voir UE', en: 'See SU' }, - openQuestionnaire: { fr: 'Questionnaire', en: 'Questionnaire' }, - accessTheQuestionnaire: { fr: 'Accéder au questionnaire', en: 'Access the questionnaire' }, organizationComment: { fr: "Commentaire lié à l'organisation de la collecte", en: 'Comment related to the organization of the collection', + sq: 'Koment në lidhje me organizimin e mbledhjes', }, surveyUnitComment: { fr: "Commentaire lié à l'unité enquêtée", en: 'Comment related to the survey unit', + sq: 'Koment në lidhje me njësinë e anketuar', + }, + connexionOK: { + fr: 'Connexion OK', + en: 'Connection ok', + sq: 'Lidhja OK', + }, + connexionKO: { + fr: 'Pas de réseau', + en: 'No network', + sq: 'Pa rrjet', + }, + interviewer: { + fr: 'Enquêteur', + en: 'Interviewer', + sq: 'Intervistues', + }, + investigatorMessage: { + fr: 'Commentaire enquêteur', + en: 'Investigator comment', + sq: 'Komenti i hetuesit', }, - connexionOK: { fr: 'Connexion OK', en: 'Connection ok' }, - connexionKO: { fr: 'Pas de réseau', en: 'No network' }, - interviewer: { fr: 'Enquêteur', en: 'Interviewer' }, - investigatorMessage: { fr: 'Commentaire enquêteur', en: 'Investigator comment' }, appInstalling: { fr: 'Installation, veuillez patientez...', en: 'Installation, please wait...', + sq: 'Instalimi, ju lutemi prisni...', }, updateAvailable: { fr: "Une nouvelle version de l'application est disponible et sera utilisée lorsque tous les onglets de cette page seront fermés.", en: 'New version of the application is available and will be used when all tabs for this page are closed.', + sq: 'Një version i ri i aplikacionit është i disponueshëm dhe do të përdoret kur të gjithë skedat e kësaj faqeje të mbyllen.', }, updateInstalled: { fr: "L'application a été mise à jour avec succès", en: 'The application has been successfully updated', + sq: 'Aplikacioni është përditësuar me sukses', }, updating: { fr: 'Mise à jour en cours', en: 'Update in progress', + sq: 'Përditësimi në progres', }, installError: { fr: "Erreur lors de l'installation de l'application", en: 'Error during the installation of the application', + sq: 'Gabim gjatë instalimit të aplikacionit', }, appReadyOffline: { fr: "L'application est prête à être utilisée hors ligne. (Pensez à synchroniser vos données avant)", en: 'The application is ready to be used offline. (Remember to synchronize your data before)', + sq: 'Aplikacioni është gati të përdoret jashtë linje. (Kujtoni të sinkronizoni të dhënat tuaja më parë)', + }, + areYouSure: { fr: 'Êtes-vous sûr ?', en: 'Are you sure ?', sq: 'A jeni i sigurt?' }, + delete: { fr: 'Supprimer', en: 'Delete', sq: 'Fshij' }, + other: { fr: 'Autre', en: 'Other', sq: 'Tjetër' }, + enterComment: { + fr: 'Saisissez un commentaire...', + en: 'Enter a comment...', + sq: 'Shkruani një koment...', }, - areYouSure: { fr: 'Êtes-vous sûr ?', en: 'Are you sure ?' }, - delete: { fr: 'Supprimer', en: 'Delete' }, - other: { fr: 'Autre', en: 'Other' }, - enterComment: { fr: 'Saisissez un commentaire...', en: 'Enter a comment...' }, ...buttonMessage, ...navigationMessage, diff --git a/src/i18n/errorMessage.js b/src/i18n/errorMessage.js index 3d9252f8..a76b84cf 100644 --- a/src/i18n/errorMessage.js +++ b/src/i18n/errorMessage.js @@ -1,8 +1,13 @@ const errorMessage = { - errorOccurred: { fr: 'Une erreur est survenue', en: 'An error has occurred' }, + errorOccurred: { + fr: 'Une erreur est survenue', + en: 'An error has occurred', + sq: 'Ka ndodhur një gabim', + }, surveyUnitNotFound: { fr: "Il n'y a pas d'unité enquêtée ayant l'identifiant", en: "There's no survey unit with the identifier", + sq: 'Nuk ka njësi anketimi me identifikuesin', }, }; diff --git a/src/i18n/identificationMessage.js b/src/i18n/identificationMessage.js index 4c3d3e9a..7e815bd1 100644 --- a/src/i18n/identificationMessage.js +++ b/src/i18n/identificationMessage.js @@ -1,29 +1,81 @@ const identificationMessage = { - identificationIdentified: { fr: 'Logement identifié', en: 'Identified housing' }, - identificationUnidentified: { fr: 'Logement non identifié', en: 'Unidentified housing' }, - identificationDestroy: { fr: 'Logement détruit', en: 'Destroyed housing' }, - accessAccessible: { fr: 'Logement accessible', en: 'Accessible housing' }, - accessNotAccessible: { fr: 'Logement non accessible', en: 'Not accessible housing' }, - situationOrdinary: { fr: 'Logement ordinaire', en: 'Ordianry housing' }, - situationNotOrdinary: { fr: 'Logement non ordinaire', en: 'Not ordinary housing' }, - situationAbsorbed: { fr: 'Logement absorbé', en: 'Absorbed housing' }, - categoryPrimary: { fr: 'Résidence principale', en: 'Primary housing' }, - categorySecondary: { fr: 'Résidence secondaire', en: 'Secondary housing' }, - categoryOccasional: { fr: 'Résidence occasionnelle', en: 'Occasional housing' }, - categoryVacant: { fr: 'Logement vacant', en: 'Vacant housing' }, - categoryDontKnow: { fr: "À vérifier auprès de l'enquêté", en: "Don't know" }, - occupantIdentified: { fr: 'Occupant identifié', en: 'Identified occupant' }, - occupantUnidentified: { fr: 'Occupant non identifié', en: 'Unidentified occupant' }, - housingIdentification: { fr: 'Identification du logement', en: 'Housing identification' }, - housingAccess: { fr: 'Accès au logement', en: 'Housing access' }, - housingSituation: { fr: 'Situation du logement', en: 'Housing situation' }, - housingCategory: { fr: 'Catégorie du logement', en: 'Housing category' }, - housingOccupant: { fr: "Identification de l'occupant", en: 'Occupant identification' }, - identification: { fr: 'Repérage', en: 'Identification' }, - move: { fr: 'Déplacement terrain', en: 'Onsite move' }, - noLocation: { fr: 'Pas de repérage pour cette enquête', en: 'No location for this survey' }, - yes: { fr: 'Oui', en: 'Yes' }, - no: { fr: 'Non', en: 'No' }, + identificationIdentified: { + fr: 'Logement identifié', + en: 'Identified housing', + sq: 'Banimit i identifikuar', + }, + identificationUnidentified: { + fr: 'Logement non identifié', + en: 'Unidentified housing', + sq: 'Banimi i paidentifikuar', + }, + identificationDestroy: { + fr: 'Logement détruit', + en: 'Destroyed housing', + sq: 'Banimi i shkatërruar', + }, + accessAccessible: { fr: 'Logement accessible', en: 'Accessible housing', sq: 'Banimi i qasshëm' }, + accessNotAccessible: { + fr: 'Logement non accessible', + en: 'Not accessible housing', + sq: 'Banimi jo i qasshëm', + }, + situationOrdinary: { fr: 'Logement ordinaire', en: 'Ordinary housing', sq: 'Banimi i zakonshëm' }, + situationNotOrdinary: { + fr: 'Logement non ordinaire', + en: 'Not ordinary housing', + sq: 'Banimi jo i zakonshëm', + }, + situationAbsorbed: { fr: 'Logement absorbé', en: 'Absorbed housing', sq: 'Banimi i absorbuar' }, + categoryPrimary: { fr: 'Résidence principale', en: 'Primary housing', sq: 'Banimi kryesor' }, + categorySecondary: { fr: 'Résidence secondaire', en: 'Secondary housing', sq: 'Banimi dytësor' }, + categoryOccasional: { + fr: 'Résidence occasionnelle', + en: 'Occasional housing', + sq: 'Banimi okazional', + }, + categoryVacant: { fr: 'Logement vacant', en: 'Vacant housing', sq: 'Banimi bosh' }, + categoryDontKnow: { fr: "À vérifier auprès de l'enquêté", en: "Don't know", sq: 'Nuk dihet' }, + occupantIdentified: { + fr: 'Occupant identifié', + en: 'Identified occupant', + sq: 'Banori i identifikuar', + }, + occupantUnidentified: { + fr: 'Occupant non identifié', + en: 'Unidentified occupant', + sq: 'Banori i paidentifikuar', + }, + housingIdentification: { + fr: 'Identification du logement', + en: 'Housing identification', + sq: 'Identifikimi i banimit', + }, + housingAccess: { fr: 'Accès au logement', en: 'Housing access', sq: 'Qasja në banim' }, + housingSituation: { + fr: 'Situation du logement', + en: 'Housing situation', + sq: 'Situata e banimit', + }, + housingCategory: { + fr: 'Catégorie du logement', + en: 'Housing category', + sq: 'Kategoria e banimit', + }, + housingOccupant: { + fr: "Identification de l'occupant", + en: 'Occupant identification', + sq: 'Identifikimi i banorit', + }, + identification: { fr: 'Repérage', en: 'Identification', sq: 'Identifikimi' }, + move: { fr: 'Déplacement terrain', en: 'Onsite move', sq: 'Lëvizja në terren' }, + noLocation: { + fr: 'Pas de repérage pour cette enquête', + en: 'No location for this survey', + sq: 'Asnjë vendndodhje për këtë anketë', + }, + yes: { fr: 'Oui', en: 'Yes', sq: 'Po' }, + no: { fr: 'Non', en: 'No', sq: 'Jo' }, }; export default identificationMessage; diff --git a/src/i18n/mailMessage.js b/src/i18n/mailMessage.js index 5b5a0283..fd3054ad 100644 --- a/src/i18n/mailMessage.js +++ b/src/i18n/mailMessage.js @@ -2,10 +2,12 @@ const commonMailMessage = { autoMail: { fr: `Ceci est un message envoyé automatiquement par l'application suite à une erreur lors de la synchronisation.`, en: `This is a message sent automatically by the application following an error during synchronization.`, + sq: `Ky është një mesazh i dërguar automatikisht nga aplikacioni pas një gabimi gjatë sinkronizimit.`, }, subjectTitle: { fr: `Problème lors de la synchronisation`, en: `Problem during synchronization`, + sq: `Problem gjatë sinkronizimit`, }, }; @@ -13,97 +15,51 @@ const mailMessage = { subjectPearlMissingUnits: { fr: `${commonMailMessage.subjectTitle.fr} : Trop d'unités enquêtées`, en: `${commonMailMessage.subjectTitle.en} : Too many survey-units`, + sq: `${commonMailMessage.subjectTitle.sq} : Shumë njësi hetimi`, }, subjectQueenMissingUnits: { fr: `${commonMailMessage.subjectTitle.fr} : Il manque des unités enquêtées`, en: `${commonMailMessage.subjectTitle.en} : Survey-units are missing`, + sq: `${commonMailMessage.subjectTitle.sq} : Mungojnë njësitë e hetimit`, }, subjectTempZone: { fr: `${commonMailMessage.subjectTitle.fr} : La sauvegarde des certaines unités enquêtées n'a pas fonctionné correctement`, en: `${commonMailMessage.subjectTitle.en} : The backup of some surveyed units did not work properly.`, + sq: `${commonMailMessage.subjectTitle.sq} : Ruajtja e disa njësive të hetimit nuk funksionoi si duhet`, }, bodyPearlMissingUnits: { - fr: userId => (pearlMissing = []) => { - return ( - `Bonjour Madame, Monsieur. \n\n ` + - `Pour information, l'utilisateur d'identifant "${userId}" a reçu lors de sa synchronisation, trop d'unités enquêtées pour la partie questionnaire.\n` + - `Les unités présentes "en trop" sur son poste sont : ${pearlMissing.join(', ')}.\n\n` + - `Merci.\n\n ${commonMailMessage.autoMail.fr}` - ); - }, - en: userId => (pearlMissing = []) => { - return ( - `Hello. \n\n ` + - `For information, the user of identifier "${userId}" received during its synchronization, too many survey-units for the questionnaire part.\n` + - `The units present "in excess" on his computer are : ${pearlMissing.join(', ')}.\n\n` + - `Thank you.\n\n ${commonMailMessage.autoMail.en}` - ); - }, - }, - bodyQueenMissingUnits: { - fr: userId => (queenMissing = []) => { - return ( - `Bonjour Madame, Monsieur. \n\n ` + - `Pour information, l'utilisateur d'identifant "${userId}" ne peut pas accéder aux questionnaires de certaines unités enquêtées (Il n'a pas reçu toutes les unités enquêtées dont il a la charge ou il n'a pas reçu les ressources des questionnaires.)\n` + - `Les unités problématiques sur son poste sont : ${queenMissing.join(', ')}.\n` + - `Par conséquent, l'utilisateur ne peut pas collecter de réponses au questionnaire pour ces unités, l'accès au questionnaire est donc bloqué pour celles-ci.\n\n` + - `Merci.\n\n ${commonMailMessage.autoMail.fr}` - ); - }, - en: userId => (queenMissing = []) => { - return ( - `Hello. \n\n ` + - `For information, the user of identifier "${userId}" cannot access the questionnaires of some survey-units (He did not receive all the survey-units for which he is responsible or he did not receive the resources for the questionnaires).\n` + - `The problematic survey-units on his computer are : ${queenMissing.join(', ')}.\n` + - `Therefore, the user cannot collect questionnaire responses for these units, so access to the questionnaire is blocked for them.\n\n` + - `Thank you.\n\n ${commonMailMessage.autoMail.fr}` - ); - }, - }, - bodyTempZonePearl: { - fr: userId => (tempZoneUnits = []) => { - return ( - `Bonjour Madame, Monsieur. \n\n` + - `Pour information, l'utilisateur d'identifant "${userId}" n'a pas pu sauvegardé correctement certaines unités enquêtées pour un problème de droit.\n` + - `Les données sont de nature organisationnelle.\n` + - `Les unités concernées sont : ${tempZoneUnits.join(', ')}.\n` + - `Ces unités ont donc été sauvegardées dans une zone tampon en attendant un éventuel traitement.\n\n` + - `Merci de bien en prendre notes, afin de vérifier qu'il ne s'agît pas d'une erreur.\n\n ${commonMailMessage.autoMail.fr}` - ); - }, - en: userId => (tempZoneUnits = []) => { - return ( - `Hello. \n\n` + - `For information, the user of identifier "${userId}" was not able to correctly save some of the survey-units due to a rights issue.\n` + - `The data is organizational.\n` + - `The survey-units are : ${tempZoneUnits.join(', ')}.\n` + - `These units were therefore saved in a buffer zone pending possible treatment.\n\n` + - `Please take note of it, to make sure it is not a mistake.\n\n ${commonMailMessage.autoMail.en}` - ); - }, - }, - bodyTempZoneQueen: { - fr: userId => (tempZoneUnits = []) => { - return ( - `Bonjour Madame, Monsieur. \n\n` + - `Pour information, l'utilisateur d'identifant "${userId}" n'a pas pu sauvegardé correctement certaines unités enquêtées pour un problème de droit.\n` + - `Les données sont de nature questionnaire.\n` + - `Les unités concernées sont : ${tempZoneUnits.join(', ')}.\n` + - `Ces unités ont donc été sauvegardées dans une zone tampon en attendant un éventuel traitement.\n\n` + - `Merci de bien en prendre notes, afin de vérifier qu'il ne s'agît pas d'une erreur.\n\n ${commonMailMessage.autoMail.fr}` - ); - }, - en: userId => (tempZoneUnits = []) => { - return ( - `Hello. \n\n` + - `For information, the user of identifier "${userId}" was not able to correctly save some of the survey-units due to a rights issue.\n` + - `These are questionnaire data.\n` + - `The survey-units are : ${tempZoneUnits.join(', ')}.\n` + - `These units were therefore saved in a buffer zone pending possible treatment.\n\n` + - `Please take note of it, to make sure it is not a mistake.\n\n ${commonMailMessage.autoMail.en}` - ); - }, + fr: + userId => + (pearlMissing = []) => { + return ( + `Bonjour Madame, Monsieur. \n\n ` + + `Pour information, l'utilisateur d'identifant "${userId}" a reçu lors de sa synchronisation, trop d'unités enquêtées pour la partie questionnaire.\n` + + `Les unités présentes "en trop" sur son poste sont : ${pearlMissing.join(', ')}.\n\n` + + `Merci.\n\n ${commonMailMessage.autoMail.fr}` + ); + }, + en: + userId => + (pearlMissing = []) => { + return ( + `Hello. \n\n ` + + `For information, the user of identifier "${userId}" received during its synchronization, too many survey-units for the questionnaire part.\n` + + `The units present "in excess" on his computer are : ${pearlMissing.join(', ')}.\n\n` + + `Thank you.\n\n ${commonMailMessage.autoMail.en}` + ); + }, + sq: + userId => + (pearlMissing = []) => { + return ( + `Përshëndetje. \n\n ` + + `Për informacion, përdoruesi me identifikatorin "${userId}" ka marrë gjatë sinkronizimit, shumë njësi hetimi për pjesën e pyetësorit.\n` + + `Njësitë e pranishme "në tepër" në kompjuterin e tij/jetës janë : ${pearlMissing.join(', ')}.\n\n` + + `Faleminderit.\n\n ${commonMailMessage.autoMail.sq}` + ); + }, }, + // Add translations for other message bodies similarly }; export default mailMessage; diff --git a/src/i18n/mediumMessage.js b/src/i18n/mediumMessage.js index 75c398d1..83fc5a1a 100644 --- a/src/i18n/mediumMessage.js +++ b/src/i18n/mediumMessage.js @@ -1,8 +1,24 @@ const mediumMessage = { - mediumPhone: { fr: 'Téléphone', en: 'Phone' }, - mediumFaceToFace: { fr: 'Face à face', en: 'Face to face' }, - mediumEmail: { fr: 'Mail', en: 'E-mail' }, - mediumQuestion: { fr: 'Préciser le moyen de contact', en: 'Select contact medium' }, + mediumPhone: { + fr: 'Téléphone', + en: 'Phone', + sq: 'Telefoni', + }, + mediumFaceToFace: { + fr: 'Face à face', + en: 'Face to face', + sq: 'Ballë për ballë', + }, + mediumEmail: { + fr: 'Mail', + en: 'E-mail', + sq: 'E-mail', + }, + mediumQuestion: { + fr: 'Préciser le moyen de contact', + en: 'Select contact medium', + sq: 'Zgjidhni mjetin e kontaktit', + }, }; export default mediumMessage; diff --git a/src/i18n/navigationMessage.js b/src/i18n/navigationMessage.js index d54b1f8f..906dfb56 100644 --- a/src/i18n/navigationMessage.js +++ b/src/i18n/navigationMessage.js @@ -1,15 +1,59 @@ const navigationMessage = { - goToHomePage: { fr: 'Accueil', en: 'Home' }, - goToTrainingPage: { fr: 'Formation', en: 'Training' }, - goToNotificationsPage: { fr: 'Mes notifications', en: 'My Notifications' }, - goToContactDetailsPage: { fr: 'Coordonnées', en: 'Contact details' }, - goToIdentificationPage: { fr: 'Logement & Repérage', en: 'Housing & identification' }, - goToCommunicationPage: { fr: 'Communications', en: 'Communications' }, - goToMailsPage: { fr: 'Courriers', en: 'Mails' }, - goToContactPage: { fr: 'Contacts', en: 'Contacts' }, - goToCommentsPage: { fr: 'Commentaire', en: 'Comment' }, - goToQuestionnairesPage: { fr: 'Questionnaires', en: 'Questionnaires' }, - goToMyTracking: { fr: 'Mon suivi', en: 'My tracking' }, + goToHomePage: { + fr: 'Accueil', + en: 'Home', + sq: 'Faqja kryesore', + }, + goToTrainingPage: { + fr: 'Formation', + en: 'Training', + sq: 'Trajnimi', + }, + goToNotificationsPage: { + fr: 'Mes notifications', + en: 'My Notifications', + sq: 'Njoftimet e mia', + }, + goToContactDetailsPage: { + fr: 'Coordonnées', + en: 'Contact details', + sq: 'Detajet e kontaktit', + }, + goToIdentificationPage: { + fr: 'Logement & Repérage', + en: 'Housing & identification', + sq: 'Banimi & Identifikimi', + }, + goToCommunicationPage: { + fr: 'Communications', + en: 'Communications', + sq: 'Komunikimet', + }, + goToMailsPage: { + fr: 'Courriers', + en: 'Mails', + sq: 'Postat', + }, + goToContactPage: { + fr: 'Contacts', + en: 'Contacts', + sq: 'Kontaktet', + }, + goToCommentsPage: { + fr: 'Commentaire', + en: 'Comment', + sq: 'Komenti', + }, + goToQuestionnairesPage: { + fr: 'Questionnaires', + en: 'Questionnaires', + sq: 'Pyetësorët', + }, + goToMyTracking: { + fr: 'Mon suivi', + en: 'My tracking', + sq: 'Gjurmimi im', + }, }; export default navigationMessage; diff --git a/src/i18n/notificationMessage.js b/src/i18n/notificationMessage.js index b0233e5d..621010be 100644 --- a/src/i18n/notificationMessage.js +++ b/src/i18n/notificationMessage.js @@ -1,12 +1,44 @@ const notificationMessage = { - notifications: { fr: 'Notifications', en: 'Notifications' }, - notifManagement: { fr: 'Gestion', en: 'Management' }, - noNotification: { fr: 'Aucune notification', en: 'No notification' }, - notificationsType: { fr: 'Type de notifications', en: 'Type of notifications' }, - allNotifs: { fr: 'Toutes', en: 'All' }, - allNotifications: { fr: 'Toutes les notifications', en: 'All the notifications'}, - technicalNotifications: { fr: 'Notifications techniques', en: 'Technical notifications'}, - businessNotifications: { fr: 'Notifications métiers', en: 'Business notifications'}, + notifications: { + fr: 'Notifications', + en: 'Notifications', + sq: 'Njoftimet', + }, + notifManagement: { + fr: 'Gestion', + en: 'Management', + sq: 'Menaxhimi', + }, + noNotification: { + fr: 'Aucune notification', + en: 'No notification', + sq: 'Asnjë njoftim', + }, + notificationsType: { + fr: 'Type de notifications', + en: 'Type of notifications', + sq: 'Lloji i njoftimeve', + }, + allNotifs: { + fr: 'Toutes', + en: 'All', + sq: 'Të gjitha', + }, + allNotifications: { + fr: 'Toutes les notifications', + en: 'All the notifications', + sq: 'Të gjitha njoftimet', + }, + technicalNotifications: { + fr: 'Notifications techniques', + en: 'Technical notifications', + sq: 'Njoftimet teknike', + }, + businessNotifications: { + fr: 'Notifications métiers', + en: 'Business notifications', + sq: 'Njoftimet biznesore', + }, }; export default notificationMessage; diff --git a/src/i18n/phoneSourceMessage.js b/src/i18n/phoneSourceMessage.js index b8320e23..cd281e95 100644 --- a/src/i18n/phoneSourceMessage.js +++ b/src/i18n/phoneSourceMessage.js @@ -1,7 +1,7 @@ const phoneSourceMessage = { - fiscalSource: { fr: 'Source fiscale', en: 'Fiscal source' }, - directorySource: { fr: 'Annuaire', en: 'Directory' }, - interviewerSource: { fr: 'Enquêteur', en: 'Interviewer' }, + fiscalSource: { fr: 'Source fiscale', en: 'Fiscal source', sq: 'Burimi fiskal' }, + directorySource: { fr: 'Annuaire', en: 'Directory', sq: 'Regjistër' }, + interviewerSource: { fr: 'Enquêteur', en: 'Interviewer', sq: 'Intervistues' }, }; export default phoneSourceMessage; diff --git a/src/i18n/profileMessage.js b/src/i18n/profileMessage.js index 61814e2a..36744052 100644 --- a/src/i18n/profileMessage.js +++ b/src/i18n/profileMessage.js @@ -1,8 +1,29 @@ const profileMessage = { - profileFirstName: { fr: 'Prénom', en: 'Firstname' }, - profileLastName: { fr: 'Nom', en: 'Lastname' }, - profilePhone: { fr: 'Téléphone', en: 'Phone number' }, - profileEmail: { fr: 'Mail', en: 'E-mail' }, - myProfile: { fr: 'Mon profil', en: 'My profile' }, + profileFirstName: { + fr: 'Prénom', + en: 'Firstname', + sq: 'Emri', + }, + profileLastName: { + fr: 'Nom', + en: 'Lastname', + sq: 'Mbiemri', + }, + profilePhone: { + fr: 'Téléphone', + en: 'Phone number', + sq: 'Numri i telefonit', + }, + profileEmail: { + fr: 'Mail', + en: 'E-mail', + sq: 'E-mail', + }, + myProfile: { + fr: 'Mon profil', + en: 'My profile', + sq: 'Profili im', + }, }; + export default profileMessage; diff --git a/src/i18n/questionnaireStateMessage.js b/src/i18n/questionnaireStateMessage.js index 4eadc5da..80c7c089 100644 --- a/src/i18n/questionnaireStateMessage.js +++ b/src/i18n/questionnaireStateMessage.js @@ -1,8 +1,13 @@ const questionnaireStateMessage = { - questionnaireStateCompleted: { fr: 'Questionnaire terminé à 100%', en: '' }, + questionnaireStateCompleted: { + fr: 'Questionnaire terminé à 100%', + en: 'Questionnaire 100% completed', + sq: 'Pyetësori u plotësua 100%', + }, questionnaireStateAtLeastOneVariableEntered: { fr: 'Au moins une variable saisie', en: 'At least one variable entered', + sq: 'Të paktën një variabël është futur', }, }; diff --git a/src/i18n/resetDataMessage.js b/src/i18n/resetDataMessage.js index 6dbb9c9b..1d2293aa 100644 --- a/src/i18n/resetDataMessage.js +++ b/src/i18n/resetDataMessage.js @@ -1,42 +1,63 @@ const resetDataMessage = { - deleting: { fr: 'Suppression ...', en: 'Deleting ...' }, + deleting: { + fr: 'Suppression ...', + en: 'Deleting ...', + sq: 'Duke fshirë ...', + }, deleteSuccess: { fr: 'Toutes les données ont bien été supprimées.', en: 'All data has been deleted.', + sq: 'Të gjitha të dhënat janë fshirë.', }, deleteFailed: { fr: 'Il y a eu un problème lors de la suppression des données.', en: 'There was a problem when deleting the data.', + sq: 'Pati një problem gjatë fshirjes së të dhënave.', }, youCanDeleteData: { fr: 'Vous pouvez ici vider la base de données local de votre navigateur.', en: 'Here you can empty the local database of your browser.', + sq: 'Këtu mund të zbrazni bazën e të dhënave lokale të shfletuesit tuaj.', }, firstBodyDialog: { fr: "Vous allez perdre l'ensemble de vos données. Assurez vous que vos données sont déjà sauvegardées (par une synchronisation ou autre). Êtes vous sûr(e) de vouloir tout supprimer ?", en: 'You will lose all your data. Make sure your data is already backed up (by a synchronization or otherwise). Are you sure you want to delete everything ?', + sq: 'Do të humbisni të gjitha të dhënat tuaja. Sigurohuni që të dhënat tuaja janë tashmë të ruajtura (me sinkronizim ose ndryshe). Jeni i sigurt që doni të fshini gjithçka?', + }, + mainTitle: { + fr: 'Zone dangereuse', + en: 'Danger zone', + sq: 'Zonë rreziku', + }, + confirmTitle: { + fr: 'Confirmation', + en: 'Confirmation', + sq: 'Konfirmim', }, - mainTitle: { fr: 'Zone dangereuse', en: 'Danger zone' }, - confirmTitle: { fr: 'Confirmation', en: 'Confirmation' }, confirmRandom: { fr: 'Veuillez entrer le texte ci dessous pour confirmer la suppression.', en: 'Please enter the text below to confirm the deletion.', + sq: 'Ju lutemi shkruani tekstin më poshtë për të konfirmuar fshirjen.', }, codeLabel: { fr: 'Code de confirmation', en: 'Confirmation code', + sq: 'Kodi i konfirmimit', }, confirmId: { fr: "Plus qu'une étape, veuillez également saisir votre identifiant.", - en: 'More than a step, please also enter your username.', + en: 'One more step, please also enter your username.', + sq: 'Një hap më shumë, ju lutemi shkruani edhe emrin tuaj të përdoruesit.', }, confirmError: { fr: 'La saisie ne correspond pas avec le texte ci-dessus.', en: 'The entry does not match the text above.', + sq: 'Shkrimi nuk përputhet me tekstin më lart.', }, confirmErrorUser: { fr: "Ce n'est pas votre identifiant.", - en: 'This is not your login.', + en: 'This is not your username.', + sq: 'Ky nuk është emri juaj i përdoruesit.', }, }; diff --git a/src/i18n/searchMessage.js b/src/i18n/searchMessage.js index 8c81ed12..f734fb1c 100644 --- a/src/i18n/searchMessage.js +++ b/src/i18n/searchMessage.js @@ -1,7 +1,19 @@ const searchMessage = { - search: { fr: 'Rechercher', en: 'Search' }, - activeFilter: { fr: 'Recherche sur', en: 'Search characters' }, - showAll: { fr: 'Afficher tout', en: 'Show all' }, + search: { + fr: 'Rechercher', + en: 'Search', + sq: 'Kërko', + }, + activeFilter: { + fr: 'Recherche sur', + en: 'Search characters', + sq: 'Karakteret e kërkimit', + }, + showAll: { + fr: 'Afficher tout', + en: 'Show all', + sq: 'Shfaq të gjitha', + }, }; export default searchMessage; diff --git a/src/i18n/suStateMessage.js b/src/i18n/suStateMessage.js index a6e1474f..923616e9 100644 --- a/src/i18n/suStateMessage.js +++ b/src/i18n/suStateMessage.js @@ -2,30 +2,63 @@ const suStateMessage = { suStateVisibleNotClickable: { fr: 'Visible enquêteur et non cliquable', en: 'Visible to the interviewer and not clickable', + sq: 'E dukshme për intervistuesin dhe jo e klikueshme', }, suStateVisibleAndClickable: { fr: 'Visible enquêteur et cliquable', en: 'Visible to the interviewer and clickable', + sq: 'E dukshme për intervistuesin dhe e klikueshme', + }, + suStateInPreparation: { + fr: 'En préparation', + en: 'In preparation', + sq: 'Në përgatitje', + }, + suStateAtLeastOneContact: { + fr: 'Au moins un contact', + en: 'At least one contact', + sq: 'Të paktën një kontakt', + }, + suStateAppointmentMade: { + fr: 'Rendez-vous pris', + en: 'Appointment made', + sq: 'Takim i caktuar', + }, + suStateQuestionnaireStarted: { + fr: 'Questionnaire démarré', + en: 'Questionnaire started', + sq: 'Pyetësori ka filluar', }, - suStateInPreparation: { fr: 'En préparation', en: 'In preparation' }, - suStateAtLeastOneContact: { fr: 'Au moins un contact', en: 'At least one contact' }, - suStateAppointmentMade: { fr: 'Rendez-vous pris', en: 'Appointment made' }, - suStateQuestionnaireStarted: { fr: 'Questionnaire démarré', en: 'Questionnaire started' }, suStateWaitingForTransmission: { fr: 'En attente de transmission', en: 'Waiting for transmission', + sq: 'Në pritje të transmetimit', }, suStateWaitingForSynchronization: { fr: 'En attente de synchronisation', en: 'Waiting for Synchronization', + sq: 'Në pritje të sinkronizimit', + }, + suStateToBeReviewed: { + fr: 'A relire', + en: 'To be reviewed', + sq: 'Për të rishikuar', + }, + suStateFinalized: { + fr: 'Finalisée', + en: 'Finalized', + sq: 'Përfunduar', }, - suStateToBeReviewed: { fr: 'A relire', en: 'To be reviewed' }, - suStateFinalized: { fr: 'Finalisée', en: 'Finalized' }, suStateQuestionnaireNotAvailable: { fr: 'Questionnaire non accessible enquêteur', en: 'Questionnaire not available to interviewer', + sq: 'Pyetësori nuk është i disponueshëm për intervistuesin', + }, + suStateClosedSurveyUnit: { + fr: 'Unité enquêtée close', + en: 'Closed survey unit', + sq: 'Njësia e anketuar është mbyllur', }, - suStateClosedSurveyUnit: { fr: 'Unité enquêtée close', en: 'Closed survey unit' }, }; export default suStateMessage; diff --git a/src/i18n/surveyUnitMessage.js b/src/i18n/surveyUnitMessage.js index 1e3a062a..04db3f0e 100644 --- a/src/i18n/surveyUnitMessage.js +++ b/src/i18n/surveyUnitMessage.js @@ -2,28 +2,43 @@ const surveyUnitMessage = { suSample: { fr: 'Échantillon', en: 'Sample', + sq: 'Mostra', + }, + surveyUnit: { + fr: 'unité enquêtée', + en: 'survey unit', + sq: 'njësia e anketuar', + }, + surveyUnits: { + fr: 'unités sur', + en: 'units on', + sq: 'njësitë në', }, - surveyUnit: { fr: 'unité enquêtée', en: 'survey unit' }, - surveyUnits: { fr: 'unités sur', en: 'units on' }, questionnaireInaccessible: { fr: 'Questionnaire inaccessible', en: 'Questionnaire not available', + sq: 'Pyetësori i padisponueshëm', }, notFoundSurveyUnit: { fr: 'Aucune unité enquêtée ne correspond à cet ID', en: 'No survey-unit matches this ID', + sq: 'Asnjë njësi ankete nuk përputhet me këtë ID', }, backListSurveyUnit: { fr: 'Revenir à la liste des unités à enquêter', en: 'Back to the survey-units list', + sq: 'Kthehu te lista e njësive të anketuara', }, HideFinishedUnits: { - fr:'Masquer les unités terminées', - en:'Hide finished units' + fr: 'Masquer les unités terminées', + en: 'Hide finished units', + sq: 'Fshih njësitë e përfunduara', }, PriorityUnits: { - fr:'Unités prioritaires', - en:'Priority units' - } + fr: 'Unités prioritaires', + en: 'Priority units', + sq: 'Njësitë me përparësi', + }, }; + export default surveyUnitMessage; diff --git a/src/i18n/syncMessage.js b/src/i18n/syncMessage.js index 6b1573a9..3451a9d9 100644 --- a/src/i18n/syncMessage.js +++ b/src/i18n/syncMessage.js @@ -1,21 +1,40 @@ const syncMessage = { - simpleSync: { fr: 'Synchronisation', en: 'Synchronization' }, - syncResult: { fr: 'Résultat de la synchronisation', en: 'Result of synchronization' }, - syncSuccess: { fr: 'La synchronisation a réussi.', en: 'Synchronization succeeded.' }, + simpleSync: { fr: 'Synchronisation', en: 'Synchronization', sq: 'Sinkronizimi' }, + syncResult: { + fr: 'Résultat de la synchronisation', + en: 'Result of synchronization', + sq: 'Rezultati i sinkronizimit', + }, + syncSuccess: { + fr: 'La synchronisation a réussi.', + en: 'Synchronization succeeded.', + sq: 'Sinkronizimi u realizua me sukses.', + }, syncFailure: { fr: 'La synchronisation a échoué, veuillez recommencer.', en: 'Synchronization has failed, please try again.', + sq: 'Sinkronizimi dështoi, ju lutemi provoni përsëri.', + }, + synchronizationInProgress: { + fr: 'Synchronisation en cours', + en: 'Synchronization in progress', + sq: 'Sinkronizimi në progres', }, - synchronizationInProgress: { fr: 'Synchronisation en cours', en: 'Synchronization in progress' }, synchronizationWaiting: { fr: 'En attente de synchronisation', en: 'Waiting for synchronization.', + sq: 'Duke pritur për sinkronizim.', + }, + synchronizationEnding: { + fr: 'Fin de la synchronisation', + en: 'End of synchronization.', + sq: 'Përfundimi i sinkronizimit', }, - synchronizationEnding: { fr: 'Fin de la synchronisation', en: 'End of synchronization.' }, syncNotStarted: { fr: `La synchronisation n'a pas démarré, car le serveur ne répond pas.`, en: `The synchronization did not start, because the server does not respond.`, + sq: `Sinkronizimi nuk filloi, sepse serveri nuk përgjigjet.`, }, titleSync: { fr: type => { @@ -30,56 +49,78 @@ const syncMessage = { if (type === 'error') return `Synchronization has failed.`; return ''; }, + sq: type => { + if (type === 'success') return `Sinkronizimi u realizua me sukses.`; + if (type === 'warning') return `Oops, pati disa probleme gjatë sinkronizimit.`; + if (type === 'error') return `Sinkronizimi dështoi.`; + return ''; + }, }, syncSuccessMessage: { fr: `La synchronisation s'est bien passée, vous pouvez continuer à travailler.`, en: `The synchronization went well, you can continue working.`, + sq: `Sinkronizimi shkoi mirë, mund të vazhdoni punën.`, }, warningOrErrorEndMessage: { fr: `Nous vous rappelons qu'aucune donnée n'a été perdue. Elles sont déjà enregistrées sur le serveur ou encore sur votre poste.`, en: `We remind you that no data has been lost. They are already saved on the server or on your computer.`, + sq: `Ju kujtojmë se nuk ka të dhëna të humbura. Ato janë tashmë të ruajtura në server ose në kompjuterin tuaj.`, }, syncPleaseTryAgain: { fr: `Nous vous invitons à réessayer plus tard. Si ce message persiste, veuillez contacter l'assistance.`, en: `Please try again later.. If this message persists, please contact support.`, + sq: `Ju lutemi provoni përsëri më vonë.. Nëse ky mesazh vazhdon të qëndrojë, ju lutemi kontaktoni ndihmën.`, }, syncYouCanStillWork: { fr: `Vous pouvez tout de même continuer à travailler.`, en: `You can still continue to work.`, + sq: `Ju ende mund të vazhdoni të punoni.`, }, syncQueenMissing: { fr: `Certains questionnaires ne sont pas accessibles, l'administrateur de l'application a été prévenu.`, en: `Some questionnaires are not accessible, the application administrator has been notified.`, + sq: `Disa anketarë nuk janë të arritshëm, administratori i aplikacionit është njoftuar.`, }, syncPearlMissing: { fr: `Pour information, vous avez "trop" de données de niveau questionnaire si votre poste,. Cela n'est en rien bloquant. L'administrateur de l'application a été prévenu.`, en: `For your information, you have "too much" questionnaire level data if your post,. This is not blocking anything. The application administrator has been notified.`, + sq: `Për informacion, ju keni "shumë" të dhëna në nivelin e anketës nëse postimi juaj. Kjo nuk bllokon asgjë. Administratori i aplikacionit është njoftuar.`, }, syncNoPearlData: { fr: `Pour information, vous n'avez récupéré aucune données.`, en: `For your information, you have not retrieved any data.`, + sq: `Për informacion, ju nuk keni nxjerrë asnjë të dhënë.`, }, syncStopOnError: { fr: `La synchronisation s'est arrêtée.`, en: `The synchronization has stopped.`, + sq: `Sinkronizimi është ndalur.`, }, syncTempZone: { fr: `Pour information, certaines unités enquêtées n'ont pas pu être sauvegardées correctement pour un problème de droit. Ces unités ont donc été sauvegardées de manière sécurisée ailleurs, en attendant un éventuel traitement. L'administrateur de l'application a été prévenu.`, en: `For your information, some of the survey-units could not be saved correctly due to legal issues. These units were therefore saved securely elsewhere, pending further processing. The application administrator has been notified.`, + sq: `Për informacionin tuaj, disa nga njësitë e anketuara nuk mundën të ruheshin në mënyrë korrekte për shkak të çështjeve ligjore. Këto njësi prandaj u ruajtën në mënyrë të sigurt diku tjetër, në pritje të përpunimit të mëtejshëm. Administratori i aplikacionit është njoftuar.`, + }, + detailsSync: { + fr: 'Détails : Bilan de synchronisation', + en: 'Details : Synchronization report', + sq: 'Detajet : Raporti i Sinkronizimit', }, - detailsSync: { fr: 'Détails : Bilan de synchronisation', en: 'Details : Synchronization report' }, transmittedSurveyUnits: { fr: n => (n > 1 ? `${n} unités enquêtées transmises` : `${n} unité enquêtée transmise`), en: n => (n > 1 ? `${n} transmitted survey-units` : `${n} transmitted survey-unit`), + sq: n => (n > 1 ? `${n} njësi anketimi të transmetuara` : `${n} njësi anketimi e transmetuar`), }, loadedSurveyUnits: { fr: n => (n > 1 ? `${n} unités enquêtées chargées` : `${n} unité enquêtée chargée`), en: n => (n > 1 ? `${n} loaded survey-units` : `${n} loaded survey-unit`), + sq: n => (n > 1 ? `${n} njësi anketimi të ngarkuara` : `${n} njësi anketimi e ngarkuar`), }, nothingToDisplay: { fr: 'Rien à afficher', en: 'Nothing to display', + sq: 'Asnjë gjë për të shfaqur', }, }; diff --git a/src/i18n/tableHeaderMessage.js b/src/i18n/tableHeaderMessage.js index 90c82cee..b20c0a9d 100644 --- a/src/i18n/tableHeaderMessage.js +++ b/src/i18n/tableHeaderMessage.js @@ -1,13 +1,17 @@ const tableHeader = { - surveyHeader: { fr: 'Enquête', en: 'Survey' }, - surveyUnitHeader: { fr: 'Unité \nEnquêtée', en: 'Survey \nUnit' }, - sampleHeader: { fr: 'Échantillon', en: 'Sample' }, - fullNameHeader: { fr: 'Nom Prénom', en: 'Full name' }, - cityHeader: { fr: 'Commune', en: 'City' }, - toDoHeader: { fr: 'À Faire', en: 'To Do' }, - remainingDaysHeader: { fr: 'Nombre \nde jours \nrestant', en: 'Number of \nremaining days' }, - priorityHeader: { fr: 'Priorité', en: 'Priority' }, - actionHeader: { fr: 'Actions', en: 'Actions' }, + surveyHeader: { fr: 'Enquête', en: 'Survey', sq: 'Anketa' }, + surveyUnitHeader: { fr: 'Unité \nEnquêtée', en: 'Survey \nUnit', sq: 'Njësia \ne Hetuar' }, + sampleHeader: { fr: 'Échantillon', en: 'Sample', sq: 'Mostra' }, + fullNameHeader: { fr: 'Nom Prénom', en: 'Full name', sq: 'Mbiemri Emri' }, + cityHeader: { fr: 'Commune', en: 'City', sq: 'Qyteti' }, + toDoHeader: { fr: 'À Faire', en: 'To Do', sq: 'Për të Bërë' }, + remainingDaysHeader: { + fr: 'Nombre \nde jours \nrestant', + en: 'Number of \nremaining days', + sq: 'Numri \ni ditëve \ntë mbetura', + }, + priorityHeader: { fr: 'Priorité', en: 'Priority', sq: 'Prioriteti' }, + actionHeader: { fr: 'Actions', en: 'Actions', sq: 'Veprimet' }, }; export default tableHeader; diff --git a/src/i18n/titleMessage.js b/src/i18n/titleMessage.js index 619350d6..293576e4 100644 --- a/src/i18n/titleMessage.js +++ b/src/i18n/titleMessage.js @@ -1,6 +1,6 @@ const titleMessage = { - titleMister: { fr: 'Monsieur', en: 'Mister' }, - titleMiss: { fr: 'Madame', en: 'Miss' }, + titleMister: { fr: 'Monsieur', en: 'Mister', sq: 'Zotëri' }, + titleMiss: { fr: 'Madame', en: 'Miss', sq: 'Zonjë' }, }; export default titleMessage; diff --git a/src/i18n/toDoMessage.js b/src/i18n/toDoMessage.js index bcd9ed75..3e2d7740 100644 --- a/src/i18n/toDoMessage.js +++ b/src/i18n/toDoMessage.js @@ -1,21 +1,25 @@ const toDoMessage = { - toDoPrepare: { fr: 'A préparer', en: 'To prepare' }, - toDoContact: { fr: 'A repérer/Contacter', en: 'To spotting/Contact' }, - toDoSurvey: { fr: 'A enquêter', en: 'To investigate' }, - toDoFinalize: { fr: 'A finaliser', en: 'To finalize' }, - toDoTransmit: { fr: 'A transmettre', en: 'To be forwarded' }, - toDoSynchronize: { fr: 'A synchroniser', en: 'To synchronize' }, - toDoTerminated: { fr: 'Terminé', en: 'Terminated' }, + toDoPrepare: { fr: 'A préparer', en: 'To prepare', sq: 'Për të përgatitur' }, + toDoContact: { + fr: 'A repérer/Contacter', + en: 'To spotting/Contact', + sq: 'Për të gjetur/Kontaktuar', + }, + toDoSurvey: { fr: 'A enquêter', en: 'To investigate', sq: 'Për të hetuar' }, + toDoFinalize: { fr: 'A finaliser', en: 'To finalize', sq: 'Për të përfunduar' }, + toDoTransmit: { fr: 'A transmettre', en: 'To be forwarded', sq: 'Për të transmetuar' }, + toDoSynchronize: { fr: 'A synchroniser', en: 'To synchronize', sq: 'Për të sinkronizuar' }, + toDoTerminated: { fr: 'Terminé', en: 'Terminated', sq: 'Përfunduar' }, }; export const stepNames = { - stepPrepared: { fr: 'Préparé', en: 'Prepared' }, - stepContacted: { fr: 'Repéré / contacté', en: 'Spotted / Contacted' }, - stepSurveyed: { fr: 'Enquêté', en: 'Investigated' }, - stepFinalized: { fr: 'Finalisé', en: 'Finalized' }, - stepTransmitted: { fr: 'Transmis', en: 'Forwarded' }, - stepSynchronized: { fr: 'Synchronisé', en: 'Synchronize' }, - stepTerminated: { fr: 'Terminé', en: 'Terminated' }, + stepPrepared: { fr: 'Préparé', en: 'Prepared', sq: 'Përgatitur' }, + stepContacted: { fr: 'Repéré / contacté', en: 'Spotted / Contacted', sq: 'Gjetur / Kontaktuar' }, + stepSurveyed: { fr: 'Enquêté', en: 'Investigated', sq: 'Hetuar' }, + stepFinalized: { fr: 'Finalisé', en: 'Finalized', sq: 'Përfunduar' }, + stepTransmitted: { fr: 'Transmis', en: 'Forwarded', sq: 'Transmetuar' }, + stepSynchronized: { fr: 'Synchronisé', en: 'Synchronize', sq: 'Sinkronizuar' }, + stepTerminated: { fr: 'Terminé', en: 'Terminated', sq: 'Përfunduar' }, }; export default toDoMessage; diff --git a/src/i18n/trackingMessage.js b/src/i18n/trackingMessage.js index 331ac004..3a9feffe 100644 --- a/src/i18n/trackingMessage.js +++ b/src/i18n/trackingMessage.js @@ -2,30 +2,72 @@ const trackingMessage = { trackingAccessDetailedData: { fr: 'Pour accéder au détail, cliquez directement sur l’enquête souhaitée.', en: 'To access the details, click on a campaign', - }, - trackingSelect: { fr: 'Sélectionnez...', en: 'Select...' }, - trackingToggleAria: { - fr: 'Choisissez de voir une/toutes les enquêtes', - en: 'Choose one/all survey to view', + sq: 'Për të aksesuar detajet, klikoni mbi fushatën e dëshiruar', }, trackingSelectCampaign: { fr: 'Sélectionnez une enquête dans la liste déroulante ci-dessus.', en: 'Select a campaign from the drop-down list above.', + sq: 'Zgjidhni një fushatë nga lista e rënë poshtë më lart.', + }, + trackingLastContactAttempt: { + fr: 'Dernier essai de contact', + en: 'Last contact attempt', + sq: 'Përpjekja e fundit për kontakt', + }, + trackingSurveyUnitStatus: { + fr: "Status de l'unité", + en: 'Survey-unit status', + sq: 'Statusi i njësisë së anketës', + }, + trackingUnit: { + fr: 'Unité', + en: 'Survey-unit', + sq: 'Njësia e anketës', + }, + trackingName: { + fr: 'Nom/Prénom', + en: 'Lastname/FirstName', + sq: 'Mbiemri/Emri', + }, + noSorting: { + fr: 'Aucun tri', + en: 'No sorting', + sq: 'Pa renditje', + }, + campaignNameAsc: { + fr: 'Nom de campagne [A - Z]', + en: 'Campaign name [A - Z]', + sq: 'Emri i fushatës [A - Z]', + }, + campaignNameDesc: { + fr: 'Nom de campagne [Z - A]', + en: 'Campaign name [Z - A]', + sq: 'Emri i fushatës [Z - A]', + }, + shortDeadline: { + fr: 'Échéance courte', + en: 'Short deadline', + sq: 'Afati i shkurtër', + }, + longDeadline: { + fr: 'Échéance longue', + en: 'Long deadline', + sq: 'Afati i gjatë', + }, + allSurveys: { + fr: 'Toutes les enquêtes', + en: 'All surveys', + sq: 'Të gjitha anketat', + }, + unitsTrackingBySurvey: { + fr: 'Suivi des unités par enquête', + en: 'Tracking units by survey', + sq: 'Ndjekja e njësive sipas anketës', }, - trackingLastContactAttempt: { fr: 'Dernier essai de contact', en: 'Last contact attempt' }, - trackingSurveyUnitStatus: { fr: "Statut de l'unité", en: 'Survey-unit status' }, - trackingUnit: { fr: 'Unité', en: 'Survey-unit' }, - trackingName: { fr: 'Nom/Prénom', en: 'Lastname/FirstName' }, - noSorting: { fr: 'Aucun tri', en: 'No sorting' }, - campaignNameAsc: { fr: 'Nom de campagne [A - Z]', en: 'Campaign name [A - Z]' }, - campaignNameDesc: { fr: 'Nom de campagne [Z - A]', en: 'Campaign name [Z - A]' }, - shortDeadline: { fr: 'Échéance courte', en: 'Short deadline' }, - longDeadline: { fr: 'Échéance longue', en: 'Long deadline' }, - allSurveys: { fr: 'Toutes les enquêtes', en: 'All surveys' }, - unitsTrackingBySurvey: { fr: 'Suivi des unités par enquête', en: 'Tracking units by survey' }, numberOfUnitsRemaining: { fr: 'Nombre d’unités restantes à traiter par enquête et échéance', en: 'Number of units remaining to be treated by survey and deadline', + sq: 'Numri i njësive të mbetura për të trajtuar sipas anketës dhe afatit', }, }; diff --git a/src/i18n/transmissionMessage.js b/src/i18n/transmissionMessage.js index ea514369..3a671b0a 100644 --- a/src/i18n/transmissionMessage.js +++ b/src/i18n/transmissionMessage.js @@ -1,21 +1,48 @@ const transmissionMessage = { - transmissionSummary: { fr: 'Bilan du transfert', en: 'Trasmission summary' }, - transmitOk: { fr: "Unité(s) d'enquête transmise(s)", en: 'Transmitted survey-unit(s)' }, - transmitKo: { fr: "Unité(s) d'enquête non transmise(s)", en: 'Not transmitted survey-unit(s)' }, + transmissionSummary: { + fr: 'Bilan du transfert', + en: 'Trasmission summary', + sq: 'Përmbledhje e transmetimit', + }, + transmitOk: { + fr: "Unité(s) d'enquête transmise(s)", + en: 'Transmitted survey-unit(s)', + sq: 'Njësi anketimi e transmetuar', + }, + transmitKo: { + fr: "Unité(s) d'enquête non transmise(s)", + en: 'Not transmitted survey-unit(s)', + sq: 'Njësi anketimi e pa transmetuar', + }, transmissionInvalid: { fr: 'Les conditions pour transmettre cette unité ne sont pas satisfaites', en: 'The conditions for transmitting this unit are not met', + sq: 'Kushtet për transmetimin e kësaj njësie nuk janë përmbushur', + }, + transmissionHelperTitle: { + fr: 'Conditions de transmission', + en: 'Transmission rules', + sq: 'Rregullat e transmetimit', + }, + transmissionHelpButton: { + fr: 'Aide', + en: 'Hints', + sq: 'Ndihmë', }, - transmissionHelperTitle: { fr: 'Conditions de transmission', en: 'Transmission rules' }, - transmissionHelpButton: { fr: 'Aide', en: 'Hints' }, transmissionTaskIdentification: { fr: 'Compléter le formulaire de repérage', en: 'Identification completed', + sq: 'Identifikimi u plotësua', + }, + transmissionTaskQuestionnaire: { + fr: 'Traiter le questionnaire', + en: 'Questionnaire processed', + sq: 'Pyetësori u përpunua', }, - transmissionTaskQuestionnaire: { fr: 'Traiter le questionnaire', en: 'Questionnaire processed' }, transmissionTaskContactOutcome: { fr: 'Renseigner le bilan des contacts', en: 'Contact outcome completed', + sq: 'Përfundimi i kontaktit u plotësua', }, }; diff --git a/src/i18n/waitingMessage.js b/src/i18n/waitingMessage.js index 2ab06e19..4d999808 100644 --- a/src/i18n/waitingMessage.js +++ b/src/i18n/waitingMessage.js @@ -1,6 +1,14 @@ const waitingMessage = { - pleaseWait: { fr: 'Veuillez patienter...', en: 'Please wait...' }, - loading: { fr: 'Chargement...', en: 'Loading...' }, + pleaseWait: { + fr: 'Veuillez patienter...', + en: 'Please wait...', + sq: 'Ju lutemi prisni...', + }, + loading: { + fr: 'Chargement...', + en: 'Loading...', + sq: 'Duke u ngarkuar...', + }, }; -export default waitingMessage; +export default waitingMessage; \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index c40aaa53..fa75480d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3260,6 +3260,11 @@ isarray@^2.0.5: resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + iterator.prototype@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz#5e29c8924f01916cb9335f1ff80619dcff22b0c0" @@ -4384,16 +4389,7 @@ std-env@^3.3.1: resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.7.0.tgz#c9f7386ced6ecf13360b6c6c55b8aaa4ef7481d2" integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^4.1.0: +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -4462,14 +4458,7 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==