Merge pull request #284 from weblate/weblate-fittrackee-fittrackee-client-administration

Translations update from Hosted Weblate
This commit is contained in:
Sam 2022-12-14 12:42:13 +01:00 committed by GitHub
commit fbda86e123
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
40 changed files with 521 additions and 55 deletions

View File

@ -60,9 +60,9 @@ class BaseConfig:
'en', 'en',
'fr', 'fr',
'de', 'de',
'it',
# 'nb', # disabled for now # 'nb', # disabled for now
'nl', 'nl',
# 'it', # disabled for now
] ]
OAUTH2_TOKEN_EXPIRES_IN = { OAUTH2_TOKEN_EXPIRES_IN = {
'authorization_code': 864000, # 10 days 'authorization_code': 864000, # 10 days

View File

@ -1 +1 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/static/css/fork-awesome.min.css"/><link rel="stylesheet" href="/static/css/leaflet.css"/><title>FitTrackee</title><script defer="defer" src="/static/js/chunk-vendors.b65fdc2f.js"></script><script defer="defer" src="/static/js/app.f6f0ca0c.js"></script><link href="/static/css/app.7cddaab1.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="fittrackee_client"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but FitTrackee doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html> <!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/static/css/fork-awesome.min.css"/><link rel="stylesheet" href="/static/css/leaflet.css"/><title>FitTrackee</title><script defer="defer" src="/static/js/chunk-vendors.cea3a5ee.js"></script><script defer="defer" src="/static/js/app.226b5cbf.js"></script><link href="/static/css/app.7cddaab1.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="fittrackee_client"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but FitTrackee doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[328],{6e3:function(t,e,i){i.r(e),i.d(e,{default:function(){return _}});var a=i(6252),n=i(2262),s=i(8273),c=i(5801),r=i(9917);const S=t=>((0,a.dD)("data-v-64629971"),t=t(),(0,a.Cn)(),t),l={id:"admin",class:"view"},p={key:0,class:"container"},u=S((()=>(0,a._)("div",{id:"bottom"},null,-1)));var T=(0,a.aZ)({__name:"AdminView",setup(t){const e=(0,r.o)(),i=(0,a.Fl)((()=>e.getters[c.SY.GETTERS.APP_CONFIG])),S=(0,a.Fl)((()=>e.getters[c.SY.GETTERS.APP_STATS])),T=(0,a.Fl)((()=>e.getters[c.YN.GETTERS.IS_ADMIN])),d=(0,a.Fl)((()=>e.getters[c.YN.GETTERS.USER_LOADING]));return(0,a.wF)((()=>e.dispatch(c.SY.ACTIONS.GET_APPLICATION_STATS))),(t,e)=>{const c=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",l,[(0,n.SU)(d)?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",p,[(0,n.SU)(T)?((0,a.wg)(),(0,a.j4)(c,{key:0,appConfig:(0,n.SU)(i),appStatistics:(0,n.SU)(S)},null,8,["appConfig","appStatistics"])):((0,a.wg)(),(0,a.j4)(s.Z,{key:1})),u]))])}}}),d=i(3744);const o=(0,d.Z)(T,[["__scopeId","data-v-64629971"]]);var _=o}}]); "use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[328],{6e3:function(t,e,i){i.r(e),i.d(e,{default:function(){return _}});var a=i(6252),n=i(2262),s=i(8273),c=i(5801),r=i(9917);const S=t=>((0,a.dD)("data-v-64629971"),t=t(),(0,a.Cn)(),t),l={id:"admin",class:"view"},p={key:0,class:"container"},u=S((()=>(0,a._)("div",{id:"bottom"},null,-1)));var T=(0,a.aZ)({__name:"AdminView",setup(t){const e=(0,r.o)(),i=(0,a.Fl)((()=>e.getters[c.SY.GETTERS.APP_CONFIG])),S=(0,a.Fl)((()=>e.getters[c.SY.GETTERS.APP_STATS])),T=(0,a.Fl)((()=>e.getters[c.YN.GETTERS.IS_ADMIN])),d=(0,a.Fl)((()=>e.getters[c.YN.GETTERS.USER_LOADING]));return(0,a.wF)((()=>e.dispatch(c.SY.ACTIONS.GET_APPLICATION_STATS))),(t,e)=>{const c=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",l,[(0,n.SU)(d)?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",p,[(0,n.SU)(T)?((0,a.wg)(),(0,a.j4)(c,{key:0,appConfig:(0,n.SU)(i),appStatistics:(0,n.SU)(S)},null,8,["appConfig","appStatistics"])):((0,a.wg)(),(0,a.j4)(s.Z,{key:1})),u]))])}}}),d=i(3744);const o=(0,d.Z)(T,[["__scopeId","data-v-64629971"]]);var _=o}}]);
//# sourceMappingURL=admin.4d1d1ecc.js.map //# sourceMappingURL=admin.443044dd.js.map

View File

@ -1 +1 @@
{"version":3,"file":"static/js/admin.4d1d1ecc.js","mappings":"mOAGA,MAAMA,EAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzEG,EAAa,CACjBC,GAAI,QACJC,MAAO,QAEHC,EAAa,CACjBC,IAAK,EACLF,MAAO,aAEHG,EAA2BT,GAAa,KAAmBU,EAAAA,EAAAA,GAAoB,MAAO,CAAEL,GAAI,UAAY,MAAO,KAUrH,OAA4BM,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,YACRC,MAAMC,GAEN,MAAMC,GAAQC,EAAAA,EAAAA,KAERC,GAAqCC,EAAAA,EAAAA,KACzC,IAAMH,EAAMI,QAAQC,EAAAA,GAAAA,QAAAA,cAEhBC,GAA6CH,EAAAA,EAAAA,KACjD,IAAMH,EAAMI,QAAQC,EAAAA,GAAAA,QAAAA,aAEhBE,GAAuCJ,EAAAA,EAAAA,KAC3C,IAAMH,EAAMI,QAAQI,EAAAA,GAAAA,QAAAA,YAEhBC,GAAoCN,EAAAA,EAAAA,KACxC,IAAMH,EAAMI,QAAQI,EAAAA,GAAAA,QAAAA,gBAKxB,OAFEE,EAAAA,EAAAA,KAAc,IAAMV,EAAMW,SAASN,EAAAA,GAAAA,QAAAA,yBAE9B,CAACO,EAAUC,KAChB,MAAMC,GAAyBC,EAAAA,EAAAA,IAAkB,eAEjD,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO5B,EAAY,EACzD6B,EAAAA,EAAAA,IAAOT,IAWLU,EAAAA,EAAAA,IAAoB,IAAI,KAVvBH,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOzB,EAAY,EACnD0B,EAAAA,EAAAA,IAAOX,KACHS,EAAAA,EAAAA,OAAcI,EAAAA,EAAAA,IAAaN,EAAwB,CAClDrB,IAAK,EACLS,WAAWgB,EAAAA,EAAAA,IAAOhB,GAClBI,eAAeY,EAAAA,EAAAA,IAAOZ,IACrB,KAAM,EAAG,CAAC,YAAa,qBACzBU,EAAAA,EAAAA,OAAcI,EAAAA,EAAAA,IAAaC,EAAAA,EAAU,CAAE5B,IAAK,KACjDC,MAGN,CAEJ,I,UCvDA,MAAM4B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,YAAY,qBAEvE,O","sources":["webpack://fittrackee_client/./src/views/AdminView.vue?67de","webpack://fittrackee_client/./src/views/AdminView.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-64629971\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin\",\n class: \"view\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"container\"\n}\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\n\nimport { computed, ComputedRef, onBeforeMount } from 'vue'\n\n import NotFound from '@/components/Common/NotFound.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig, IAppStatistics } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminView',\n setup(__props) {\n\n const store = useStore()\n\n const appConfig: ComputedRef<TAppConfig> = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appStatistics: ComputedRef<IAppStatistics> = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_STATS]\n )\n const isAuthUserAmin: ComputedRef<boolean> = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_ADMIN]\n )\n const userLoading: ComputedRef<boolean> = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\n onBeforeMount(() => store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_STATS))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (!_unref(userLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (_unref(isAuthUserAmin))\n ? (_openBlock(), _createBlock(_component_router_view, {\n key: 0,\n appConfig: _unref(appConfig),\n appStatistics: _unref(appStatistics)\n }, null, 8, [\"appConfig\", \"appStatistics\"]))\n : (_openBlock(), _createBlock(NotFound, { key: 1 })),\n _hoisted_3\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminView.vue?vue&type=style&index=0&id=64629971&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-64629971\"]])\n\nexport default __exports__"],"names":["_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","id","class","_hoisted_2","key","_hoisted_3","_createElementVNode","_defineComponent","__name","setup","__props","store","useStore","appConfig","computed","getters","ROOT_STORE","appStatistics","isAuthUserAmin","AUTH_USER_STORE","userLoading","onBeforeMount","dispatch","_ctx","_cache","_component_router_view","_resolveComponent","_openBlock","_createElementBlock","_unref","_createCommentVNode","_createBlock","NotFound","__exports__"],"sourceRoot":""} {"version":3,"file":"static/js/admin.443044dd.js","mappings":"mOAGA,MAAMA,EAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzEG,EAAa,CACjBC,GAAI,QACJC,MAAO,QAEHC,EAAa,CACjBC,IAAK,EACLF,MAAO,aAEHG,EAA2BT,GAAa,KAAmBU,EAAAA,EAAAA,GAAoB,MAAO,CAAEL,GAAI,UAAY,MAAO,KAUrH,OAA4BM,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,YACRC,MAAMC,GAEN,MAAMC,GAAQC,EAAAA,EAAAA,KAERC,GAAqCC,EAAAA,EAAAA,KACzC,IAAMH,EAAMI,QAAQC,EAAAA,GAAAA,QAAAA,cAEhBC,GAA6CH,EAAAA,EAAAA,KACjD,IAAMH,EAAMI,QAAQC,EAAAA,GAAAA,QAAAA,aAEhBE,GAAuCJ,EAAAA,EAAAA,KAC3C,IAAMH,EAAMI,QAAQI,EAAAA,GAAAA,QAAAA,YAEhBC,GAAoCN,EAAAA,EAAAA,KACxC,IAAMH,EAAMI,QAAQI,EAAAA,GAAAA,QAAAA,gBAKxB,OAFEE,EAAAA,EAAAA,KAAc,IAAMV,EAAMW,SAASN,EAAAA,GAAAA,QAAAA,yBAE9B,CAACO,EAAUC,KAChB,MAAMC,GAAyBC,EAAAA,EAAAA,IAAkB,eAEjD,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO5B,EAAY,EACzD6B,EAAAA,EAAAA,IAAOT,IAWLU,EAAAA,EAAAA,IAAoB,IAAI,KAVvBH,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOzB,EAAY,EACnD0B,EAAAA,EAAAA,IAAOX,KACHS,EAAAA,EAAAA,OAAcI,EAAAA,EAAAA,IAAaN,EAAwB,CAClDrB,IAAK,EACLS,WAAWgB,EAAAA,EAAAA,IAAOhB,GAClBI,eAAeY,EAAAA,EAAAA,IAAOZ,IACrB,KAAM,EAAG,CAAC,YAAa,qBACzBU,EAAAA,EAAAA,OAAcI,EAAAA,EAAAA,IAAaC,EAAAA,EAAU,CAAE5B,IAAK,KACjDC,MAGN,CAEJ,I,UCvDA,MAAM4B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,YAAY,qBAEvE,O","sources":["webpack://fittrackee_client/./src/views/AdminView.vue?67de","webpack://fittrackee_client/./src/views/AdminView.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-64629971\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin\",\n class: \"view\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"container\"\n}\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\n\nimport { computed, ComputedRef, onBeforeMount } from 'vue'\n\n import NotFound from '@/components/Common/NotFound.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig, IAppStatistics } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminView',\n setup(__props) {\n\n const store = useStore()\n\n const appConfig: ComputedRef<TAppConfig> = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appStatistics: ComputedRef<IAppStatistics> = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_STATS]\n )\n const isAuthUserAmin: ComputedRef<boolean> = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_ADMIN]\n )\n const userLoading: ComputedRef<boolean> = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\n onBeforeMount(() => store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_STATS))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (!_unref(userLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (_unref(isAuthUserAmin))\n ? (_openBlock(), _createBlock(_component_router_view, {\n key: 0,\n appConfig: _unref(appConfig),\n appStatistics: _unref(appStatistics)\n }, null, 8, [\"appConfig\", \"appStatistics\"]))\n : (_openBlock(), _createBlock(NotFound, { key: 1 })),\n _hoisted_3\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminView.vue?vue&type=style&index=0&id=64629971&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-64629971\"]])\n\nexport default __exports__"],"names":["_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","id","class","_hoisted_2","key","_hoisted_3","_createElementVNode","_defineComponent","__name","setup","__props","store","useStore","appConfig","computed","getters","ROOT_STORE","appStatistics","isAuthUserAmin","AUTH_USER_STORE","userLoading","onBeforeMount","dispatch","_ctx","_cache","_component_router_view","_resolveComponent","_openBlock","_createElementBlock","_unref","_createCommentVNode","_createBlock","NotFound","__exports__"],"sourceRoot":""}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[845],{4264:function(e,t,r){r.r(t),r.d(t,{default:function(){return m}});r(7658);var n=r(6252),a=r(2262),s=r(3577),u=r(2201),o=r(7167),c=r(5801),i=r(9917);const l={key:0,id:"account-confirmation",class:"center-card with-margin"},E={class:"error-message"};var _=(0,n.aZ)({__name:"AccountConfirmationView",setup(e){const t=(0,u.yj)(),r=(0,u.tv)(),_=(0,i.o)(),d=(0,n.Fl)((()=>_.getters[c.SY.GETTERS.ERROR_MESSAGES])),S=(0,n.Fl)((()=>t.query.token));function m(){S.value?_.dispatch(c.YN.ACTIONS.CONFIRM_ACCOUNT,{token:S.value}):r.push("/")}return(0,n.wF)((()=>m())),(0,n.Ah)((()=>_.commit(c.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(e,t)=>{const r=(0,n.up)("router-link");return(0,a.SU)(d)?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(o.Z),(0,n._)("p",E,[(0,n._)("span",null,(0,s.zw)(e.$t("error.SOMETHING_WRONG"))+".",1),(0,n.Wm)(r,{class:"links",to:"/account-confirmation/resend"},{default:(0,n.w5)((()=>[(0,n.Uk)((0,s.zw)(e.$t("buttons.ACCOUNT-CONFIRMATION-RESEND"))+"? ",1)])),_:1})])])):(0,n.kq)("",!0)}}}),d=r(3744);const S=(0,d.Z)(_,[["__scopeId","data-v-785df978"]]);var m=S},8160:function(e,t,r){r.r(t),r.d(t,{default:function(){return m}});r(7658);var n=r(6252),a=r(2262),s=r(3577),u=r(2201),o=r(7167),c=r(5801),i=r(9917);const l={key:0,id:"email-update",class:"center-card with-margin"},E={class:"error-message"};var _=(0,n.aZ)({__name:"EmailUpdateView",setup(e){const t=(0,u.yj)(),r=(0,u.tv)(),_=(0,i.o)(),d=(0,n.Fl)((()=>_.getters[c.YN.GETTERS.AUTH_USER_PROFILE])),S=(0,n.Fl)((()=>_.getters[c.YN.GETTERS.IS_AUTHENTICATED])),m=(0,n.Fl)((()=>_.getters[c.SY.GETTERS.ERROR_MESSAGES])),p=(0,n.Fl)((()=>t.query.token));function R(){p.value?_.dispatch(c.YN.ACTIONS.CONFIRM_EMAIL,{token:p.value,refreshUser:S.value}):r.push("/")}return(0,n.wF)((()=>R())),(0,n.Ah)((()=>_.commit(c.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(0,n.YP)((()=>m.value),(e=>{d.value.username&&e&&r.push("/")})),(e,t)=>{const r=(0,n.up)("router-link"),u=(0,n.up)("i18n-t");return(0,a.SU)(m)&&!(0,a.SU)(d).username?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(o.Z),(0,n._)("p",E,[(0,n._)("span",null,(0,s.zw)(e.$t("error.SOMETHING_WRONG"))+".",1),(0,n._)("span",null,[(0,n.Wm)(u,{keypath:"user.PROFILE.ERRORED_EMAIL_UPDATE"},{default:(0,n.w5)((()=>[(0,n.Wm)(r,{to:"/login"},{default:(0,n.w5)((()=>[(0,n.Uk)((0,s.zw)(e.$t("user.LOG_IN")),1)])),_:1})])),_:1})])])])):(0,n.kq)("",!0)}}}),d=r(3744);const S=(0,d.Z)(_,[["__scopeId","data-v-8c2ec9ce"]]);var m=S},1133:function(e,t,r){r.r(t),r.d(t,{default:function(){return d}});var n=r(6252),a=r(2262),s=r(5801),u=r(9917);const o=e=>((0,n.dD)("data-v-6646c65e"),e=e(),(0,n.Cn)(),e),c={key:0,id:"profile",class:"view"},i=o((()=>(0,n._)("div",{id:"bottom"},null,-1)));var l=(0,n.aZ)({__name:"ProfileView",setup(e){const t=(0,u.o)(),r=(0,n.Fl)((()=>t.getters[s.YN.GETTERS.AUTH_USER_PROFILE]));return(e,t)=>{const s=(0,n.up)("router-view");return(0,a.SU)(r).username?((0,n.wg)(),(0,n.iD)("div",c,[(0,n.Wm)(s,{user:(0,a.SU)(r)},null,8,["user"]),i])):(0,n.kq)("",!0)}}}),E=r(3744);const _=(0,E.Z)(l,[["__scopeId","data-v-6646c65e"]]);var d=_},9453:function(e,t,r){r.r(t),r.d(t,{default:function(){return m}});var n=r(6252),a=r(2262),s=r(2201),u=r(2179),o=r(1585),c=r(5801),i=r(9917);const l={key:0,id:"user",class:"view"},E={class:"box"};var _=(0,n.aZ)({__name:"UserView",props:{fromAdmin:{type:Boolean}},setup(e){const t=e,{fromAdmin:r}=(0,a.BK)(t),_=(0,s.yj)(),d=(0,i.o)(),S=(0,n.Fl)((()=>d.getters[c.RT.GETTERS.USER]));return(0,n.wF)((()=>{_.params.username&&"string"===typeof _.params.username&&d.dispatch(c.RT.ACTIONS.GET_USER,_.params.username)})),(0,n.Jd)((()=>{d.dispatch(c.RT.ACTIONS.EMPTY_USER)})),(e,t)=>(0,a.SU)(S).username?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(u.Z,{user:(0,a.SU)(S)},null,8,["user"]),(0,n._)("div",E,[(0,n.Wm)(o.Z,{user:(0,a.SU)(S),"from-admin":(0,a.SU)(r)},null,8,["user","from-admin"])])])):(0,n.kq)("",!0)}}),d=r(3744);const S=(0,d.Z)(_,[["__scopeId","data-v-af7007f4"]]);var m=S}}]); "use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[845],{4264:function(e,t,r){r.r(t),r.d(t,{default:function(){return m}});r(7658);var n=r(6252),a=r(2262),s=r(3577),u=r(2201),o=r(7167),c=r(5801),i=r(9917);const l={key:0,id:"account-confirmation",class:"center-card with-margin"},E={class:"error-message"};var _=(0,n.aZ)({__name:"AccountConfirmationView",setup(e){const t=(0,u.yj)(),r=(0,u.tv)(),_=(0,i.o)(),d=(0,n.Fl)((()=>_.getters[c.SY.GETTERS.ERROR_MESSAGES])),S=(0,n.Fl)((()=>t.query.token));function m(){S.value?_.dispatch(c.YN.ACTIONS.CONFIRM_ACCOUNT,{token:S.value}):r.push("/")}return(0,n.wF)((()=>m())),(0,n.Ah)((()=>_.commit(c.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(e,t)=>{const r=(0,n.up)("router-link");return(0,a.SU)(d)?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(o.Z),(0,n._)("p",E,[(0,n._)("span",null,(0,s.zw)(e.$t("error.SOMETHING_WRONG"))+".",1),(0,n.Wm)(r,{class:"links",to:"/account-confirmation/resend"},{default:(0,n.w5)((()=>[(0,n.Uk)((0,s.zw)(e.$t("buttons.ACCOUNT-CONFIRMATION-RESEND"))+"? ",1)])),_:1})])])):(0,n.kq)("",!0)}}}),d=r(3744);const S=(0,d.Z)(_,[["__scopeId","data-v-785df978"]]);var m=S},8793:function(e,t,r){r.r(t),r.d(t,{default:function(){return m}});r(7658);var n=r(6252),a=r(2262),s=r(3577),u=r(2201),o=r(7167),c=r(5801),i=r(9917);const l={key:0,id:"email-update",class:"center-card with-margin"},E={class:"error-message"};var _=(0,n.aZ)({__name:"EmailUpdateView",setup(e){const t=(0,u.yj)(),r=(0,u.tv)(),_=(0,i.o)(),d=(0,n.Fl)((()=>_.getters[c.YN.GETTERS.AUTH_USER_PROFILE])),S=(0,n.Fl)((()=>_.getters[c.YN.GETTERS.IS_AUTHENTICATED])),m=(0,n.Fl)((()=>_.getters[c.SY.GETTERS.ERROR_MESSAGES])),p=(0,n.Fl)((()=>t.query.token));function R(){p.value?_.dispatch(c.YN.ACTIONS.CONFIRM_EMAIL,{token:p.value,refreshUser:S.value}):r.push("/")}return(0,n.wF)((()=>R())),(0,n.Ah)((()=>_.commit(c.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(0,n.YP)((()=>m.value),(e=>{d.value.username&&e&&r.push("/")})),(e,t)=>{const r=(0,n.up)("router-link"),u=(0,n.up)("i18n-t");return(0,a.SU)(m)&&!(0,a.SU)(d).username?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(o.Z),(0,n._)("p",E,[(0,n._)("span",null,(0,s.zw)(e.$t("error.SOMETHING_WRONG"))+".",1),(0,n._)("span",null,[(0,n.Wm)(u,{keypath:"user.PROFILE.ERRORED_EMAIL_UPDATE"},{default:(0,n.w5)((()=>[(0,n.Wm)(r,{to:"/login"},{default:(0,n.w5)((()=>[(0,n.Uk)((0,s.zw)(e.$t("user.LOG_IN")),1)])),_:1})])),_:1})])])])):(0,n.kq)("",!0)}}}),d=r(3744);const S=(0,d.Z)(_,[["__scopeId","data-v-8c2ec9ce"]]);var m=S},1133:function(e,t,r){r.r(t),r.d(t,{default:function(){return d}});var n=r(6252),a=r(2262),s=r(5801),u=r(9917);const o=e=>((0,n.dD)("data-v-6646c65e"),e=e(),(0,n.Cn)(),e),c={key:0,id:"profile",class:"view"},i=o((()=>(0,n._)("div",{id:"bottom"},null,-1)));var l=(0,n.aZ)({__name:"ProfileView",setup(e){const t=(0,u.o)(),r=(0,n.Fl)((()=>t.getters[s.YN.GETTERS.AUTH_USER_PROFILE]));return(e,t)=>{const s=(0,n.up)("router-view");return(0,a.SU)(r).username?((0,n.wg)(),(0,n.iD)("div",c,[(0,n.Wm)(s,{user:(0,a.SU)(r)},null,8,["user"]),i])):(0,n.kq)("",!0)}}}),E=r(3744);const _=(0,E.Z)(l,[["__scopeId","data-v-6646c65e"]]);var d=_},9453:function(e,t,r){r.r(t),r.d(t,{default:function(){return m}});var n=r(6252),a=r(2262),s=r(2201),u=r(2179),o=r(1585),c=r(5801),i=r(9917);const l={key:0,id:"user",class:"view"},E={class:"box"};var _=(0,n.aZ)({__name:"UserView",props:{fromAdmin:{type:Boolean}},setup(e){const t=e,{fromAdmin:r}=(0,a.BK)(t),_=(0,s.yj)(),d=(0,i.o)(),S=(0,n.Fl)((()=>d.getters[c.RT.GETTERS.USER]));return(0,n.wF)((()=>{_.params.username&&"string"===typeof _.params.username&&d.dispatch(c.RT.ACTIONS.GET_USER,_.params.username)})),(0,n.Jd)((()=>{d.dispatch(c.RT.ACTIONS.EMPTY_USER)})),(e,t)=>(0,a.SU)(S).username?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(u.Z,{user:(0,a.SU)(S)},null,8,["user"]),(0,n._)("div",E,[(0,n.Wm)(o.Z,{user:(0,a.SU)(S),"from-admin":(0,a.SU)(r)},null,8,["user","from-admin"])])])):(0,n.kq)("",!0)}}),d=r(3744);const S=(0,d.Z)(_,[["__scopeId","data-v-af7007f4"]]);var m=S}}]);
//# sourceMappingURL=profile.24318810.js.map //# sourceMappingURL=profile.d9355913.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[193],{7885:function(e,s,t){t.r(s),t.d(s,{default:function(){return A}});var a=t(6252),r=t(2262),l=t(3577),o=(t(7658),t(9150)),n=t(436);const c={class:"chart-menu"},i={class:"chart-arrow"},u={class:"time-frames custom-checkboxes-group"},d={class:"time-frames-checkboxes custom-checkboxes"},p=["id","name","checked","onInput"],m={class:"chart-arrow"};var v=(0,a.aZ)({__name:"StatsMenu",emits:["arrowClick","timeFrameUpdate"],setup(e,{emit:s}){const t=(0,r.iH)("month"),o=["week","month","year"];function n(e){t.value=e,s("timeFrameUpdate",e)}return(e,r)=>((0,a.wg)(),(0,a.iD)("div",c,[(0,a._)("div",i,[(0,a._)("i",{class:"fa fa-chevron-left","aria-hidden":"true",onClick:r[0]||(r[0]=e=>s("arrowClick",!0))})]),(0,a._)("div",u,[(0,a._)("div",d,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(o,(s=>(0,a._)("div",{class:"time-frame custom-checkbox",key:s},[(0,a._)("label",null,[(0,a._)("input",{type:"radio",id:s,name:s,checked:t.value===s,onInput:e=>n(s)},null,40,p),(0,a._)("span",null,(0,l.zw)(e.$t(`statistics.TIME_FRAMES.${s}`)),1)])]))),64))])]),(0,a._)("div",m,[(0,a._)("i",{class:"fa fa-chevron-right","aria-hidden":"true",onClick:r[1]||(r[1]=e=>s("arrowClick",!1))})])]))}}),k=t(3744);const _=(0,k.Z)(v,[["__scopeId","data-v-22d55de2"]]);var S=_,w=t(631);const f={class:"sports-menu"},h=["id","name","checked","onInput"],U={class:"sport-label"};var b=(0,a.aZ)({__name:"StatsSportsMenu",props:{userSports:null,selectedSportIds:{default:()=>[]}},emits:["selectedSportIdsUpdate"],setup(e,{emit:s}){const t=e,{t:n}=(0,o.QT)(),c=(0,a.f3)("sportColors"),{selectedSportIds:i}=(0,r.BK)(t),u=(0,a.Fl)((()=>(0,w.xH)(t.userSports,n)));function d(e){s("selectedSportIdsUpdate",e)}return(e,s)=>{const t=(0,a.up)("SportImage");return(0,a.wg)(),(0,a.iD)("div",f,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,r.SU)(u),(e=>((0,a.wg)(),(0,a.iD)("label",{type:"checkbox",key:e.id,style:(0,l.j5)({color:e.color?e.color:(0,r.SU)(c)[e.label]})},[(0,a._)("input",{type:"checkbox",id:e.id,name:e.label,checked:(0,r.SU)(i).includes(e.id),onInput:s=>d(e.id)},null,40,h),(0,a.Wm)(t,{"sport-label":e.label,color:e.color},null,8,["sport-label","color"]),(0,a._)("span",U,(0,l.zw)(e.translatedLabel),1)],4)))),128))])}}});const I=b;var g=I,T=t(9318);const y={key:0,id:"user-statistics"};var C=(0,a.aZ)({__name:"index",props:{sports:null,user:null},setup(e){const s=e,{t:t}=(0,o.QT)(),{sports:l,user:c}=(0,r.BK)(s),i=(0,r.iH)("month"),u=(0,r.iH)(v(i.value)),d=(0,a.Fl)((()=>(0,w.xH)(s.sports,t))),p=(0,r.iH)(_(s.sports));function m(e){i.value=e,u.value=v(i.value)}function v(e){return(0,T.aZ)(new Date,e,s.user.weekm)}function k(e){u.value=(0,T.FN)(u.value,e,s.user.weekm)}function _(e){return e.map((e=>e.id))}function f(e){p.value.includes(e)?p.value=p.value.filter((s=>s!==e)):p.value.push(e)}return(0,a.YP)((()=>s.sports),(e=>{p.value=_(e)})),(e,s)=>(0,r.SU)(d)?((0,a.wg)(),(0,a.iD)("div",y,[(0,a.Wm)(S,{onTimeFrameUpdate:m,onArrowClick:k}),(0,a.Wm)(n.Z,{sports:(0,r.SU)(l),user:(0,r.SU)(c),chartParams:u.value,"displayed-sport-ids":p.value,fullStats:!0},null,8,["sports","user","chartParams","displayed-sport-ids"]),(0,a.Wm)(g,{"selected-sport-ids":p.value,"user-sports":(0,r.SU)(l),onSelectedSportIdsUpdate:f},null,8,["selected-sport-ids","user-sports"])])):(0,a.kq)("",!0)}});const F=(0,k.Z)(C,[["__scopeId","data-v-30799d13"]]);var Z=F,x=t(5630),D=t(5801),H=t(9917);const E={id:"statistics",class:"view"},R={key:0,class:"container"};var W=(0,a.aZ)({__name:"StatisticsView",setup(e){const s=(0,H.o)(),t=(0,a.Fl)((()=>s.getters[D.YN.GETTERS.AUTH_USER_PROFILE])),o=(0,a.Fl)((()=>s.getters[D.O8.GETTERS.SPORTS].filter((e=>t.value.sports_list.includes(e.id)))));return(e,s)=>{const n=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",E,[(0,r.SU)(t).username?((0,a.wg)(),(0,a.iD)("div",R,[(0,a.Wm)(n,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,l.zw)(e.$t("statistics.STATISTICS")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(Z,{class:(0,l.C_)({"stats-disabled":0===(0,r.SU)(t).nb_workouts}),user:(0,r.SU)(t),sports:(0,r.SU)(o)},null,8,["class","user","sports"])])),_:1}),0===(0,r.SU)(t).nb_workouts?((0,a.wg)(),(0,a.j4)(x.Z,{key:0})):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])}}});const P=(0,k.Z)(W,[["__scopeId","data-v-2e341d4e"]]);var A=P}}]); "use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[193],{7885:function(e,s,t){t.r(s),t.d(s,{default:function(){return A}});var a=t(6252),r=t(2262),l=t(3577),o=(t(7658),t(9150)),n=t(436);const c={class:"chart-menu"},i={class:"chart-arrow"},u={class:"time-frames custom-checkboxes-group"},d={class:"time-frames-checkboxes custom-checkboxes"},p=["id","name","checked","onInput"],m={class:"chart-arrow"};var v=(0,a.aZ)({__name:"StatsMenu",emits:["arrowClick","timeFrameUpdate"],setup(e,{emit:s}){const t=(0,r.iH)("month"),o=["week","month","year"];function n(e){t.value=e,s("timeFrameUpdate",e)}return(e,r)=>((0,a.wg)(),(0,a.iD)("div",c,[(0,a._)("div",i,[(0,a._)("i",{class:"fa fa-chevron-left","aria-hidden":"true",onClick:r[0]||(r[0]=e=>s("arrowClick",!0))})]),(0,a._)("div",u,[(0,a._)("div",d,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(o,(s=>(0,a._)("div",{class:"time-frame custom-checkbox",key:s},[(0,a._)("label",null,[(0,a._)("input",{type:"radio",id:s,name:s,checked:t.value===s,onInput:e=>n(s)},null,40,p),(0,a._)("span",null,(0,l.zw)(e.$t(`statistics.TIME_FRAMES.${s}`)),1)])]))),64))])]),(0,a._)("div",m,[(0,a._)("i",{class:"fa fa-chevron-right","aria-hidden":"true",onClick:r[1]||(r[1]=e=>s("arrowClick",!1))})])]))}}),k=t(3744);const _=(0,k.Z)(v,[["__scopeId","data-v-22d55de2"]]);var S=_,w=t(631);const f={class:"sports-menu"},h=["id","name","checked","onInput"],U={class:"sport-label"};var b=(0,a.aZ)({__name:"StatsSportsMenu",props:{userSports:null,selectedSportIds:{default:()=>[]}},emits:["selectedSportIdsUpdate"],setup(e,{emit:s}){const t=e,{t:n}=(0,o.QT)(),c=(0,a.f3)("sportColors"),{selectedSportIds:i}=(0,r.BK)(t),u=(0,a.Fl)((()=>(0,w.xH)(t.userSports,n)));function d(e){s("selectedSportIdsUpdate",e)}return(e,s)=>{const t=(0,a.up)("SportImage");return(0,a.wg)(),(0,a.iD)("div",f,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,r.SU)(u),(e=>((0,a.wg)(),(0,a.iD)("label",{type:"checkbox",key:e.id,style:(0,l.j5)({color:e.color?e.color:(0,r.SU)(c)[e.label]})},[(0,a._)("input",{type:"checkbox",id:e.id,name:e.label,checked:(0,r.SU)(i).includes(e.id),onInput:s=>d(e.id)},null,40,h),(0,a.Wm)(t,{"sport-label":e.label,color:e.color},null,8,["sport-label","color"]),(0,a._)("span",U,(0,l.zw)(e.translatedLabel),1)],4)))),128))])}}});const I=b;var g=I,T=t(9318);const y={key:0,id:"user-statistics"};var C=(0,a.aZ)({__name:"index",props:{sports:null,user:null},setup(e){const s=e,{t:t}=(0,o.QT)(),{sports:l,user:c}=(0,r.BK)(s),i=(0,r.iH)("month"),u=(0,r.iH)(v(i.value)),d=(0,a.Fl)((()=>(0,w.xH)(s.sports,t))),p=(0,r.iH)(_(s.sports));function m(e){i.value=e,u.value=v(i.value)}function v(e){return(0,T.aZ)(new Date,e,s.user.weekm)}function k(e){u.value=(0,T.FN)(u.value,e,s.user.weekm)}function _(e){return e.map((e=>e.id))}function f(e){p.value.includes(e)?p.value=p.value.filter((s=>s!==e)):p.value.push(e)}return(0,a.YP)((()=>s.sports),(e=>{p.value=_(e)})),(e,s)=>(0,r.SU)(d)?((0,a.wg)(),(0,a.iD)("div",y,[(0,a.Wm)(S,{onTimeFrameUpdate:m,onArrowClick:k}),(0,a.Wm)(n.Z,{sports:(0,r.SU)(l),user:(0,r.SU)(c),chartParams:u.value,"displayed-sport-ids":p.value,fullStats:!0},null,8,["sports","user","chartParams","displayed-sport-ids"]),(0,a.Wm)(g,{"selected-sport-ids":p.value,"user-sports":(0,r.SU)(l),onSelectedSportIdsUpdate:f},null,8,["selected-sport-ids","user-sports"])])):(0,a.kq)("",!0)}});const F=(0,k.Z)(C,[["__scopeId","data-v-30799d13"]]);var Z=F,x=t(5630),D=t(5801),H=t(9917);const E={id:"statistics",class:"view"},R={key:0,class:"container"};var W=(0,a.aZ)({__name:"StatisticsView",setup(e){const s=(0,H.o)(),t=(0,a.Fl)((()=>s.getters[D.YN.GETTERS.AUTH_USER_PROFILE])),o=(0,a.Fl)((()=>s.getters[D.O8.GETTERS.SPORTS].filter((e=>t.value.sports_list.includes(e.id)))));return(e,s)=>{const n=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",E,[(0,r.SU)(t).username?((0,a.wg)(),(0,a.iD)("div",R,[(0,a.Wm)(n,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,l.zw)(e.$t("statistics.STATISTICS")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(Z,{class:(0,l.C_)({"stats-disabled":0===(0,r.SU)(t).nb_workouts}),user:(0,r.SU)(t),sports:(0,r.SU)(o)},null,8,["class","user","sports"])])),_:1}),0===(0,r.SU)(t).nb_workouts?((0,a.wg)(),(0,a.j4)(x.Z,{key:0})):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])}}});const P=(0,k.Z)(W,[["__scopeId","data-v-2e341d4e"]]);var A=P}}]);
//# sourceMappingURL=statistics.560b3502.js.map //# sourceMappingURL=statistics.31ee4368.js.map

File diff suppressed because one or more lines are too long

View File

@ -8,21 +8,23 @@ msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-11 09:25+0100\n" "POT-Creation-Date: 2022-12-11 09:25+0100\n"
"PO-Revision-Date: 2022-12-11 09:25+0100\n" "PO-Revision-Date: 2022-12-12 19:48+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Donato Perruso <dperruso@protonmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/fittrackee/"
"fittrackee-api-emails/it/>\n"
"Language: it\n" "Language: it\n"
"Language-Team: it <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.15-dev\n"
"Generated-By: Babel 2.11.0\n" "Generated-By: Babel 2.11.0\n"
#: fittrackee/emails/templates/layout.html:215 #: fittrackee/emails/templates/layout.html:215
#: fittrackee/emails/templates/layout.txt:1 #: fittrackee/emails/templates/layout.txt:1
#, python-format #, python-format
msgid "Hi %(username)s," msgid "Hi %(username)s,"
msgstr "" msgstr "Ciao %(username)s,"
#: fittrackee/emails/templates/account_confirmation/body.txt:6 #: fittrackee/emails/templates/account_confirmation/body.txt:6
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:3 #: fittrackee/emails/templates/email_update_to_current_email/body.txt:3
@ -35,41 +37,43 @@ msgid ""
"For security, this request was received from a %(operating_system)s " "For security, this request was received from a %(operating_system)s "
"device using %(browser_name)s." "device using %(browser_name)s."
msgstr "" msgstr ""
"Per sicurezza, questa richiesta è stata ricevuta da %(operating_system)s "
"utilizzando il browser %(browser_name)s."
#: fittrackee/emails/templates/layout.html:221 #: fittrackee/emails/templates/layout.html:221
#: fittrackee/emails/templates/layout.txt:5 #: fittrackee/emails/templates/layout.txt:5
msgid "Thanks," msgid "Thanks,"
msgstr "" msgstr "Grazie,"
#: fittrackee/emails/templates/layout.html:222 #: fittrackee/emails/templates/layout.html:222
#: fittrackee/emails/templates/layout.txt:6 #: fittrackee/emails/templates/layout.txt:6
msgid "The FitTrackee Team" msgid "The FitTrackee Team"
msgstr "" msgstr "Il Team FitTrackee"
#: fittrackee/emails/templates/account_confirmation/body.html:2 #: fittrackee/emails/templates/account_confirmation/body.html:2
#: fittrackee/emails/templates/account_confirmation/subject.txt:1 #: fittrackee/emails/templates/account_confirmation/subject.txt:1
msgid "Confirm your account" msgid "Confirm your account"
msgstr "" msgstr "Conferma il tuo account"
#: fittrackee/emails/templates/account_confirmation/body.html:3 #: fittrackee/emails/templates/account_confirmation/body.html:3
msgid "Use this link to confirm your account." msgid "Use this link to confirm your account."
msgstr "" msgstr "Usa questo link per confermare il tuo account."
#: fittrackee/emails/templates/account_confirmation/body.html:4 #: fittrackee/emails/templates/account_confirmation/body.html:4
#: fittrackee/emails/templates/account_confirmation/body.txt:1 #: fittrackee/emails/templates/account_confirmation/body.txt:1
msgid "You have created an account on FitTrackee." msgid "You have created an account on FitTrackee."
msgstr "" msgstr "Hai creato un account su FitTrackee."
#: fittrackee/emails/templates/account_confirmation/body.html:4 #: fittrackee/emails/templates/account_confirmation/body.html:4
msgid "Use the button below to confirm your address email." msgid "Use the button below to confirm your address email."
msgstr "" msgstr "Usa il bottone qui sotto per confermare il tuo indirizzo email."
#: fittrackee/emails/templates/account_confirmation/body.html:11 #: fittrackee/emails/templates/account_confirmation/body.html:11
#: fittrackee/emails/templates/account_confirmation/body.txt:4 #: fittrackee/emails/templates/account_confirmation/body.txt:4
#: fittrackee/emails/templates/email_update_to_new_email/body.html:11 #: fittrackee/emails/templates/email_update_to_new_email/body.html:11
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:4 #: fittrackee/emails/templates/email_update_to_new_email/body.txt:4
msgid "Verify your email" msgid "Verify your email"
msgstr "" msgstr "Verifica la tua email"
#: fittrackee/emails/templates/account_confirmation/body.html:18 #: fittrackee/emails/templates/account_confirmation/body.html:18
#: fittrackee/emails/templates/account_confirmation/body.txt:7 #: fittrackee/emails/templates/account_confirmation/body.txt:7
@ -77,6 +81,8 @@ msgid ""
"If this account creation wasn't initiated by you, please ignore this " "If this account creation wasn't initiated by you, please ignore this "
"email." "email."
msgstr "" msgstr ""
"Se la creazione di quest'account non è stata iniziata da te, per favore "
"ignora quest'email."
#: fittrackee/emails/templates/account_confirmation/body.html:22 #: fittrackee/emails/templates/account_confirmation/body.html:22
#: fittrackee/emails/templates/email_update_to_new_email/body.html:22 #: fittrackee/emails/templates/email_update_to_new_email/body.html:22
@ -85,26 +91,28 @@ msgid ""
"If you're having trouble with the button above, copy and paste the URL " "If you're having trouble with the button above, copy and paste the URL "
"below into your web browser." "below into your web browser."
msgstr "" msgstr ""
"Se stai avendo problemi con il bottone qui sopra, copia ed incolla l'URL qui "
"sotto nel tuo web browser."
#: fittrackee/emails/templates/account_confirmation/body.txt:2 #: fittrackee/emails/templates/account_confirmation/body.txt:2
msgid "Use the link below to confirm your address email." msgid "Use the link below to confirm your address email."
msgstr "" msgstr "Usa il link qui sotto per confermare la tua email."
#: fittrackee/emails/templates/email_update_to_current_email/body.html:2 #: fittrackee/emails/templates/email_update_to_current_email/body.html:2
#: fittrackee/emails/templates/email_update_to_current_email/subject.txt:1 #: fittrackee/emails/templates/email_update_to_current_email/subject.txt:1
msgid "Email changed" msgid "Email changed"
msgstr "" msgstr "Email modificata"
#: fittrackee/emails/templates/email_update_to_current_email/body.html:3 #: fittrackee/emails/templates/email_update_to_current_email/body.html:3
msgid "Your email is being updated." msgid "Your email is being updated."
msgstr "" msgstr "La tua email sta venendo aggiornata."
#: fittrackee/emails/templates/email_update_to_current_email/body.html:4 #: fittrackee/emails/templates/email_update_to_current_email/body.html:4
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:1 #: fittrackee/emails/templates/email_update_to_current_email/body.txt:1
msgid "" msgid ""
"You recently requested to change your email address for your FitTrackee " "You recently requested to change your email address for your FitTrackee "
"account to:" "account to:"
msgstr "" msgstr "Hai richiesto di cambiare la tua mail di FitTrackee in:"
#: fittrackee/emails/templates/email_update_to_current_email/body.html:18 #: fittrackee/emails/templates/email_update_to_current_email/body.html:18
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:4 #: fittrackee/emails/templates/email_update_to_current_email/body.txt:4
@ -112,15 +120,18 @@ msgid ""
"If this email change wasn't initiated by you, please change your password" "If this email change wasn't initiated by you, please change your password"
" immediately or contact your administrator if your account is locked." " immediately or contact your administrator if your account is locked."
msgstr "" msgstr ""
"Se il cambio di email non è stato iniziato da te, per favore cambia "
"immediatamente la tua password o contatta un amministratore se il tuo "
"account è bloccato."
#: fittrackee/emails/templates/email_update_to_new_email/body.html:2 #: fittrackee/emails/templates/email_update_to_new_email/body.html:2
#: fittrackee/emails/templates/email_update_to_new_email/subject.txt:1 #: fittrackee/emails/templates/email_update_to_new_email/subject.txt:1
msgid "Confirm email change" msgid "Confirm email change"
msgstr "" msgstr "Conferma cambio email"
#: fittrackee/emails/templates/email_update_to_new_email/body.html:3 #: fittrackee/emails/templates/email_update_to_new_email/body.html:3
msgid "Use this link to confirm email change." msgid "Use this link to confirm email change."
msgstr "" msgstr "Usa questo link per confermare il cambio dell'email."
#: fittrackee/emails/templates/email_update_to_new_email/body.html:4 #: fittrackee/emails/templates/email_update_to_new_email/body.html:4
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:1 #: fittrackee/emails/templates/email_update_to_new_email/body.txt:1
@ -128,33 +139,37 @@ msgid ""
"You recently requested to change your email address for your FitTrackee " "You recently requested to change your email address for your FitTrackee "
"account." "account."
msgstr "" msgstr ""
"Hai richiesto di recente di cambiare l'indirizzo email associato con il tuo "
"account FitTrackee."
#: fittrackee/emails/templates/email_update_to_new_email/body.html:4 #: fittrackee/emails/templates/email_update_to_new_email/body.html:4
msgid "Use the button below to confirm this address." msgid "Use the button below to confirm this address."
msgstr "" msgstr "Usa il bottone qui sotto per confermare questo indirizzo."
#: fittrackee/emails/templates/email_update_to_new_email/body.html:18 #: fittrackee/emails/templates/email_update_to_new_email/body.html:18
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:7 #: fittrackee/emails/templates/email_update_to_new_email/body.txt:7
msgid "If this email change wasn't initiated by you, please ignore this email." msgid "If this email change wasn't initiated by you, please ignore this email."
msgstr "" msgstr ""
"Se il cambio d'email non è stato iniziato da te, per favore ignora questa "
"mail."
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:2 #: fittrackee/emails/templates/email_update_to_new_email/body.txt:2
msgid "Use the link below to confirm this address." msgid "Use the link below to confirm this address."
msgstr "" msgstr "Usa il link qui in basso per confermare quest'indirizzo."
#: fittrackee/emails/templates/password_change/body.html:2 #: fittrackee/emails/templates/password_change/body.html:2
#: fittrackee/emails/templates/password_change/subject.txt:1 #: fittrackee/emails/templates/password_change/subject.txt:1
msgid "Password changed" msgid "Password changed"
msgstr "" msgstr "Password cambiata"
#: fittrackee/emails/templates/password_change/body.html:3 #: fittrackee/emails/templates/password_change/body.html:3
msgid "Your password has been changed." msgid "Your password has been changed."
msgstr "" msgstr "La tua password è stata cambiata."
#: fittrackee/emails/templates/password_change/body.html:4 #: fittrackee/emails/templates/password_change/body.html:4
#: fittrackee/emails/templates/password_change/body.txt:1 #: fittrackee/emails/templates/password_change/body.txt:1
msgid "The password for your FitTrackee account has been changed." msgid "The password for your FitTrackee account has been changed."
msgstr "" msgstr "La password per il tuo account FitTrackee è stata cambiata."
#: fittrackee/emails/templates/password_change/body.html:5 #: fittrackee/emails/templates/password_change/body.html:5
#: fittrackee/emails/templates/password_change/body.txt:4 #: fittrackee/emails/templates/password_change/body.txt:4
@ -163,11 +178,14 @@ msgid ""
"password immediately or contact your administrator if your account is " "password immediately or contact your administrator if your account is "
"locked." "locked."
msgstr "" msgstr ""
"Se questo cambio di password non è stato iniziato da te, per favore cambia "
"immediatamente la tua password e contatta un amministratore se il tuo "
"account è bloccato."
#: fittrackee/emails/templates/password_reset_request/body.html:2 #: fittrackee/emails/templates/password_reset_request/body.html:2
#: fittrackee/emails/templates/password_reset_request/subject.txt:1 #: fittrackee/emails/templates/password_reset_request/subject.txt:1
msgid "Password reset request" msgid "Password reset request"
msgstr "" msgstr "Richiesta di reset della password"
#: fittrackee/emails/templates/password_reset_request/body.html:3 #: fittrackee/emails/templates/password_reset_request/body.html:3
#, python-format #, python-format
@ -175,33 +193,37 @@ msgid ""
"Use this link to reset your password. The link is only valid for " "Use this link to reset your password. The link is only valid for "
"%(expiration_delay)s." "%(expiration_delay)s."
msgstr "" msgstr ""
"Usa questo link per resettare la password. Il link è valido solo per "
"%(expiration_delay)s."
#: fittrackee/emails/templates/password_reset_request/body.html:4 #: fittrackee/emails/templates/password_reset_request/body.html:4
#: fittrackee/emails/templates/password_reset_request/body.txt:1 #: fittrackee/emails/templates/password_reset_request/body.txt:1
msgid "You recently requested to reset your password for your FitTrackee account." msgid "You recently requested to reset your password for your FitTrackee account."
msgstr "" msgstr ""
"Hai richiesto di recente di resettare la password per il tuo account "
"FitTrackee."
#: fittrackee/emails/templates/password_reset_request/body.html:4 #: fittrackee/emails/templates/password_reset_request/body.html:4
msgid "Use the button below to reset it." msgid "Use the button below to reset it."
msgstr "" msgstr "Usa il bottone qui sotto per resettarla."
#: fittrackee/emails/templates/password_reset_request/body.html:5 #: fittrackee/emails/templates/password_reset_request/body.html:5
#: fittrackee/emails/templates/password_reset_request/body.txt:2 #: fittrackee/emails/templates/password_reset_request/body.txt:2
#, python-format #, python-format
msgid "This password reset link is only valid for %(expiration_delay)s." msgid "This password reset link is only valid for %(expiration_delay)s."
msgstr "" msgstr "Questo link di reset è valido solo per %(expiration_delay)s."
#: fittrackee/emails/templates/password_reset_request/body.html:13 #: fittrackee/emails/templates/password_reset_request/body.html:13
#: fittrackee/emails/templates/password_reset_request/body.txt:4 #: fittrackee/emails/templates/password_reset_request/body.txt:4
msgid "Reset your password" msgid "Reset your password"
msgstr "" msgstr "Resetta password"
#: fittrackee/emails/templates/password_reset_request/body.html:20 #: fittrackee/emails/templates/password_reset_request/body.html:20
#: fittrackee/emails/templates/password_reset_request/body.txt:7 #: fittrackee/emails/templates/password_reset_request/body.txt:7
msgid "If you did not request a password reset, please ignore this email." msgid "If you did not request a password reset, please ignore this email."
msgstr "" msgstr ""
"Se non hai richiesto un reset della password, per favore ignora quest'email."
#: fittrackee/emails/templates/password_reset_request/body.txt:1 #: fittrackee/emails/templates/password_reset_request/body.txt:1
msgid "Use the link below to reset it." msgid "Use the link below to reset it."
msgstr "" msgstr "Usa il link qui sotto per resettarla."

View File

@ -6,7 +6,7 @@ import { createI18n, LocaleMessages, VueMessageType } from 'vue-i18n'
* The loaded `JSON` locale messages is pre-compiled by `@intlify/vue-i18n-loader`, which is integrated into `vue-cli-plugin-i18n`. * The loaded `JSON` locale messages is pre-compiled by `@intlify/vue-i18n-loader`, which is integrated into `vue-cli-plugin-i18n`.
* See: https://github.com/intlify/vue-i18n-loader#rocket-i18n-resource-pre-compilation * See: https://github.com/intlify/vue-i18n-loader#rocket-i18n-resource-pre-compilation
*/ */
const disabledLanguages = ['it', 'nb'] // to update after translations release const disabledLanguages = ['nb'] // to update after translations release
function loadLocaleMessages(): Record<string, LocaleMessages<VueMessageType>> { function loadLocaleMessages(): Record<string, LocaleMessages<VueMessageType>> {
const locales = require.context('./locales', true, /[A-Za-z0-9-_,\s]+\.ts$/i) const locales = require.context('./locales', true, /[A-Za-z0-9-_,\s]+\.ts$/i)

View File

@ -17,6 +17,9 @@
"Mountain Biking (Electric)": { "Mountain Biking (Electric)": {
"LABEL": "Mountainbiken (elektrisch)" "LABEL": "Mountainbiken (elektrisch)"
}, },
"Mountaineering": {
"LABEL": "Bergsteigen"
},
"Rowing": { "Rowing": {
"LABEL": "Rudern" "LABEL": "Rudern"
}, },

View File

@ -1,2 +1,6 @@
{ {
"CONTACT_ADMIN": "Contatta l'amministratore",
"SOURCE_CODE": "Codice sorgente",
"FITTRACKEE_DESCRIPTION": "<strong>FitTrackee</strong> è un tracker self-hosted per attività outdoor.",
"FITTRACKEE_LICENSE": "Sotto licenza {0} "
} }

View File

@ -1,2 +1,59 @@
{ {
"ADMIN": "Admin",
"ACTION": "Azione",
"ACTIVE": "Attivo",
"APPLICATION": "Applicazione",
"APP_CONFIG": {
"MAX_USERS_HELP": "Se settato a 0, non ci sono limiti per le registrazioni.",
"MAX_USERS_LABEL": "Numero massimo di utenti attivi",
"SINGLE_UPLOAD_MAX_SIZE_LABEL": "Dimensione massima dei file caricabili (in Mb)",
"TITLE": "Configurazione applicazione",
"NO_CONTACT_EMAIL": "nessuna mail di contatto",
"MAX_FILES_IN_ZIP_LABEL": "Numero massimo di files zip",
"ZIP_UPLOAD_MAX_SIZE_LABEL": "Dimensione massima dell'archivio zip (in Mb)",
"ADMIN_CONTACT": "Email di contatto dell'amministratore"
},
"BACK_TO_ADMIN": "Ritorna ad amministrazione",
"CONFIRM_USER_PASSWORD_RESET": "Sei sicuro di voler resettare {0} password?",
"ENABLE_DISABLE_SPORTS": "Attiva/Disattiva sports.",
"PASSWORD_RESET_SUCCESSFUL": "La password è stata reimpostata.",
"SPORTS": {
"TABLE": {
"ACTIVE": "Attivo",
"IMAGE": "Immagine",
"LABEL": "Etichetta",
"HAS_WORKOUTS": "workout esistono"
},
"TITLE": "Amministrazione sport"
},
"USERS": {
"SELECTS": {
"ORDER_BY": {
"ADMIN": "stato admin",
"USERNAME": "nome utente",
"WORKOUTS_COUNT": "numero di workout",
"CREATED_AT": "data di registrazione",
"IS_ACTIVE": "stato account"
}
},
"TABLE": {
"ADD_ADMIN_RIGHTS": "Aggiungi permessi di amministratore",
"REMOVE_ADMIN_RIGHTS": "Rimuovi permessi di amministratore"
}
},
"DELETE_USER": "Elimina utente",
"NEW_EMAIL": "Nuova email",
"REGISTRATION_ENABLED": "La registrazione è al momento abilitata.",
"EMAIL_SENDING_DISABLED": "L'invio di email è disabilitato.",
"ADMIN_RIGHTS_DELETE_USER_ACCOUNT": "Aggiungi/rimuovi permessi, elimina account utente.",
"ACTIVATE_USER_ACCOUNT": "Attiva account",
"ADMINISTRATION": "Amministrazione",
"CONFIRM_USER_ACCOUNT_DELETION": "Sei sicuro di voler eliminare {0} account? Tutti i dati verranno persi, quest'azione non può essere annullata.",
"CURRENT_EMAIL": "Email corrente",
"REGISTRATION_DISABLED": "La registrazione è al momento disabilitata.",
"RESET_USER_PASSWORD": "Reset password",
"UPDATE_USER_EMAIL": "Aggiorna email",
"UPDATE_APPLICATION_DESCRIPTION": "Aggiorna configurazione applicazione (numero massimo di utenti registrati, dimensione massima dei files).",
"USER": "utente | utenti",
"USER_EMAIL_UPDATE_SUCCESSFUL": "L'indirizzo email è stato aggiornato."
} }

View File

@ -1,2 +1,38 @@
{ {
"ERROR": {
"email: valid email must be provided": "Email: dev'essere inserita un'email valida.",
"file extension not allowed": "File con estensione non permessa.",
"invalid credentials": "Credenziali errate.",
"invalid payload": "I dati inseriti non sono validi.",
"no selected file": "Nessun file scelto.",
"provide a valid auth token": "Insersci un token di autenticazione valido.",
"signature expired, please log in again": "Token scaduto. Per favore ripeti il log in.",
"sorry, that username is already taken": "Mi dispiace, quell'username è già esistente.",
"valid email must be provided for admin contact": "Dev'essere inserita un'email valida",
"you can not delete your account, no other user has admin rights": "Non puoi eliminare questo account, nessun'altro account ha permessi di amministratore.",
"Network Error": "Errore di rete.",
"at least one file in zip archive exceeds size limit, please check the archive": "Almeno un file nell'archivio zip supera il limite di dimensione, per favore controlla.",
"error, registration is disabled": "Errore, la registrazione è disabilitata.",
"UNKNOWN": "Errore. Per favore riprova o contatta l'amminstratore.",
"error during gpx file parsing": "Errore nella lettura del file gpx.",
"error on getting configuration": "Errore nella lettura della configurazione.",
"error during gpx processing": "Errore nell'elaborazione del file gpx.",
"file size is greater than the allowed size": "La dimensione del file è maggiore di quella massima permessa.",
"error when updating configuration": "Errore nell'aggiornamento della configurazione",
"error, please try again or contact the administrator": "Errore, per favore riprova o contatta l'amministratore.",
"invalid token, please log in again": "Token scaduto, per favore ripeti il log in.",
"invalid token, please request a new token": "Token scaduto, per favore ripeti il log in.",
"successfully registered": "Registrato con successo.",
"user does not exist": "L'utente non esiste.",
"new email must be different than curent email": "La nuova email dev'essere diversa dalla vecchia mail",
"no file part": "Nessun file scelto.",
"you do not have permissions": "Non hai i permessi necessari.",
"password: password and password confirmation do not match": "Password: la password inserita e la conferma non combaciano.",
"sport does not exist": "Questo sport non esiste.",
"the number of files in the archive exceeds the limit": "Il numero di files nell'archivio supera il limite massimo permesso."
},
"PAGINATION": {
"PREVIOUS": "precedente",
"NEXT": "avanti"
}
} }

View File

@ -1,2 +1,18 @@
{ {
"CANCEL": "Annulla",
"DELETE_MY_ACCOUNT": "Elimina il mio account",
"DISABLE": "Disattiva",
"FILTER": "Filtra",
"NO": "No",
"REGISTER": "Registra",
"SUBMIT": "Invia",
"YES": "Si",
"ACCOUNT-CONFIRMATION-RESEND": "Re-invia email di conferma",
"AUTHORIZE": "Autorizza",
"ENABLE": "Attiva",
"BACK": "Indietro",
"CLEAR_FILTER": "Resetta filtri",
"EDIT": "Modifica",
"LOGIN": "Log in",
"RESET": "Reset"
} }

View File

@ -1,2 +1,25 @@
{ {
"SELECTS": {
"ORDER": {
"ASC": "Dal più basso al più alto",
"LABEL": "ordina",
"DESC": "Dal più alto al più basso"
},
"ORDER_BY": {
"LABEL": "ordina per"
},
"PER_PAGE": {
"LABEL": "per pagina"
}
},
"TOTAL": "Totale",
"ABOUT": "about",
"CONTACT": "contatto",
"DISPLAYED": "Mostrato",
"DOCUMENTATION": "documentazione",
"HERE": "qui",
"HIDDEN": "Nascosto",
"CONFIRMATION": "Conferma",
"DAY": "giorno | giorni",
"HOME": "Home"
} }

View File

@ -1,2 +1,4 @@
{ {
"THIS_MONTH": "Questo mese",
"DASHBOARD": "Dashboard"
} }

View File

@ -1,2 +1,9 @@
{ {
"NOT_FOUND": {
"PAGE": "Pagina non trovata",
"WORKOUT": "Workout non trovato"
},
"SOMETHING_WRONG": "Qualcosa è andato storto",
"UNKNOWN": "Errore. Per favore riprova o contatta l'amministratore.",
"APP_ERROR": "L'applicazione ha riscontrato dei problemi. <br /> Per favore riprova più tardi o contatta l'amministratore."
} }

View File

@ -1,2 +1,36 @@
{ {
"APP": {
"ISSUE_AT": "Issue at",
"REDIRECT_URL": "URL redirect",
"SCOPE": {
"application:write_DESCRIPTION": "da permessi di scrittura alla configurazioen dell'applicazione.",
"profile:write_DESCRIPTION": "da permessi di scrittura a <code>auth</code> endpoints.",
"users:read_DESCRIPTION": "da permessi di lettura a <code>users</code> endpoints.",
"workouts:read_DESCRIPTION": "da permessi di lettura a <code>workouts</code> endpoints.",
"workouts:write_DESCRIPTION": "da permessi di scrittura a <code>workouts</code> endpoints.",
"profile:read_DESCRIPTION": "da permessi di lettura a <code>auth</code> endpoints.",
"LABEL": "Scope",
"users:write_DESCRIPTION": "da permessi di scrittura a <code>users</code>endpoints."
},
"CLIENT_ID": "Id",
"CLIENT_SECRET": "Secret",
"URL": "URL applicazione",
"DESCRIPTION": "Descrizione applicazione",
"NAME": "Nome applicazione"
},
"APPS_LIST": "Applicazioni OAuth2",
"APP_CREATED_SUCCESSFULLY": "Applicazione creata. Sii certo di copiare il secret ora, non lo rivedrai più.",
"AUTHORIZE_APP": "Autorizzi {0} ad utilizzare il tuo account?",
"COPY_TO_CLIPBOARD": "copia nella clipboard",
"NO_DESCRIPTION": "nessuna descrizione",
"REVOKE_ALL_TOKENS": "Rimuovi tutti i tokens",
"TOKENS_REVOCATION_CONFIRMATION": "Sei sicuro di voler rimuovere tutti i token?",
"ADD_A_NEW_APP": "Aggiungi una nuova applicazione OAuth2",
"APP_REQUESTING_ACCESS": "L'applicazione {0} sta chiedendo:",
"DELETE_APP": "Elimina applicazione",
"NEW_APP": "Aggiungi applicazione",
"NO_APP": "Applicazione non trovata!",
"APP_DELETION_CONFIRMATION": "Sei sicuro di voler eliminare quest'app?",
"NO_APPS": "nessuna applicazione",
"TOKENS_REVOKED": "Tutti i token esistenti associati sono stati rimossi."
} }

View File

@ -1,2 +1,44 @@
{ {
"Rowing": {
"LABEL": "Canottaggio"
},
"Running": {
"LABEL": "Corsa"
},
"Skiing (Alpine)": {
"LABEL": "Sci (Alpino)"
},
"Skiing (Cross Country)": {
"LABEL": "Sci (Cross Country)"
},
"Mountaineering": {
"LABEL": "Alpinismo"
},
"Cycling (Sport)": {
"LABEL": "Ciclismo (Sport)"
},
"Cycling (Transport)": {
"LABEL": "Ciclismo (Trasporto)"
},
"Mountain Biking": {
"LABEL": "Mountain Biking"
},
"Cycling (Virtual)": {
"LABEL": "Cicliscmo (Virtuale)"
},
"Hiking": {
"LABEL": "Escursioni"
},
"Snowshoes": {
"LABEL": "Racchette da neve"
},
"Mountain Biking (Electric)": {
"LABEL": "Mountain Biking (Elettrica)"
},
"Trail": {
"LABEL": "Sentieri"
},
"Walking": {
"LABEL": "Camminata"
}
} }

View File

@ -1,2 +1,8 @@
{ {
"TIME_FRAMES": {
"month": "mese",
"week": "settimana",
"year": "anno"
},
"STATISTICS": "Statistiche"
} }

View File

@ -1,2 +1,111 @@
{ {
"ACCOUNT_CONFIRMATION_NOT_RECEIVED": "Non hai ricevuto istruzioni?",
"ALREADY_HAVE_ACCOUNT": "Hai già un account?",
"CURRENT_PASSWORD": "Password corrente",
"EMAIL": "Email",
"EMAIL_INFO": "Inserisci un indirizzo email valido.",
"ENTER_PASSWORD": "Inserisci una password",
"FILTER_ON_USERNAME": "Filtra per username",
"HIDE_PASSWORD": "nascondi password",
"INVALID_TOKEN": "Token invalido, per favore richiedi un nuovo reset della password.",
"LANGUAGE": "Lingua",
"LOGIN": "Login",
"LOGOUT": "Logout",
"LOG_IN": "log in",
"NEW_PASSWORD": "Nuova password",
"NO_USERS_FOUND": "Nessun utente trovato.",
"PASSWORD_FORGOTTEN": "Password dimenticata?",
"PASSWORD_INFO": "Inserisci almeno 8 caratteri.",
"PASSWORD_RESET": "Reset password",
"PASSWORD_STRENGTH": {
"AVERAGE": "media",
"GOOD": "buona",
"LABEL": "sicurezza password",
"SUGGESTIONS": {
"anotherWord": "Aggiungi più parole che sono meno comuni.",
"associatedYears": "Evita date che possono essere associate a te.",
"pwned": "È consigliabile cambiare questa password se è utilizzata per altro.",
"recentYears": "Evita date recenti.",
"repeated": "Evita di ripetere lettere e parole.",
"reverseWords": "Evita di scrivere parole al contrario.",
"sequences": "Evita sequenze di caratteri comuni.",
"useWords": "Usa più parole, ma evita frasi comuni.",
"capitalization": "Inserisci maiuscole oltre alla prima lettera.",
"allUppercase": "Inserisci qualche maiuscola.",
"l33t": "Evita sostituzioni prevedibili, per esempio, {'@'} per la a.",
"dates": "Evita date che possono essere associate a te.",
"longerKeyboardPattern": "Usa patterns più lunghi e cambia direzione di scrittura più volte.",
"noNeed": "Puoi creare password sicure senza utilizzare simboli, numeri, o maiuscole."
},
"WEAK": "bassa",
"STRONG": "forte"
},
"PASSWORD_UPDATED": "La tua password è stata aggiornata. Clicca {0} per effettuare il login.",
"PROFILE": {
"ACCOUNT_EDITION": "Tipo di account",
"SPORT": {
"ACTION": "azione",
"COLOR": "colore",
"DISABLED_BY_ADMIN": "disattivato dall'amministratore",
"IS_ACTIVE": "attivo",
"LABEL": "etichetta",
"STOPPED_SPEED_THRESHOLD": "Limite minimo di velocità"
},
"SPORTS_EDITION": "Preferenze sport",
"SUCCESSFUL_REGISTRATION": "Il tuo account è stato creato con successo.",
"SUCCESSFUL_UPDATE": "Il tuo account è stato aggiornato con successo.",
"TABS": {
"PICTURE": "foto",
"SPORTS": "sports",
"APPS": "apps",
"ACCOUNT": "account",
"PREFERENCES": "preferenze",
"PROFILE": "profilo"
},
"UNITS": {
"METRIC": "Sistema metrico (m, km)",
"LABEL": "Unità per la distanza",
"IMPERIAL": "Sistema imperiale (ft, mi)"
},
"BACK_TO_PROFILE": "Ritorna al profilo",
"EDIT": "Modifica profilo",
"BIO": "Bio",
"ASCENT_DATA": "Dati relativi alle salite (singoli, totale)",
"BIRTH_DATE": "Data di nascita",
"DATE_FORMAT": "Formato data",
"FIRST_DAY_OF_WEEK": "Primo giorno della settimana",
"LAST_NAME": "Cognome",
"PICTURE_REMOVE": "Rimuovi foto",
"SUNDAY": "Domenica",
"EDIT_PREFERENCES": "Modifica preferenze",
"EDIT_SPORTS_PREFERENCES": "Modifica preferenze sport",
"ERRORED_EMAIL_UPDATE": "Per favore {0} per cambiare di nuovo la tua mail o contatta l'amministratore",
"FIRST_NAME": "Nome",
"LANGUAGE": "Lingua",
"LOCATION": "Posizione",
"PICTURE": "Foto",
"PROFILE_EDITION": "Profilo",
"MONDAY": "Lunedì",
"PICTURE_EDITION": "Foto",
"PREFERENCES_EDITION": "Preferenze",
"PICTURE_UPDATE": "Aggiorna foto",
"REGISTRATION_DATE": "Data di registrazione",
"SUCCESSFUL_EMAIL_UPDATE": "Il tuo account è stato aggiornato con successo. Per favore controlla la tua email per confermare il tuo indirizzo email.",
"SUCCESSFUL_REGISTRATION_WITH_EMAIL": "Un link per attivare il tuo account è stato inviato all'indirizzo specificato.",
"TIMEZONE": "Timezone"
},
"REGISTER": "Registra",
"RESENT_ACCOUNT_CONFIRMATION": "Re-invia email di conferma dell'account",
"RESET_PASSWORD": "Resetta password",
"USERNAME_INFO": "Sono richiesti da 3 a 30 caratteri, è permesso utilizzare solo caratteri alfanumerici ed il simbolo \"_\".",
"USER_PICTURE": "foto profilo",
"PASSWORD_SENT_EMAIL_TEXT": "Controlla la tua email. Se l'indirizzo inserito è nel nostro database, riceverai un'email con un link per resettare la tua password.",
"ACCOUNT_CONFIRMATION_SENT": "Controlla la tua email. Una nuova email di conferma è stata inviata all'indirizzo specificato.",
"ADMIN": "Admin",
"CONFIRM_ACCOUNT_DELETION": "Sei sicuro di voler eliminare il tuo account? Tutti i dati saranno eliminati, quest'azione non può essere annullata",
"PASSWORD": "Password",
"REGISTER_DISABLED": "Mi dispiace, la registrazione è disabilitata.",
"USERNAME": "Username",
"SHOW_PASSWORD": "mostra password",
"THIS_USER_ACCOUNT_IS_INACTIVE": "Questo account è inattivo."
} }

View File

@ -1,2 +1,104 @@
{ {
"AVERAGE_SPEED": "velocità media",
"AVE_SPEED": "vel. media",
"BACK_TO_WORKOUT": "ritorna al workout",
"DISTANCE": "distanza",
"DURATION": "durata",
"ELEVATION": "elevazione",
"END": "fine",
"FROM": "da",
"GPX_FILE": "file .gpx",
"HIDE_FILTERS": "nascondi filtri",
"INVALID_DISTANCE": "La distanza dev'essere maggiore di 0",
"LOAD_MORE_WORKOUT": "Carica più workout",
"MAX_ALTITUDE": "altitudine massima",
"MAX_FILES": "file massimi",
"MAX_SIZE": "dimensione massima",
"MAX_SPEED": "velocità massima",
"NO_DATA_CLEANING": "data dal file gpx, senza \"pulizia\"",
"NO_FILE_PROVIDED": "Nessun file scelto",
"NO_FOLDER": "nessuna cartella all'interno",
"NO_MAP": "Nessuna mappa",
"NO_NEXT_SEGMENT": "Nessun segmento successivo",
"NO_NEXT_WORKOUT": "Nessun workout successivo",
"NO_PREVIOUS_WORKOUT": "Nessun workout precedente",
"NO_RECORDS": "Nessun record.",
"PREVIOUS_SEGMENT": "Segmento precedente",
"RECORD": "record | records",
"RECORD_FD": "Distanza più lunga",
"START": "inizio",
"WEATHER": {
"DARK_SKY": {
"clear-day": "cielo chiaro",
"partly-cloudy-night": "notte parzialmente nuvolosa",
"rain": "pioggia",
"clear-night": "notte chiara",
"fog": "nebbia",
"partly-cloudy-day": "parzialmente nuvoloso",
"cloudy": "nuvoloso",
"sleet": "nevischio",
"snow": "neve",
"wind": "vento"
},
"WIND_DIRECTIONS": {
"ESE": "ESE",
"NNW": "NNW",
"SSE": "SSE",
"SSW": "SSW",
"W": "W",
"NW": "NW",
"S": "S",
"E": "E",
"NE": "NE",
"ENE": "ENE",
"N": "N",
"NNE": "NNE",
"WNW": "WNW",
"SE": "SE",
"SW": "SW",
"WSW": "WSW"
},
"TEMPERATURE": "temperatura",
"HUMIDITY": "umidità",
"WIND": "vento"
},
"WITHOUT_GPX": "senza file .gpx",
"WITH_GPX": "con file .gpx",
"WORKOUT_DELETION_CONFIRMATION": "Sei sicuro di voler eliminare questo workout?",
"ZIP_ARCHIVE": "file .zip",
"ZIP_ARCHIVE_DESCRIPTION": "o file .zip contenente files .gpx",
"NO_PREVIOUS_SEGMENT": "Nessun segmento precedente",
"INVALID_DURATION": "La durata dev'essere maggiore di 0",
"ASCENT": "salita",
"DATE": "data",
"EDIT_WORKOUT": "Modifica il workout",
"ADD_WORKOUT": "Aggiungi un workout",
"LATEST_WORKOUTS": "Ultimi workout",
"MIN_ALTITUDE": "altitudine minima",
"NEXT_SEGMENT": "Nessun segmento successivo",
"ANALYSIS": "analisi",
"DESCENT": "discesa",
"DISPLAY_FILTERS": "mostra filtri",
"NOTES": "note",
"NO_NOTES": "Nessuna nota",
"PREVIOUS_WORKOUT": "Workout precedente",
"NEXT_WORKOUT": "Prossimo workout",
"NO_WORKOUTS": "Nessun workout.",
"RECORD_AS": "Vel. media",
"PAUSES": "pause",
"RECORD_HA": "Salita più alta",
"SEGMENT": "segmento | segmenti",
"RECORD_LD": "Durata più lunga",
"START_ELEVATION_AT_ZERO": "partenza asse elevazione a 0",
"TOTAL_DURATION": "durata totale",
"RECORD_MS": "Vel. massima",
"REMAINING_CHARS": "caratteri rimanenti",
"SPEED": "velocità",
"SPORT": "sport | sports",
"TITLE": "titolo",
"UPLOAD_FIRST_WORKOUT": "Carica file!",
"START_AND_FINISH": "Inizio e fine",
"TO": "a",
"WORKOUT": "workout | workouts",
"WORKOUT_DATE": "data workout"
} }

View File

@ -17,6 +17,9 @@
"Mountain Biking (Electric)": { "Mountain Biking (Electric)": {
"LABEL": "Mountainbiken (Elektrisch)" "LABEL": "Mountainbiken (Elektrisch)"
}, },
"Mountaineering": {
"LABEL": "Bergbeklimmen"
},
"Rowing": { "Rowing": {
"LABEL": "Roeien" "LABEL": "Roeien"
}, },

View File

@ -97,7 +97,7 @@ const dateStringFormats: Record<string, string> = {
de: 'do MMM yyyy', de: 'do MMM yyyy',
en: 'MMM. do, yyyy', en: 'MMM. do, yyyy',
fr: 'd MMM yyyy', fr: 'd MMM yyyy',
// it: 'd MMM yyyy', it: 'd MMM yyyy',
// nb: 'do MMM yyyy', // nb: 'do MMM yyyy',
nl: 'd MMM yyyy', nl: 'd MMM yyyy',
} }

View File

@ -1,6 +1,6 @@
/* eslint-disable import/no-duplicates */ /* eslint-disable import/no-duplicates */
import { Locale } from 'date-fns' import { Locale } from 'date-fns'
import { de, enUS, fr, nl } from 'date-fns/locale' import { de, enUS, fr, it, nl } from 'date-fns/locale'
import createI18n from '@/i18n' import createI18n from '@/i18n'
@ -8,7 +8,7 @@ export const localeFromLanguage: Record<string, Locale> = {
de: de, de: de,
en: enUS, en: enUS,
fr: fr, fr: fr,
// it: it, it: it,
// nb: nb, // disabled for now // nb: nb, // disabled for now
nl: nl, nl: nl,
} }
@ -17,7 +17,7 @@ export const languageLabels: Record<string, string> = {
de: 'Deutsch', de: 'Deutsch',
en: 'English', en: 'English',
fr: 'Français', fr: 'Français',
// it: 'Italiano', it: 'Italiano',
// nb: 'Norsk bokmål', // disabled for now // nb: 'Norsk bokmål', // disabled for now
nl: 'Nederlands', nl: 'Nederlands',
} }