diff --git a/crabfit-frontend/public/i18n/hu-HU/privacy.json b/crabfit-frontend/public/i18n/hu-HU/privacy.json new file mode 100644 index 0000000..a97cfbd --- /dev/null +++ b/crabfit-frontend/public/i18n/hu-HU/privacy.json @@ -0,0 +1,4 @@ +{ + "name": "Adatvédelmi szabályzat", + "translate": "Megtekintés saját nyelven" +} diff --git a/frontend/package.json b/frontend/package.json index 6e59f62..a7482ba 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -14,7 +14,7 @@ "dayjs": "^1.11.5", "gapi-script": "^1.2.0", "goober": "^2.1.10", - "hue-map": "^0.1.1", + "hue-map": "^1.0.0", "i18next": "^21.9.0", "i18next-browser-languagedetector": "^6.1.5", "i18next-http-backend": "^1.4.1", diff --git a/frontend/public/i18n/fr/common.json b/frontend/public/i18n/fr/common.json index 5beb4aa..fbda958 100644 --- a/frontend/public/i18n/fr/common.json +++ b/frontend/public/i18n/fr/common.json @@ -1,6 +1,6 @@ { "name": "Crab Fit", - "tagline": "Créez le votre", + "tagline": "Créez le vôtre", "cta": "Créez votre propre Crab Fit !", "created": "Créé {{date}}", "donate": { @@ -45,7 +45,7 @@ }, "highlight": { "label": "Mettre en évidence les meilleures disponibilités", - "title": "Faites ressortir les meilleures disponibilités sur la carte thermique", + "title": "Faire ressortir les meilleures disponibilités sur la carte thermique", "options": { "Off": "Désactivé", "On": "Activé" @@ -53,6 +53,10 @@ }, "language": { "label": "Langue" + }, + "colormap": { + "label": "Couleurs de la carte thermique", + "classic": "Crab Fit (classique)" } }, "video": { diff --git a/frontend/public/i18n/fr/event.json b/frontend/public/i18n/fr/event.json index bc93f17..9fc9643 100644 --- a/frontend/public/i18n/fr/event.json +++ b/frontend/public/i18n/fr/event.json @@ -6,7 +6,7 @@ "title": "Cliquez pour copier", "copied": "Copié !", "shareinfo": "Copiez le lien vers cette page ou partagez-le par <1>e-mail.", - "shareinfo_alt": "Cliquez sur le lien ci-dessus pour le copier dans votre presse-papier ou le partager par <1>e-mail.", + "shareinfo_alt": "Cliquez sur le lien ci-dessus pour le copier dans votre presse-papier ou le partager par <1>courriel.", "email_subject": "Planification de {{event_name}}", "email_body": "Visitez ce lien pour saisir vos disponibilités :" }, diff --git a/frontend/public/i18n/fr/home.json b/frontend/public/i18n/fr/home.json index af3a353..b2aad35 100644 --- a/frontend/public/i18n/fr/home.json +++ b/frontend/public/i18n/fr/home.json @@ -2,7 +2,7 @@ "create": "CRÉER UN", "recently_visited": "Récemment visités", "nav": { - "about": "A propos", + "about": "À propos", "donate": "Faire un don" }, "form": { @@ -24,8 +24,8 @@ } }, "times": { - "label": "Quels temps pourraient fonctionner ?", - "sublabel": "Cliquez et faites glisser pour sélectionner une plage de temps" + "label": "Quels créneaux horaires pourraient fonctionner ?", + "sublabel": "Cliquez et faites glisser pour sélectionner une plage horaire" }, "timezone": { "label": "Et le fuseau horaire", @@ -47,10 +47,10 @@ "events": "Événements créés", "availabilities": "Disponibilités saisies", "content": { - "p1": "Crab Fit vous aide à adapter votre événement aux horaires de chacun·e. Créez simplement un événement ci-dessus et envoyez le lien à tous les participant·e·s. Les résultats sont mis à jour en direct et vous pourrez voir une carte thermique de quand tout le monde est libre.<1/><2>En savoir plus sur comment utiliser Crab Fit.", + "p1": "Crab Fit vous aide à adapter votre événement aux horaires de chacun·e. Créez simplement un événement ci-dessus et envoyez le lien à tous les participant·e·s. Les résultats sont mis à jour en direct et vous pourrez voir une carte thermique montrant quand tout le monde est libre.<1/><2>En savoir plus sur l'utilisation de Crab Fit.", "p3": "Créé par <1>Ben Grant, Crab Fit est la solution moderne pour vos conflits de planification d'événements de groupe.", - "p4": "Le code de Crab Fit est open source, si vous trouvez des problèmes ou souhaitez contribuer, vous pouvez visiter le <1>repository. En utilisant Crab Fit, vous acceptez notre <3>politique de confidentialité.", - "p6": "Pour protéger votre vie privée, les événements sont supprimés après 3 mois d'inactivité, et tous les mots de passe sont hachés en toute sécurité.", + "p4": "Le code de Crab Fit est open source. Si vous rencontrez des problèmes ou souhaitez contribuer, vous pouvez visiter le <1>dépôt. En utilisant Crab Fit, vous acceptez notre <3>politique de confidentialité.", + "p6": "Pour protéger votre vie privée, les événements sont supprimés après 3 mois d'inactivité, et tous les mots de passe sont cryptés de manière sécurisée.", "p5": "Pensez à faire un don ci-dessous si Crab Fit vous a aidé·e, afin qu'il puisse rester gratuit pour tout le monde. 🦀" }, "chrome_extension": "Obtenez l'extension Chrome", diff --git a/frontend/public/i18n/it/common.json b/frontend/public/i18n/it/common.json index c02dba1..43eb305 100644 --- a/frontend/public/i18n/it/common.json +++ b/frontend/public/i18n/it/common.json @@ -44,7 +44,7 @@ } }, "highlight": { - "label": "Evidenzia la disponibilità maggiore", + "label": "Evidenzia i periodi con maggiore disponibilità", "title": "Evidenzia i periodi con maggiore disponibilità nella heatmap", "options": { "Off": "Disattivato", diff --git a/frontend/src/components/AvailabilityViewer/AvailabilityViewer.jsx b/frontend/src/components/AvailabilityViewer/AvailabilityViewer.jsx index 568b312..dd032eb 100644 --- a/frontend/src/components/AvailabilityViewer/AvailabilityViewer.jsx +++ b/frontend/src/components/AvailabilityViewer/AvailabilityViewer.jsx @@ -4,7 +4,7 @@ import dayjs from 'dayjs' import localeData from 'dayjs/plugin/localeData' import customParseFormat from 'dayjs/plugin/customParseFormat' import relativeTime from 'dayjs/plugin/relativeTime' -import createPalette from 'hue-map' +import { createPalette } from 'hue-map' import { useSettingsStore, useLocaleUpdateStore } from '/src/stores' @@ -72,7 +72,7 @@ const AvailabilityViewer = ({ useEffect(() => setPalette(createPalette({ map: colormap === 'crabfit' ? [[0, [247,158,0,0]], [1, [247,158,0,255]]] : colormap, steps: tempFocus !== null ? 2 : Math.min(max, filteredPeople.length)+1, - })), [tempFocus, filteredPeople, max, colormap]) + }).format()), [tempFocus, filteredPeople, max, colormap]) const heatmap = useMemo(() => ( diff --git a/frontend/src/components/Legend/Legend.jsx b/frontend/src/components/Legend/Legend.jsx index c124455..1178510 100644 --- a/frontend/src/components/Legend/Legend.jsx +++ b/frontend/src/components/Legend/Legend.jsx @@ -1,6 +1,6 @@ import { useState, useEffect } from 'react' import { useTranslation } from 'react-i18next' -import createPalette from 'hue-map' +import { createPalette } from 'hue-map' import { useSettingsStore } from '/src/stores' @@ -27,7 +27,7 @@ const Legend = ({ useEffect(() => setPalette(createPalette({ map: colormap === 'crabfit' ? [[0, [247,158,0,0]], [1, [247,158,0,255]]] : colormap, steps: max+1-min, - })), [min, max, colormap]) + }).format()), [min, max, colormap]) return ( diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 86b20f5..ff00c63 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -2185,10 +2185,10 @@ html-parse-stringify@^3.0.1: dependencies: void-elements "3.1.0" -hue-map@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/hue-map/-/hue-map-0.1.1.tgz#d6b199f4121df56aaf1901222323545f0607a31d" - integrity sha512-aH3Maa39vHN+yTkWXdLcTN8M+ftGOX6NvGuMObl2puWxwoUZhm3gLlKA6SdpqJphF1RzQo0ntsm0Psg0uc7ouQ== +hue-map@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hue-map/-/hue-map-1.0.0.tgz#16061043db2015c15dcfb9229390ca7c7fb27cd4" + integrity sha512-L7n6cfthm9ZTdYbqJF1yBflHvI4MaWRg+XMJ4Ifc35jWcOfQlCRBETZ4ntnHLPUyDOse7KeelcsbWxx14Aaa+w== i18next-browser-languagedetector@^6.1.5: version "6.1.5"