Merge branch 'main' into feature/date-math
# Conflicts: # src/views/tasks/ShowTasks.vue
This commit is contained in:
commit
d5f0158b04
29 changed files with 1182 additions and 660 deletions
|
@ -123,7 +123,6 @@ steps:
|
||||||
- yarn serve:dist & npx wait-on http://localhost:4173
|
- yarn serve:dist & npx wait-on http://localhost:4173
|
||||||
- yarn test:frontend --browser chrome --record
|
- yarn test:frontend --browser chrome --record
|
||||||
depends_on:
|
depends_on:
|
||||||
- dependencies
|
|
||||||
- build-prod
|
- build-prod
|
||||||
|
|
||||||
- name: deploy-preview
|
- name: deploy-preview
|
||||||
|
@ -137,6 +136,9 @@ steps:
|
||||||
GITEA_TOKEN:
|
GITEA_TOKEN:
|
||||||
from_secret: gitea_token
|
from_secret: gitea_token
|
||||||
commands:
|
commands:
|
||||||
|
- cp -r dist dist-preview
|
||||||
|
# Override the default api url used for preview
|
||||||
|
- sed -i 's|localhost:3456|try.vikunja.io|g' dist-preview/index.html
|
||||||
- shasum -a 384 -c ./scripts/deploy-preview-netlify.js.sha384
|
- shasum -a 384 -c ./scripts/deploy-preview-netlify.js.sha384
|
||||||
- node ./scripts/deploy-preview-netlify.js
|
- node ./scripts/deploy-preview-netlify.js
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[build]
|
[build]
|
||||||
command = "yarn build"
|
command = "yarn build"
|
||||||
publish = "dist"
|
publish = "dist-preview"
|
||||||
|
|
||||||
[[redirects]]
|
[[redirects]]
|
||||||
from = "/*"
|
from = "/*"
|
||||||
|
|
36
package.json
36
package.json
|
@ -20,15 +20,15 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@github/hotkey": "2.0.0",
|
"@github/hotkey": "2.0.0",
|
||||||
"@kyvg/vue3-notification": "2.3.4",
|
"@kyvg/vue3-notification": "2.3.4",
|
||||||
"@sentry/tracing": "6.17.9",
|
"@sentry/tracing": "6.18.0",
|
||||||
"@sentry/vue": "6.17.9",
|
"@sentry/vue": "6.18.0",
|
||||||
"@types/is-touch-device": "1.0.0",
|
"@types/is-touch-device": "1.0.0",
|
||||||
"@vue/compat": "3.2.31",
|
"@vue/compat": "3.2.31",
|
||||||
"@vueuse/core": "7.6.2",
|
"@vueuse/core": "7.6.2",
|
||||||
"@vueuse/router": "7.6.2",
|
"@vueuse/router": "7.6.2",
|
||||||
"bulma-css-variables": "0.9.33",
|
"bulma-css-variables": "0.9.33",
|
||||||
"camel-case": "4.1.2",
|
"camel-case": "4.1.2",
|
||||||
"codemirror": "5.65.1",
|
"codemirror": "5.65.2",
|
||||||
"copy-to-clipboard": "3.3.1",
|
"copy-to-clipboard": "3.3.1",
|
||||||
"date-fns": "2.28.0",
|
"date-fns": "2.28.0",
|
||||||
"dompurify": "2.3.6",
|
"dompurify": "2.3.6",
|
||||||
|
@ -42,7 +42,7 @@
|
||||||
"marked": "4.0.12",
|
"marked": "4.0.12",
|
||||||
"register-service-worker": "1.7.2",
|
"register-service-worker": "1.7.2",
|
||||||
"snake-case": "3.0.4",
|
"snake-case": "3.0.4",
|
||||||
"ufo": "0.7.10",
|
"ufo": "0.7.11",
|
||||||
"v-tooltip": "4.0.0-beta.17",
|
"v-tooltip": "4.0.0-beta.17",
|
||||||
"vue": "3.2.31",
|
"vue": "3.2.31",
|
||||||
"vue-advanced-cropper": "2.8.1",
|
"vue-advanced-cropper": "2.8.1",
|
||||||
|
@ -52,7 +52,7 @@
|
||||||
"vue-router": "4.0.12",
|
"vue-router": "4.0.12",
|
||||||
"vuedraggable": "4.1.0",
|
"vuedraggable": "4.1.0",
|
||||||
"vuex": "4.0.2",
|
"vuex": "4.0.2",
|
||||||
"workbox-precaching": "6.4.2"
|
"workbox-precaching": "6.5.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@4tw/cypress-drag-drop": "2.1.0",
|
"@4tw/cypress-drag-drop": "2.1.0",
|
||||||
|
@ -62,8 +62,8 @@
|
||||||
"@fortawesome/free-solid-svg-icons": "5.15.4",
|
"@fortawesome/free-solid-svg-icons": "5.15.4",
|
||||||
"@fortawesome/vue-fontawesome": "3.0.0-5",
|
"@fortawesome/vue-fontawesome": "3.0.0-5",
|
||||||
"@types/flexsearch": "0.7.2",
|
"@types/flexsearch": "0.7.2",
|
||||||
"@typescript-eslint/eslint-plugin": "5.12.0",
|
"@typescript-eslint/eslint-plugin": "5.12.1",
|
||||||
"@typescript-eslint/parser": "5.12.0",
|
"@typescript-eslint/parser": "5.12.1",
|
||||||
"@vitejs/plugin-legacy": "1.7.1",
|
"@vitejs/plugin-legacy": "1.7.1",
|
||||||
"@vitejs/plugin-vue": "2.2.2",
|
"@vitejs/plugin-vue": "2.2.2",
|
||||||
"@vue/eslint-config-typescript": "10.0.0",
|
"@vue/eslint-config-typescript": "10.0.0",
|
||||||
|
@ -73,24 +73,24 @@
|
||||||
"caniuse-lite": "1.0.30001312",
|
"caniuse-lite": "1.0.30001312",
|
||||||
"cypress": "9.5.0",
|
"cypress": "9.5.0",
|
||||||
"esbuild": "0.14.23",
|
"esbuild": "0.14.23",
|
||||||
"eslint": "8.9.0",
|
"eslint": "8.10.0",
|
||||||
"eslint-plugin-vue": "8.4.1",
|
"eslint-plugin-vue": "8.5.0",
|
||||||
"express": "4.17.3",
|
"express": "4.17.3",
|
||||||
"happy-dom": "2.39.1",
|
"happy-dom": "2.41.0",
|
||||||
"netlify-cli": "8.16.1",
|
"netlify-cli": "9.6.5",
|
||||||
"postcss": "8.4.6",
|
"postcss": "8.4.7",
|
||||||
"postcss-preset-env": "7.4.1",
|
"postcss-preset-env": "7.4.1",
|
||||||
"rollup": "2.67.3",
|
"rollup": "2.68.0",
|
||||||
"rollup-plugin-visualizer": "5.5.4",
|
"rollup-plugin-visualizer": "5.6.0",
|
||||||
"sass": "1.49.8",
|
"sass": "1.49.9",
|
||||||
"typescript": "4.5.5",
|
"typescript": "4.5.5",
|
||||||
"vite": "2.8.4",
|
"vite": "2.8.4",
|
||||||
"vite-plugin-pwa": "0.11.13",
|
"vite-plugin-pwa": "0.11.13",
|
||||||
"vite-svg-loader": "3.1.2",
|
"vite-svg-loader": "3.1.2",
|
||||||
"vitest": "0.4.2",
|
"vitest": "0.5.7",
|
||||||
"vue-tsc": "0.31.4",
|
"vue-tsc": "0.32.0",
|
||||||
"wait-on": "6.0.1",
|
"wait-on": "6.0.1",
|
||||||
"workbox-cli": "6.4.2"
|
"workbox-cli": "6.5.0"
|
||||||
},
|
},
|
||||||
"eslintConfig": {
|
"eslintConfig": {
|
||||||
"root": true,
|
"root": true,
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import {ref, computed, watch} from 'vue'
|
import {ref, computed, watch} from 'vue'
|
||||||
import { useI18n } from 'vue-i18n'
|
import {useI18n} from 'vue-i18n'
|
||||||
import {parseURL} from 'ufo'
|
import {parseURL} from 'ufo'
|
||||||
|
|
||||||
import {checkAndSetApiUrl} from '@/helpers/checkAndSetApiUrl'
|
import {checkAndSetApiUrl} from '@/helpers/checkAndSetApiUrl'
|
||||||
|
@ -61,18 +61,20 @@ const emit = defineEmits(['foundApi'])
|
||||||
const apiUrl = ref(window.API_URL)
|
const apiUrl = ref(window.API_URL)
|
||||||
const configureApi = ref(apiUrl.value === '')
|
const configureApi = ref(apiUrl.value === '')
|
||||||
|
|
||||||
const apiDomain = computed(() => parseURL(apiUrl.value).host || parseURL(window.location.href).host)
|
// Because we're only using this to parse the hostname, it should be fine to just prefix with http://
|
||||||
|
// regardless of whether the url is actually reachable under http.
|
||||||
|
const apiDomain = computed(() => parseURL(apiUrl.value, 'http://').host || parseURL(window.location.href).host)
|
||||||
|
|
||||||
watch(() => props.configureOpen, (value) => {
|
watch(() => props.configureOpen, (value) => {
|
||||||
configureApi.value = value
|
configureApi.value = value
|
||||||
}, { immediate: true })
|
}, {immediate: true})
|
||||||
|
|
||||||
|
|
||||||
const {t} = useI18n()
|
const {t} = useI18n()
|
||||||
|
|
||||||
const errorMsg = ref('')
|
const errorMsg = ref('')
|
||||||
const successMsg = ref('')
|
const successMsg = ref('')
|
||||||
|
|
||||||
async function setApiUrl() {
|
async function setApiUrl() {
|
||||||
if (apiUrl.value === '') {
|
if (apiUrl.value === '') {
|
||||||
// Don't try to check and set an empty url
|
// Don't try to check and set an empty url
|
||||||
|
|
|
@ -84,14 +84,6 @@ export default {
|
||||||
BaseButton,
|
BaseButton,
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted() {
|
|
||||||
document.addEventListener('keydown', (e) => {
|
|
||||||
// Close the model when escape is pressed
|
|
||||||
if (e.keyCode === 27) {
|
|
||||||
this.$emit('close')
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
props: {
|
props: {
|
||||||
enabled: {
|
enabled: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
|
|
|
@ -81,7 +81,7 @@ export default {
|
||||||
return this.notifications.filter(n => n.readAt === null).length
|
return this.notifications.filter(n => n.readAt === null).length
|
||||||
},
|
},
|
||||||
notifications() {
|
notifications() {
|
||||||
return this.allNotifications.filter(n => n.name !== '')
|
return this.allNotifications ? this.allNotifications.filter(n => n.name !== '') : []
|
||||||
},
|
},
|
||||||
...mapState({
|
...mapState({
|
||||||
userInfo: state => state.auth.info,
|
userInfo: state => state.auth.info,
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
v-focus
|
v-focus
|
||||||
v-model="newTaskTitle"
|
v-model="newTaskTitle"
|
||||||
ref="newTaskInput"
|
ref="newTaskInput"
|
||||||
@keyup="errorMessage = ''"
|
@keyup="resetEmptyTitleError"
|
||||||
@keydown.enter="handleEnter"
|
@keydown.enter="handleEnter"
|
||||||
/>
|
/>
|
||||||
<span class="icon is-small is-left">
|
<span class="icon is-small is-left">
|
||||||
|
@ -135,6 +135,12 @@ const store = useStore()
|
||||||
const taskService = shallowReactive(new TaskService())
|
const taskService = shallowReactive(new TaskService())
|
||||||
const errorMessage = ref('')
|
const errorMessage = ref('')
|
||||||
|
|
||||||
|
function resetEmptyTitleError() {
|
||||||
|
if(newTaskTitle.value !== '') {
|
||||||
|
errorMessage.value = ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async function addTask() {
|
async function addTask() {
|
||||||
if (newTaskTitle.value === '') {
|
if (newTaskTitle.value === '') {
|
||||||
errorMessage.value = t('list.create.addTitleRequired')
|
errorMessage.value = t('list.create.addTitleRequired')
|
||||||
|
|
|
@ -114,7 +114,7 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
async removeLabel(label) {
|
async removeLabel(label) {
|
||||||
if (!this.taskId === 0) {
|
if (this.taskId !== 0) {
|
||||||
await this.$store.dispatch('tasks/removeLabel', {label: label, taskId: this.taskId})
|
await this.$store.dispatch('tasks/removeLabel', {label: label, taskId: this.taskId})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -190,10 +190,7 @@ export default {
|
||||||
this.$t('task.undoneSuccess'),
|
this.$t('task.undoneSuccess'),
|
||||||
}, [{
|
}, [{
|
||||||
title: 'Undo',
|
title: 'Undo',
|
||||||
callback() {
|
callback: () => this.undoDone(checked),
|
||||||
this.task.done = !this.task.done
|
|
||||||
this.markAsDone(!checked)
|
|
||||||
},
|
|
||||||
}])
|
}])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -204,6 +201,11 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
undoDone(checked) {
|
||||||
|
this.task.done = !this.task.done
|
||||||
|
this.markAsDone(!checked)
|
||||||
|
},
|
||||||
|
|
||||||
async toggleFavorite() {
|
async toggleFavorite() {
|
||||||
this.task.isFavorite = !this.task.isFavorite
|
this.task.isFavorite = !this.task.isFavorite
|
||||||
this.task = await this.taskService.update(this.task)
|
this.task = await this.taskService.update(this.task)
|
||||||
|
|
|
@ -570,22 +570,22 @@
|
||||||
"text2": "Tímto také odstraníte všechny přílohy, připomenutí a vztahy spojené s tímto úkolem a nelze je vrátit zpět!"
|
"text2": "Tímto také odstraníte všechny přílohy, připomenutí a vztahy spojené s tímto úkolem a nelze je vrátit zpět!"
|
||||||
},
|
},
|
||||||
"actions": {
|
"actions": {
|
||||||
"assign": "Přiřadit uživateli",
|
"assign": "Assign to User",
|
||||||
"label": "Přidat štítky",
|
"label": "Add Labels",
|
||||||
"priority": "Nastavit prioritu",
|
"priority": "Nastavit prioritu",
|
||||||
"dueDate": "Nastavit termín",
|
"dueDate": "Nastavit termín",
|
||||||
"startDate": "Nastavit počáteční datum",
|
"startDate": "Set Start Date",
|
||||||
"endDate": "Nastavit koncové datum",
|
"endDate": "Set End Date",
|
||||||
"reminders": "Nastavit připomenutí",
|
"reminders": "Nastavit připomenutí",
|
||||||
"repeatAfter": "Nastavit interval opakování",
|
"repeatAfter": "Set Repeating Interval",
|
||||||
"percentDone": "Set Progress",
|
"percentDone": "Set Progress",
|
||||||
"attachments": "Přidat přílohy",
|
"attachments": "Add Attachments",
|
||||||
"relatedTasks": "Přidat vztahy úkolu",
|
"relatedTasks": "Add Relation",
|
||||||
"moveList": "Přesunout úkol",
|
"moveList": "Move",
|
||||||
"color": "Nastavit barvu úkolu",
|
"color": "Set Color",
|
||||||
"delete": "Smazat úkol",
|
"delete": "Delete",
|
||||||
"favorite": "Uložit jako oblíbené",
|
"favorite": "Add to Favorites",
|
||||||
"unfavorite": "Odebrat z oblíbených"
|
"unfavorite": "Remove from Favorites"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"attributes": {
|
"attributes": {
|
||||||
|
|
|
@ -580,11 +580,11 @@
|
||||||
"repeatAfter": "Wiederholung setzen",
|
"repeatAfter": "Wiederholung setzen",
|
||||||
"percentDone": "Fortschritt einstellen",
|
"percentDone": "Fortschritt einstellen",
|
||||||
"attachments": "Anhänge hinzufügen",
|
"attachments": "Anhänge hinzufügen",
|
||||||
"relatedTasks": "Aufgabenbeziehungen hinzufügen",
|
"relatedTasks": "Beziehung hinzufügen",
|
||||||
"moveList": "Aufgabe verschieben",
|
"moveList": "Verschieben",
|
||||||
"color": "Taskfarbe setzen",
|
"color": "Farbe setzen",
|
||||||
"delete": "Aufgabe löschen",
|
"delete": "Löschen",
|
||||||
"favorite": "In Favoriten speichern",
|
"favorite": "Zu Favoriten hinzufügen",
|
||||||
"unfavorite": "Aus Favoriten entfernen"
|
"unfavorite": "Aus Favoriten entfernen"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -571,20 +571,20 @@
|
||||||
},
|
},
|
||||||
"actions": {
|
"actions": {
|
||||||
"assign": "Benutzer:in zuweisen",
|
"assign": "Benutzer:in zuweisen",
|
||||||
"label": "Label hinzuefüege",
|
"label": "Label hinzufügen",
|
||||||
"priority": "Priorität setzä",
|
"priority": "Priorität setzä",
|
||||||
"dueDate": "Fälligkeitsdatum setze",
|
"dueDate": "Fälligkeitsdatum setze",
|
||||||
"startDate": "Startdatum setze",
|
"startDate": "Startdatum setzen",
|
||||||
"endDate": "Enddatum setze",
|
"endDate": "Enddatum setzen",
|
||||||
"reminders": "Errinnerig iihstelle",
|
"reminders": "Errinnerig iihstelle",
|
||||||
"repeatAfter": "En wiederholende Intervall setze",
|
"repeatAfter": "Wiederholung setzen",
|
||||||
"percentDone": "Fortschritt einstellen",
|
"percentDone": "Fortschritt einstellen",
|
||||||
"attachments": "Aahang hinzuefüege",
|
"attachments": "Anhänge hinzufügen",
|
||||||
"relatedTasks": "Uufgabsbeziehig hinzufüege",
|
"relatedTasks": "Beziehung hinzufügen",
|
||||||
"moveList": "Uufgab verschiebe",
|
"moveList": "Verschieben",
|
||||||
"color": "Uufgab Farb setze",
|
"color": "Farbe setzen",
|
||||||
"delete": "Uufgab chüble",
|
"delete": "Löschen",
|
||||||
"favorite": "In Favoriten speichern",
|
"favorite": "Zu Favoriten hinzufügen",
|
||||||
"unfavorite": "Aus Favoriten entfernen"
|
"unfavorite": "Aus Favoriten entfernen"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -570,22 +570,22 @@
|
||||||
"text2": "This will also remove all attachments, reminders and relations associated with this task and cannot be undone!"
|
"text2": "This will also remove all attachments, reminders and relations associated with this task and cannot be undone!"
|
||||||
},
|
},
|
||||||
"actions": {
|
"actions": {
|
||||||
"assign": "Assign to a user",
|
"assign": "Assign to User",
|
||||||
"label": "Add labels",
|
"label": "Add Labels",
|
||||||
"priority": "Set Priority",
|
"priority": "Set Priority",
|
||||||
"dueDate": "Set Due Date",
|
"dueDate": "Set Due Date",
|
||||||
"startDate": "Set a Start Date",
|
"startDate": "Set Start Date",
|
||||||
"endDate": "Set an End Date",
|
"endDate": "Set End Date",
|
||||||
"reminders": "Set Reminders",
|
"reminders": "Set Reminders",
|
||||||
"repeatAfter": "Set a repeating interval",
|
"repeatAfter": "Set Repeating Interval",
|
||||||
"percentDone": "Set Progress",
|
"percentDone": "Set Progress",
|
||||||
"attachments": "Add attachments",
|
"attachments": "Add Attachments",
|
||||||
"relatedTasks": "Add task relations",
|
"relatedTasks": "Add Relation",
|
||||||
"moveList": "Move task",
|
"moveList": "Move",
|
||||||
"color": "Set task color",
|
"color": "Set Color",
|
||||||
"delete": "Delete task",
|
"delete": "Delete",
|
||||||
"favorite": "Save as favorite",
|
"favorite": "Add to Favorites",
|
||||||
"unfavorite": "Remove from favorites"
|
"unfavorite": "Remove from Favorites"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"attributes": {
|
"attributes": {
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
"lastViewed": "Dernière consultation",
|
"lastViewed": "Dernière consultation",
|
||||||
"list": {
|
"list": {
|
||||||
"newText": "Tu peux créer une nouvelle liste pour tes nouvelles tâches :",
|
"newText": "Tu peux créer une nouvelle liste pour tes nouvelles tâches :",
|
||||||
"new": "New list",
|
"new": "Nouvelle liste",
|
||||||
"importText": "Ou importe tes listes et tâches d’autres services dans Vikunja :",
|
"importText": "Ou importe tes listes et tâches d’autres services dans Vikunja :",
|
||||||
"import": "Importer tes données dans Vikunja"
|
"import": "Importer tes données dans Vikunja"
|
||||||
}
|
}
|
||||||
|
@ -31,11 +31,11 @@
|
||||||
"username": "Nom d’utilisateur·rice",
|
"username": "Nom d’utilisateur·rice",
|
||||||
"usernameEmail": "Nom d’utilisateur·rice ou adresse courriel",
|
"usernameEmail": "Nom d’utilisateur·rice ou adresse courriel",
|
||||||
"usernamePlaceholder": "p. ex. frederick",
|
"usernamePlaceholder": "p. ex. frederick",
|
||||||
"email": "Email address",
|
"email": "Adresse courriel",
|
||||||
"emailPlaceholder": "p. ex. frederic{'@'}vikunja.io",
|
"emailPlaceholder": "p. ex. frederic{'@'}vikunja.io",
|
||||||
"password": "Mot de passe",
|
"password": "Mot de passe",
|
||||||
"passwordPlaceholder": "p. ex. •••••••••••",
|
"passwordPlaceholder": "p. ex. •••••••••••",
|
||||||
"forgotPassword": "Forgot your password?",
|
"forgotPassword": "Mot de passe oublié ?",
|
||||||
"resetPassword": "Réinitialiser ton mot de passe",
|
"resetPassword": "Réinitialiser ton mot de passe",
|
||||||
"resetPasswordAction": "M’envoyer un lien de réinitialisation du mot de passe",
|
"resetPasswordAction": "M’envoyer un lien de réinitialisation du mot de passe",
|
||||||
"resetPasswordSuccess": "Vérifie ta boîte de réception ! Tu devrais avoir un courriel contenant les instructions sur la manière de réinitialiser ton mot de passe.",
|
"resetPasswordSuccess": "Vérifie ta boîte de réception ! Tu devrais avoir un courriel contenant les instructions sur la manière de réinitialiser ton mot de passe.",
|
||||||
|
@ -44,20 +44,20 @@
|
||||||
"totpTitle": "Code d’authentification à deux facteurs",
|
"totpTitle": "Code d’authentification à deux facteurs",
|
||||||
"totpPlaceholder": "p. ex. 123456",
|
"totpPlaceholder": "p. ex. 123456",
|
||||||
"login": "Se connecter",
|
"login": "Se connecter",
|
||||||
"createAccount": "Create account",
|
"createAccount": "Créer un compte",
|
||||||
"loginWith": "Se connecter avec {provider}",
|
"loginWith": "Se connecter avec {provider}",
|
||||||
"authenticating": "Authentification…",
|
"authenticating": "Authentification…",
|
||||||
"openIdStateError": "L’état ne correspond pas, impossible de continuer !",
|
"openIdStateError": "L’état ne correspond pas, impossible de continuer !",
|
||||||
"openIdGeneralError": "Une erreur s'est produite lors de l'authentification contre un tiers.",
|
"openIdGeneralError": "Une erreur s'est produite lors de l'authentification contre un tiers.",
|
||||||
"logout": "Se déconnecter",
|
"logout": "Se déconnecter",
|
||||||
"emailInvalid": "Please enter a valid email address.",
|
"emailInvalid": "Veuillez saisir une adresse courriel valide.",
|
||||||
"usernameRequired": "Please provide a username.",
|
"usernameRequired": "Veuillez saisir un nom d'utilisateur.",
|
||||||
"passwordRequired": "Please provide a password.",
|
"passwordRequired": "Veuillez fournir un mot de passe.",
|
||||||
"showPassword": "Show the password",
|
"showPassword": "Afficher le mot de passe",
|
||||||
"hidePassword": "Hide the password",
|
"hidePassword": "Masquer le mot de passe",
|
||||||
"noAccountYet": "Don't have an account yet?",
|
"noAccountYet": "Vous n'avez pas encore de compte ?",
|
||||||
"alreadyHaveAnAccount": "Already have an account?",
|
"alreadyHaveAnAccount": "Vous avez déjà un compte ?",
|
||||||
"remember": "Stay logged in"
|
"remember": "Rester connecté(e)"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "Paramètres",
|
"title": "Paramètres",
|
||||||
|
@ -68,7 +68,7 @@
|
||||||
"currentPasswordPlaceholder": "Ton mot de passe actuel",
|
"currentPasswordPlaceholder": "Ton mot de passe actuel",
|
||||||
"passwordsDontMatch": "Le nouveau mot de passe et sa confirmation ne correspondent pas.",
|
"passwordsDontMatch": "Le nouveau mot de passe et sa confirmation ne correspondent pas.",
|
||||||
"passwordUpdateSuccess": "Mot de passe mis à jour.",
|
"passwordUpdateSuccess": "Mot de passe mis à jour.",
|
||||||
"updateEmailTitle": "Update Your Email Address",
|
"updateEmailTitle": "Mettre à jour votre adresse courriel",
|
||||||
"updateEmailNew": "Nouvelle adresse courriel",
|
"updateEmailNew": "Nouvelle adresse courriel",
|
||||||
"updateEmailSuccess": "Mise à jour de l’adresse électronique. Clique sur le lien dans le courriel qui t’a été envoyé pour le confirmer.",
|
"updateEmailSuccess": "Mise à jour de l’adresse électronique. Clique sur le lien dans le courriel qui t’a été envoyé pour le confirmer.",
|
||||||
"general": {
|
"general": {
|
||||||
|
@ -86,7 +86,7 @@
|
||||||
"weekStartMonday": "lundi",
|
"weekStartMonday": "lundi",
|
||||||
"language": "Langue",
|
"language": "Langue",
|
||||||
"defaultList": "Liste par défaut",
|
"defaultList": "Liste par défaut",
|
||||||
"timezone": "Time Zone"
|
"timezone": "Fuseau horaire"
|
||||||
},
|
},
|
||||||
"totp": {
|
"totp": {
|
||||||
"title": "Authentification à deux facteurs",
|
"title": "Authentification à deux facteurs",
|
||||||
|
@ -165,7 +165,7 @@
|
||||||
"searchSelect": "Clique ou appuie sur la touche Entrée pour sélectionner cette liste",
|
"searchSelect": "Clique ou appuie sur la touche Entrée pour sélectionner cette liste",
|
||||||
"shared": "Listes partagées",
|
"shared": "Listes partagées",
|
||||||
"create": {
|
"create": {
|
||||||
"header": "New list",
|
"header": "Nouvelle liste",
|
||||||
"titlePlaceholder": "Entre le nom de la liste…",
|
"titlePlaceholder": "Entre le nom de la liste…",
|
||||||
"addTitleRequired": "Indique un nom.",
|
"addTitleRequired": "Indique un nom.",
|
||||||
"createdSuccess": "Liste créée.",
|
"createdSuccess": "Liste créée.",
|
||||||
|
@ -323,7 +323,7 @@
|
||||||
"namespaces": "Espaces de noms",
|
"namespaces": "Espaces de noms",
|
||||||
"search": "Écris pour rechercher un espace de noms…",
|
"search": "Écris pour rechercher un espace de noms…",
|
||||||
"create": {
|
"create": {
|
||||||
"title": "New namespace",
|
"title": "Nouvel espace de noms",
|
||||||
"titleRequired": "Indique un nom.",
|
"titleRequired": "Indique un nom.",
|
||||||
"explanation": "Des collections de listes pour partager et organiser vos listes. En fait, chaque liste appartient à un espace de noms.",
|
"explanation": "Des collections de listes pour partager et organiser vos listes. En fait, chaque liste appartient à un espace de noms.",
|
||||||
"tooltip": "Qu’est-ce qu’un espace de noms ?",
|
"tooltip": "Qu’est-ce qu’un espace de noms ?",
|
||||||
|
@ -335,7 +335,7 @@
|
||||||
"archiveText": "Tu ne pourras pas modifier cet espace de noms ou créer de nouvelles listes tant que tu ne l’auras pas désarchivé. Ceci archivera également toutes les listes de cet espace de noms.",
|
"archiveText": "Tu ne pourras pas modifier cet espace de noms ou créer de nouvelles listes tant que tu ne l’auras pas désarchivé. Ceci archivera également toutes les listes de cet espace de noms.",
|
||||||
"unarchiveText": "Tu pourras créer de nouvelles listes ou les modifier.",
|
"unarchiveText": "Tu pourras créer de nouvelles listes ou les modifier.",
|
||||||
"success": "Espace de noms archivé.",
|
"success": "Espace de noms archivé.",
|
||||||
"unarchiveSuccess": "The namespace was successfully un-archived.",
|
"unarchiveSuccess": "Espace de noms archivé.",
|
||||||
"description": "L’archivage d’un espace de noms signifie qu’on ne peut pas créer de nouvelles listes dans cet espace, ni le modifier."
|
"description": "L’archivage d’un espace de noms signifie qu’on ne peut pas créer de nouvelles listes dans cet espace, ni le modifier."
|
||||||
},
|
},
|
||||||
"delete": {
|
"delete": {
|
||||||
|
@ -383,7 +383,7 @@
|
||||||
"includeNulls": "Inclure les tâches sans valeurs",
|
"includeNulls": "Inclure les tâches sans valeurs",
|
||||||
"requireAll": "Exiger tous les filtres pour qu’une tâche s’affiche",
|
"requireAll": "Exiger tous les filtres pour qu’une tâche s’affiche",
|
||||||
"showDoneTasks": "Afficher les tâches terminées",
|
"showDoneTasks": "Afficher les tâches terminées",
|
||||||
"sortAlphabetically": "Sort Alphabetically",
|
"sortAlphabetically": "Trier par ordre alphabétique",
|
||||||
"enablePriority": "Activer le filtre par priorité",
|
"enablePriority": "Activer le filtre par priorité",
|
||||||
"enablePercentDone": "Enable Filter By Progress",
|
"enablePercentDone": "Enable Filter By Progress",
|
||||||
"dueDateRange": "Plage de dates d’échéance",
|
"dueDateRange": "Plage de dates d’échéance",
|
||||||
|
@ -392,7 +392,7 @@
|
||||||
"reminderRange": "Plage de dates de rappel"
|
"reminderRange": "Plage de dates de rappel"
|
||||||
},
|
},
|
||||||
"create": {
|
"create": {
|
||||||
"title": "New Saved Filter",
|
"title": "Nouveau filtre enregistré",
|
||||||
"description": "Un filtre enregistré est une liste virtuelle qui est calculée à partir d’un ensemble de filtres à chaque fois qu’on y accède. Une fois créé, il apparaît dans un espace de noms spécial.",
|
"description": "Un filtre enregistré est une liste virtuelle qui est calculée à partir d’un ensemble de filtres à chaque fois qu’on y accède. Une fois créé, il apparaît dans un espace de noms spécial.",
|
||||||
"action": "Créer un nouveau filtre enregistré"
|
"action": "Créer un nouveau filtre enregistré"
|
||||||
},
|
},
|
||||||
|
@ -485,7 +485,7 @@
|
||||||
"showMenu": "Afficher le menu",
|
"showMenu": "Afficher le menu",
|
||||||
"hideMenu": "Masquer le menu",
|
"hideMenu": "Masquer le menu",
|
||||||
"forExample": "Par exemple :",
|
"forExample": "Par exemple :",
|
||||||
"welcomeBack": "Welcome Back!"
|
"welcomeBack": "Heureux de vous revoir !"
|
||||||
},
|
},
|
||||||
"input": {
|
"input": {
|
||||||
"resetColor": "Réinitialiser la couleur",
|
"resetColor": "Réinitialiser la couleur",
|
||||||
|
@ -554,7 +554,7 @@
|
||||||
"chooseStartDate": "Clique ici pour fixer une date de début",
|
"chooseStartDate": "Clique ici pour fixer une date de début",
|
||||||
"chooseEndDate": "Clique ici pour fixer une date de fin",
|
"chooseEndDate": "Clique ici pour fixer une date de fin",
|
||||||
"move": "Déplacer une tâche vers une autre liste",
|
"move": "Déplacer une tâche vers une autre liste",
|
||||||
"done": "Mark task done!",
|
"done": "Marquer la tâche comme terminée !",
|
||||||
"undone": "Marquer comme inachevé",
|
"undone": "Marquer comme inachevé",
|
||||||
"created": "Créé {0} par {1}",
|
"created": "Créé {0} par {1}",
|
||||||
"updated": "Mis à jour {0}",
|
"updated": "Mis à jour {0}",
|
||||||
|
@ -570,22 +570,22 @@
|
||||||
"text2": "Ceci supprimera également toutes les pièces jointes, les rappels et les relations associés à cette tâche et ne pourra pas être annulé !"
|
"text2": "Ceci supprimera également toutes les pièces jointes, les rappels et les relations associés à cette tâche et ne pourra pas être annulé !"
|
||||||
},
|
},
|
||||||
"actions": {
|
"actions": {
|
||||||
"assign": "Attribuer à un utilisateur",
|
"assign": "Assign to User",
|
||||||
"label": "Ajouter des étiquettes",
|
"label": "Add Labels",
|
||||||
"priority": "Définir la priorité",
|
"priority": "Définir la priorité",
|
||||||
"dueDate": "Définir l’échéance",
|
"dueDate": "Définir l’échéance",
|
||||||
"startDate": "Définir une date de début",
|
"startDate": "Set Start Date",
|
||||||
"endDate": "Fixer une date de fin",
|
"endDate": "Set End Date",
|
||||||
"reminders": "Définir des rappels",
|
"reminders": "Définir des rappels",
|
||||||
"repeatAfter": "Définir un intervalle de répétition",
|
"repeatAfter": "Set Repeating Interval",
|
||||||
"percentDone": "Set Progress",
|
"percentDone": "Set Progress",
|
||||||
"attachments": "Ajouter des pièces jointes",
|
"attachments": "Add Attachments",
|
||||||
"relatedTasks": "Ajouter des relations de tâches",
|
"relatedTasks": "Add Relation",
|
||||||
"moveList": "Déplacer la tâche",
|
"moveList": "Move",
|
||||||
"color": "Définir la couleur de la tâche",
|
"color": "Set Color",
|
||||||
"delete": "Supprimer la tâche",
|
"delete": "Delete",
|
||||||
"favorite": "Enregistrer comme favori",
|
"favorite": "Add to Favorites",
|
||||||
"unfavorite": "Retirer des favoris"
|
"unfavorite": "Remove from Favorites"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"attributes": {
|
"attributes": {
|
||||||
|
@ -790,7 +790,7 @@
|
||||||
"then": "puis",
|
"then": "puis",
|
||||||
"task": {
|
"task": {
|
||||||
"title": "Page de tâche",
|
"title": "Page de tâche",
|
||||||
"done": "Done",
|
"done": "Terminé",
|
||||||
"assign": "Attribuer à un utilisateur",
|
"assign": "Attribuer à un utilisateur",
|
||||||
"labels": "Ajouter des étiquettes à cette tâche",
|
"labels": "Ajouter des étiquettes à cette tâche",
|
||||||
"dueDate": "Modifier la date d’échéance de cette tâche",
|
"dueDate": "Modifier la date d’échéance de cette tâche",
|
||||||
|
@ -823,7 +823,7 @@
|
||||||
"url": "URL Vikunja",
|
"url": "URL Vikunja",
|
||||||
"urlPlaceholder": "Par exemple : https://localhost:3456",
|
"urlPlaceholder": "Par exemple : https://localhost:3456",
|
||||||
"change": "changer",
|
"change": "changer",
|
||||||
"use": "Using Vikunja installation at {0}",
|
"use": "Utiliser l’installation de Vikunja à {0}",
|
||||||
"error": "Impossible de trouver ou d'utiliser l'installation de Vikunja sur « {domain} ». Veuillez essayer une autre URL.",
|
"error": "Impossible de trouver ou d'utiliser l'installation de Vikunja sur « {domain} ». Veuillez essayer une autre URL.",
|
||||||
"success": "Utilisation de l’installation Vikunja à « {domain} ».",
|
"success": "Utilisation de l’installation Vikunja à « {domain} ».",
|
||||||
"urlRequired": "Une URL est requise."
|
"urlRequired": "Une URL est requise."
|
||||||
|
@ -908,7 +908,7 @@
|
||||||
"4015": "Le commentaire de la tâche n’existe pas.",
|
"4015": "Le commentaire de la tâche n’existe pas.",
|
||||||
"4016": "Champ de tâche invalide.",
|
"4016": "Champ de tâche invalide.",
|
||||||
"4017": "Comparateur de filtre de tâche invalide.",
|
"4017": "Comparateur de filtre de tâche invalide.",
|
||||||
"4018": "Invalid task filter concatenator.",
|
"4018": "Concaténateur de filtre de tâche invalide.",
|
||||||
"4019": "Valeur de filtre de tâche invalide.",
|
"4019": "Valeur de filtre de tâche invalide.",
|
||||||
"5001": "L’espace de noms n’existe pas.",
|
"5001": "L’espace de noms n’existe pas.",
|
||||||
"5003": "Tu n’as pas accès à l’espace de noms indiqué.",
|
"5003": "Tu n’as pas accès à l’espace de noms indiqué.",
|
||||||
|
|
|
@ -570,22 +570,22 @@
|
||||||
"text2": "Questo rimuoverà anche tutti gli allegati, i promemoria e le relazioni associati a questa attività e non può essere ripristinato!"
|
"text2": "Questo rimuoverà anche tutti gli allegati, i promemoria e le relazioni associati a questa attività e non può essere ripristinato!"
|
||||||
},
|
},
|
||||||
"actions": {
|
"actions": {
|
||||||
"assign": "Assegna ad un utente",
|
"assign": "Assegna all'Utente",
|
||||||
"label": "Aggiungi etichette",
|
"label": "Aggiungi Etichette",
|
||||||
"priority": "Imposta Priorità",
|
"priority": "Imposta Priorità",
|
||||||
"dueDate": "Imposta data di scadenza",
|
"dueDate": "Imposta data di scadenza",
|
||||||
"startDate": "Imposta una data di inizio",
|
"startDate": "Imposta Data Inizio",
|
||||||
"endDate": "Imposta una data di fine",
|
"endDate": "Imposta Data Fine",
|
||||||
"reminders": "Imposta promemoria",
|
"reminders": "Imposta promemoria",
|
||||||
"repeatAfter": "Imposta ricorrenza",
|
"repeatAfter": "Imposta Intervallo Ripetizione",
|
||||||
"percentDone": "Imposta Progresso",
|
"percentDone": "Imposta Progresso",
|
||||||
"attachments": "Aggiungi allegati",
|
"attachments": "Aggiungi Allegati",
|
||||||
"relatedTasks": "Aggiungi attività collegate",
|
"relatedTasks": "Aggiungi Relazione",
|
||||||
"moveList": "Sposta attività",
|
"moveList": "Sposta",
|
||||||
"color": "Imposta colore attività",
|
"color": "Imposta Colore",
|
||||||
"delete": "Elimina attività",
|
"delete": "Elimina",
|
||||||
"favorite": "Salva come preferito",
|
"favorite": "Aggiungi ai Preferiti",
|
||||||
"unfavorite": "Rimuovi dai preferiti"
|
"unfavorite": "Rimuovi dai Preferiti"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"attributes": {
|
"attributes": {
|
||||||
|
|
|
@ -91,15 +91,15 @@
|
||||||
"totp": {
|
"totp": {
|
||||||
"title": "Twee-factor-authenticatie",
|
"title": "Twee-factor-authenticatie",
|
||||||
"enroll": "Activeren",
|
"enroll": "Activeren",
|
||||||
"finishSetupPart1": "To finish your setup, use this secret in your totp app (Google Authenticator or similar):",
|
"finishSetupPart1": "Gebruik dit geheim in je TOTP app (Google Authenticator of vergelijkbaar), om de installatie te voltooien:",
|
||||||
"finishSetupPart2": "After that, enter a code from your app below.",
|
"finishSetupPart2": "Daarna voert u hieronder een code van je app in.",
|
||||||
"scanQR": "Als alternatief kan je ook deze QR code scannen:",
|
"scanQR": "Als alternatief kan je ook deze QR code scannen:",
|
||||||
"passcode": "Je toegangscode",
|
"passcode": "Je toegangscode",
|
||||||
"passcodePlaceholder": "A code generated by your totp application",
|
"passcodePlaceholder": "Een code gegenereerd door uw TOTP app",
|
||||||
"setupSuccess": "Je hebt met succes tweestapsverificatie ingesteld!",
|
"setupSuccess": "Je hebt met succes tweestapsverificatie ingesteld!",
|
||||||
"enterPassword": "Voer alsjeblieft je wachtwoord in",
|
"enterPassword": "Voer alsjeblieft je wachtwoord in",
|
||||||
"disable": "Tweestapsverificatie uitschakelen",
|
"disable": "Tweestapsverificatie uitschakelen",
|
||||||
"confirmSuccess": "You've successfully confirmed your totp setup and can use it from now on!",
|
"confirmSuccess": "Je hebt met succes je TOTP setup bevestigd en kan het van nu af aan gebruiken!",
|
||||||
"disableSuccess": "Authenticatie in twee stappen is succesvol uitgeschakeld."
|
"disableSuccess": "Authenticatie in twee stappen is succesvol uitgeschakeld."
|
||||||
},
|
},
|
||||||
"caldav": {
|
"caldav": {
|
||||||
|
@ -118,7 +118,7 @@
|
||||||
"setSuccess": "De avatar is succesvol ingesteld!"
|
"setSuccess": "De avatar is succesvol ingesteld!"
|
||||||
},
|
},
|
||||||
"quickAddMagic": {
|
"quickAddMagic": {
|
||||||
"title": "Quick Add Magic Mode",
|
"title": "Magische Modus Snel Toevoegen",
|
||||||
"disabled": "Uitgeschakeld",
|
"disabled": "Uitgeschakeld",
|
||||||
"todoist": "Todoist",
|
"todoist": "Todoist",
|
||||||
"vikunja": "Vikunja"
|
"vikunja": "Vikunja"
|
||||||
|
@ -136,7 +136,7 @@
|
||||||
"deletion": {
|
"deletion": {
|
||||||
"title": "Verwijder je Vikunja account",
|
"title": "Verwijder je Vikunja account",
|
||||||
"text1": "Het verwijderen van je account is permanent en kan niet ongedaan worden gemaakt. We zullen al je namespaces, lijsten, taken en alles wat ermee verbonden is verwijderen.",
|
"text1": "Het verwijderen van je account is permanent en kan niet ongedaan worden gemaakt. We zullen al je namespaces, lijsten, taken en alles wat ermee verbonden is verwijderen.",
|
||||||
"text2": "To proceed, please enter your password. You will receive an email with further instructions.",
|
"text2": "Graag je wachtwoord invullen om verder te gaan. Je zult een e-mail ontvangen met verdere instructies.",
|
||||||
"confirm": "Verwijder mijn account",
|
"confirm": "Verwijder mijn account",
|
||||||
"requestSuccess": "Het verzoek was succesvol. Je ontvangt een e-mail met verdere instructies.",
|
"requestSuccess": "Het verzoek was succesvol. Je ontvangt een e-mail met verdere instructies.",
|
||||||
"passwordRequired": "Voer alsjeblieft je wachtwoord in.",
|
"passwordRequired": "Voer alsjeblieft je wachtwoord in.",
|
||||||
|
@ -500,7 +500,7 @@
|
||||||
},
|
},
|
||||||
"editor": {
|
"editor": {
|
||||||
"edit": "Bewerken",
|
"edit": "Bewerken",
|
||||||
"done": "Gereed",
|
"done": "Voltooid",
|
||||||
"heading1": "Kop 1",
|
"heading1": "Kop 1",
|
||||||
"heading2": "Kop 2",
|
"heading2": "Kop 2",
|
||||||
"heading3": "Kop 3",
|
"heading3": "Kop 3",
|
||||||
|
@ -555,7 +555,7 @@
|
||||||
"chooseEndDate": "Klik hier om een einddatum in te stellen",
|
"chooseEndDate": "Klik hier om een einddatum in te stellen",
|
||||||
"move": "Verplaats taak naar een andere lijst",
|
"move": "Verplaats taak naar een andere lijst",
|
||||||
"done": "Mark task done!",
|
"done": "Mark task done!",
|
||||||
"undone": "Markeer als niet gereed",
|
"undone": "Markeer als niet voltooid",
|
||||||
"created": "Created {0} by {1}",
|
"created": "Created {0} by {1}",
|
||||||
"updated": "Updated {0}",
|
"updated": "Updated {0}",
|
||||||
"doneAt": "Done {0}",
|
"doneAt": "Done {0}",
|
||||||
|
@ -570,22 +570,22 @@
|
||||||
"text2": "This will also remove all attachments, reminders and relations associated with this task and cannot be undone!"
|
"text2": "This will also remove all attachments, reminders and relations associated with this task and cannot be undone!"
|
||||||
},
|
},
|
||||||
"actions": {
|
"actions": {
|
||||||
"assign": "Toewijzen aan een gebruiker",
|
"assign": "Assign to User",
|
||||||
"label": "Labels toevoegen",
|
"label": "Add Labels",
|
||||||
"priority": "Prioriteit instellen",
|
"priority": "Prioriteit instellen",
|
||||||
"dueDate": "Vervaldatum instellen",
|
"dueDate": "Vervaldatum instellen",
|
||||||
"startDate": "Startdatum instellen",
|
"startDate": "Set Start Date",
|
||||||
"endDate": "Einddatum instellen",
|
"endDate": "Set End Date",
|
||||||
"reminders": "Herinneringen instellen",
|
"reminders": "Herinneringen instellen",
|
||||||
"repeatAfter": "Herhalingsinterval instellen",
|
"repeatAfter": "Set Repeating Interval",
|
||||||
"percentDone": "Set Progress",
|
"percentDone": "Set Progress",
|
||||||
"attachments": "Bijlage toevoegen",
|
"attachments": "Add Attachments",
|
||||||
"relatedTasks": "Taakrelaties toevoegen",
|
"relatedTasks": "Add Relation",
|
||||||
"moveList": "Taak verplaatsen",
|
"moveList": "Move",
|
||||||
"color": "Taakkleur instellen",
|
"color": "Set Color",
|
||||||
"delete": "Taak verwijderen",
|
"delete": "Verwijder",
|
||||||
"favorite": "Opslaan als favoriet",
|
"favorite": "Toevoegen aan favorieten",
|
||||||
"unfavorite": "Verwijderen uit favorieten"
|
"unfavorite": "Verwijder uit favorieten"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"attributes": {
|
"attributes": {
|
||||||
|
@ -594,7 +594,7 @@
|
||||||
"created": "Aangemaakt op",
|
"created": "Aangemaakt op",
|
||||||
"createdBy": "Aangemaakt door",
|
"createdBy": "Aangemaakt door",
|
||||||
"description": "Beschrijving",
|
"description": "Beschrijving",
|
||||||
"done": "Gereed",
|
"done": "Voltooid",
|
||||||
"dueDate": "Due Date",
|
"dueDate": "Due Date",
|
||||||
"endDate": "End Date",
|
"endDate": "End Date",
|
||||||
"labels": "Labels",
|
"labels": "Labels",
|
||||||
|
|
|
@ -580,11 +580,11 @@
|
||||||
"repeatAfter": "Ustaw interwał powtarzania",
|
"repeatAfter": "Ustaw interwał powtarzania",
|
||||||
"percentDone": "Ustaw postęp",
|
"percentDone": "Ustaw postęp",
|
||||||
"attachments": "Dodaj załączniki",
|
"attachments": "Dodaj załączniki",
|
||||||
"relatedTasks": "Dodaj powiązane zadania",
|
"relatedTasks": "Dodaj powiązanie",
|
||||||
"moveList": "Przenieś zadanie",
|
"moveList": "Przenieś",
|
||||||
"color": "Ustaw kolor zadania",
|
"color": "Ustaw kolor",
|
||||||
"delete": "Usuń zadanie",
|
"delete": "Usuń",
|
||||||
"favorite": "Zapisz jako ulubione",
|
"favorite": "Dodaj do ulubionych",
|
||||||
"unfavorite": "Usuń z ulubionych"
|
"unfavorite": "Usuń z ulubionych"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -570,22 +570,22 @@
|
||||||
"text2": "This will also remove all attachments, reminders and relations associated with this task and cannot be undone!"
|
"text2": "This will also remove all attachments, reminders and relations associated with this task and cannot be undone!"
|
||||||
},
|
},
|
||||||
"actions": {
|
"actions": {
|
||||||
"assign": "Assign to a user",
|
"assign": "Assign to User",
|
||||||
"label": "Add labels",
|
"label": "Add Labels",
|
||||||
"priority": "Set Priority",
|
"priority": "Set Priority",
|
||||||
"dueDate": "Set Due Date",
|
"dueDate": "Set Due Date",
|
||||||
"startDate": "Set a Start Date",
|
"startDate": "Set Start Date",
|
||||||
"endDate": "Set an End Date",
|
"endDate": "Set End Date",
|
||||||
"reminders": "Set Reminders",
|
"reminders": "Set Reminders",
|
||||||
"repeatAfter": "Set a repeating interval",
|
"repeatAfter": "Set Repeating Interval",
|
||||||
"percentDone": "Set Progress",
|
"percentDone": "Set Progress",
|
||||||
"attachments": "Add attachments",
|
"attachments": "Add Attachments",
|
||||||
"relatedTasks": "Add task relations",
|
"relatedTasks": "Add Relation",
|
||||||
"moveList": "Move task",
|
"moveList": "Move",
|
||||||
"color": "Set task color",
|
"color": "Set Color",
|
||||||
"delete": "Delete task",
|
"delete": "Delete",
|
||||||
"favorite": "Save as favorite",
|
"favorite": "Add to Favorites",
|
||||||
"unfavorite": "Remove from favorites"
|
"unfavorite": "Remove from Favorites"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"attributes": {
|
"attributes": {
|
||||||
|
|
|
@ -570,22 +570,22 @@
|
||||||
"text2": "Isto vai também eliminar todos os anexos, lembretes e relações associadas a esta tarefa, e não pode ser revertido!"
|
"text2": "Isto vai também eliminar todos os anexos, lembretes e relações associadas a esta tarefa, e não pode ser revertido!"
|
||||||
},
|
},
|
||||||
"actions": {
|
"actions": {
|
||||||
"assign": "Atribuir a um utilizador",
|
"assign": "Atribuir a Utilizador",
|
||||||
"label": "Adicionar etiquetas",
|
"label": "Adicionar Etiquetas",
|
||||||
"priority": "Definir Prioridade",
|
"priority": "Definir Prioridade",
|
||||||
"dueDate": "Definir Data de Vencimento",
|
"dueDate": "Definir Data de Vencimento",
|
||||||
"startDate": "Definir Data de Início",
|
"startDate": "Definir Data de Início",
|
||||||
"endDate": "Definir Data de Fim",
|
"endDate": "Definir Data de Fim",
|
||||||
"reminders": "Definir Lembretes",
|
"reminders": "Definir Lembretes",
|
||||||
"repeatAfter": "Definir um intervalo recorrente",
|
"repeatAfter": "Definir Intervalo Recorrente",
|
||||||
"percentDone": "Definir Progresso",
|
"percentDone": "Definir Progresso",
|
||||||
"attachments": "Adicionar Anexos",
|
"attachments": "Adicionar Anexos",
|
||||||
"relatedTasks": "Adicionar relações entre tarefas",
|
"relatedTasks": "Adicionar Relação",
|
||||||
"moveList": "Mover tarefa",
|
"moveList": "Mover",
|
||||||
"color": "Definir cor da tarefa",
|
"color": "Definir Cor",
|
||||||
"delete": "Eliminar tarefa",
|
"delete": "Eliminar",
|
||||||
"favorite": "Marcar como favorito",
|
"favorite": "Adicionar aos Favoritos",
|
||||||
"unfavorite": "Remover dos favoritos"
|
"unfavorite": "Remover dos Favoritos"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"attributes": {
|
"attributes": {
|
||||||
|
|
|
@ -570,22 +570,22 @@
|
||||||
"text2": "This will also remove all attachments, reminders and relations associated with this task and cannot be undone!"
|
"text2": "This will also remove all attachments, reminders and relations associated with this task and cannot be undone!"
|
||||||
},
|
},
|
||||||
"actions": {
|
"actions": {
|
||||||
"assign": "Assign to a user",
|
"assign": "Assign to User",
|
||||||
"label": "Add labels",
|
"label": "Add Labels",
|
||||||
"priority": "Set Priority",
|
"priority": "Set Priority",
|
||||||
"dueDate": "Set Due Date",
|
"dueDate": "Set Due Date",
|
||||||
"startDate": "Set a Start Date",
|
"startDate": "Set Start Date",
|
||||||
"endDate": "Set an End Date",
|
"endDate": "Set End Date",
|
||||||
"reminders": "Set Reminders",
|
"reminders": "Set Reminders",
|
||||||
"repeatAfter": "Set a repeating interval",
|
"repeatAfter": "Set Repeating Interval",
|
||||||
"percentDone": "Set Progress",
|
"percentDone": "Set Progress",
|
||||||
"attachments": "Add attachments",
|
"attachments": "Add Attachments",
|
||||||
"relatedTasks": "Add task relations",
|
"relatedTasks": "Add Relation",
|
||||||
"moveList": "Move task",
|
"moveList": "Move",
|
||||||
"color": "Set task color",
|
"color": "Set Color",
|
||||||
"delete": "Delete task",
|
"delete": "Delete",
|
||||||
"favorite": "Save as favorite",
|
"favorite": "Add to Favorites",
|
||||||
"unfavorite": "Remove from favorites"
|
"unfavorite": "Remove from Favorites"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"attributes": {
|
"attributes": {
|
||||||
|
|
|
@ -570,22 +570,22 @@
|
||||||
"text2": "Будут удалены все вложения, напоминания и отношения, связанные с этой задачей, и отменить это будет нельзя!"
|
"text2": "Будут удалены все вложения, напоминания и отношения, связанные с этой задачей, и отменить это будет нельзя!"
|
||||||
},
|
},
|
||||||
"actions": {
|
"actions": {
|
||||||
"assign": "Assign to a user",
|
"assign": "Assign to User",
|
||||||
"label": "Добавить метки",
|
"label": "Add Labels",
|
||||||
"priority": "Установить приоритет",
|
"priority": "Установить приоритет",
|
||||||
"dueDate": "Установить срок",
|
"dueDate": "Установить срок",
|
||||||
"startDate": "Установить дату начала",
|
"startDate": "Set Start Date",
|
||||||
"endDate": "Установить дату завершения",
|
"endDate": "Set End Date",
|
||||||
"reminders": "Установить напоминания",
|
"reminders": "Установить напоминания",
|
||||||
"repeatAfter": "Установить интервал повтора",
|
"repeatAfter": "Set Repeating Interval",
|
||||||
"percentDone": "Set Progress",
|
"percentDone": "Set Progress",
|
||||||
"attachments": "Добавить вложения",
|
"attachments": "Add Attachments",
|
||||||
"relatedTasks": "Добавить связанные задачи",
|
"relatedTasks": "Add Relation",
|
||||||
"moveList": "Переместить задачу",
|
"moveList": "Move",
|
||||||
"color": "Установить цвет задачи",
|
"color": "Set Color",
|
||||||
"delete": "Удалить задачу",
|
"delete": "Delete",
|
||||||
"favorite": "Сохранить как ибзранное",
|
"favorite": "Add to Favorites",
|
||||||
"unfavorite": "Убрать из избранного"
|
"unfavorite": "Remove from Favorites"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"attributes": {
|
"attributes": {
|
||||||
|
|
|
@ -570,22 +570,22 @@
|
||||||
"text2": "This will also remove all attachments, reminders and relations associated with this task and cannot be undone!"
|
"text2": "This will also remove all attachments, reminders and relations associated with this task and cannot be undone!"
|
||||||
},
|
},
|
||||||
"actions": {
|
"actions": {
|
||||||
"assign": "Assign to a user",
|
"assign": "Assign to User",
|
||||||
"label": "Add labels",
|
"label": "Add Labels",
|
||||||
"priority": "Set Priority",
|
"priority": "Set Priority",
|
||||||
"dueDate": "Set Due Date",
|
"dueDate": "Set Due Date",
|
||||||
"startDate": "Set a Start Date",
|
"startDate": "Set Start Date",
|
||||||
"endDate": "Set an End Date",
|
"endDate": "Set End Date",
|
||||||
"reminders": "Set Reminders",
|
"reminders": "Set Reminders",
|
||||||
"repeatAfter": "Set a repeating interval",
|
"repeatAfter": "Set Repeating Interval",
|
||||||
"percentDone": "Set Progress",
|
"percentDone": "Set Progress",
|
||||||
"attachments": "Add attachments",
|
"attachments": "Add Attachments",
|
||||||
"relatedTasks": "Add task relations",
|
"relatedTasks": "Add Relation",
|
||||||
"moveList": "Move task",
|
"moveList": "Move",
|
||||||
"color": "Set task color",
|
"color": "Set Color",
|
||||||
"delete": "Delete task",
|
"delete": "Delete",
|
||||||
"favorite": "Save as favorite",
|
"favorite": "Add to Favorites",
|
||||||
"unfavorite": "Remove from favorites"
|
"unfavorite": "Remove from Favorites"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"attributes": {
|
"attributes": {
|
||||||
|
|
|
@ -570,22 +570,22 @@
|
||||||
"text2": "This will also remove all attachments, reminders and relations associated with this task and cannot be undone!"
|
"text2": "This will also remove all attachments, reminders and relations associated with this task and cannot be undone!"
|
||||||
},
|
},
|
||||||
"actions": {
|
"actions": {
|
||||||
"assign": "Assign to a user",
|
"assign": "Assign to User",
|
||||||
"label": "Add labels",
|
"label": "Add Labels",
|
||||||
"priority": "Set Priority",
|
"priority": "Set Priority",
|
||||||
"dueDate": "Set Due Date",
|
"dueDate": "Set Due Date",
|
||||||
"startDate": "Set a Start Date",
|
"startDate": "Set Start Date",
|
||||||
"endDate": "Set an End Date",
|
"endDate": "Set End Date",
|
||||||
"reminders": "Set Reminders",
|
"reminders": "Set Reminders",
|
||||||
"repeatAfter": "Set a repeating interval",
|
"repeatAfter": "Set Repeating Interval",
|
||||||
"percentDone": "Set Progress",
|
"percentDone": "Set Progress",
|
||||||
"attachments": "Add attachments",
|
"attachments": "Add Attachments",
|
||||||
"relatedTasks": "Add task relations",
|
"relatedTasks": "Add Relation",
|
||||||
"moveList": "Move task",
|
"moveList": "Move",
|
||||||
"color": "Set task color",
|
"color": "Set Color",
|
||||||
"delete": "Delete task",
|
"delete": "Delete",
|
||||||
"favorite": "Save as favorite",
|
"favorite": "Add to Favorites",
|
||||||
"unfavorite": "Remove from favorites"
|
"unfavorite": "Remove from Favorites"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"attributes": {
|
"attributes": {
|
||||||
|
|
|
@ -570,22 +570,22 @@
|
||||||
"text2": "Thao tác này cũng sẽ xóa tất cả tệp đính kèm, lời nhắc và liên kết đến công việc này. Nó không thể hoàn tác!"
|
"text2": "Thao tác này cũng sẽ xóa tất cả tệp đính kèm, lời nhắc và liên kết đến công việc này. Nó không thể hoàn tác!"
|
||||||
},
|
},
|
||||||
"actions": {
|
"actions": {
|
||||||
"assign": "Chỉ định một người",
|
"assign": "Assign to User",
|
||||||
"label": "Thêm nhãn",
|
"label": "Add Labels",
|
||||||
"priority": "Mức độ ưu tiên",
|
"priority": "Mức độ ưu tiên",
|
||||||
"dueDate": "Đặt ngày đến hạn",
|
"dueDate": "Đặt ngày đến hạn",
|
||||||
"startDate": "Chọn ngày bắt đầu",
|
"startDate": "Set Start Date",
|
||||||
"endDate": "Chọn ngày kết thúc",
|
"endDate": "Set End Date",
|
||||||
"reminders": "Thiết lập nhắc nhở",
|
"reminders": "Thiết lập nhắc nhở",
|
||||||
"repeatAfter": "Đặt khoảng lặp lại",
|
"repeatAfter": "Set Repeating Interval",
|
||||||
"percentDone": "Set Progress",
|
"percentDone": "Set Progress",
|
||||||
"attachments": "Đính kèm tệp",
|
"attachments": "Add Attachments",
|
||||||
"relatedTasks": "Thêm liên kết công việc",
|
"relatedTasks": "Add Relation",
|
||||||
"moveList": "Di chuyển công việc",
|
"moveList": "Move",
|
||||||
"color": "Chọn màu",
|
"color": "Set Color",
|
||||||
"delete": "Loại bỏ công việc",
|
"delete": "Delete",
|
||||||
"favorite": "Lưu thành ưa thích",
|
"favorite": "Add to Favorites",
|
||||||
"unfavorite": "Gỡ khỏi ưa thích"
|
"unfavorite": "Remove from Favorites"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"attributes": {
|
"attributes": {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/* eslint-disable no-console */
|
/* eslint-disable no-console */
|
||||||
/* eslint-disable no-undef */
|
/* eslint-disable no-undef */
|
||||||
|
|
||||||
const workboxVersion = 'v6.4.2'
|
const workboxVersion = 'v6.5.0'
|
||||||
importScripts( `/workbox-${workboxVersion}/workbox-sw.js`)
|
importScripts( `/workbox-${workboxVersion}/workbox-sw.js`)
|
||||||
workbox.setConfig({
|
workbox.setConfig({
|
||||||
modulePathPrefix: `/workbox-${workboxVersion}`,
|
modulePathPrefix: `/workbox-${workboxVersion}`,
|
||||||
|
|
|
@ -299,6 +299,7 @@ export default defineComponent({
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// FIXME: Use computed
|
||||||
sortTasks(this.tasks)
|
sortTasks(this.tasks)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -520,6 +520,13 @@ export default {
|
||||||
},
|
},
|
||||||
immediate: true,
|
immediate: true,
|
||||||
},
|
},
|
||||||
|
// Using a watcher here because the header component handles saving the task with the api but we want to decouple
|
||||||
|
// it from the page title.
|
||||||
|
'task.title': {
|
||||||
|
handler(title) {
|
||||||
|
this.setTitle(title)
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
currentList() {
|
currentList() {
|
||||||
|
|
|
@ -181,7 +181,7 @@ export default {
|
||||||
validateField() {
|
validateField() {
|
||||||
// using computed so that debounced function definition stays
|
// using computed so that debounced function definition stays
|
||||||
return useDebounceFn((field) => {
|
return useDebounceFn((field) => {
|
||||||
this[`${field}Valid`] = this.$refs[field].value !== ''
|
this[`${field}Valid`] = this.$refs[field]?.value !== ''
|
||||||
}, 100)
|
}, 100)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in a new issue