Feat add profile photo (#580)

* Add profile photo support

* Add translations

* fixup! Add translations
This commit is contained in:
Chris 2025-11-19 09:00:58 +02:00 committed by GitHub
parent 49d22789e7
commit c3bf5f5522
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
29 changed files with 569 additions and 29 deletions

View file

@ -305,7 +305,17 @@
"name": "الاسم",
"surname": "الكنية",
"enterName": "أدخل اسمك",
"enterSurname": "أدخل كنيتك"
"enterSurname": "أدخل كنيتك",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"productivity": {
"stalledProjects": "المشاريع المتوقفة",
@ -1009,7 +1019,9 @@
"dueDate": "تاريخ الاستحقاق",
"noCriteriaSet": "لم يتم تعيين أي معايير محددة",
"priorityLabel": "الأولوية:",
"dueLabel": "استحقاق:"
"dueLabel": "استحقاق:",
"tags": "علامات",
"recurring": "متكرر"
},
"search": {
"placeholder": "ابحث عن المهام، المشاريع، الملاحظات...",
@ -1041,6 +1053,14 @@
"project": "مشروع",
"area": "منطقة",
"note": "ملاحظة"
},
"thatAre": "، التي هي",
"extras": "إضافات",
"recurringFilter": {
"label": "متكرر",
"recurring": "قوالب متكررة",
"nonRecurring": "غير متكرر",
"instances": "حالات متكررة"
}
}
}

View file

@ -305,7 +305,17 @@
"name": "Име",
"surname": "Фамилия",
"enterName": "Въведете вашето име",
"enterSurname": "Въведете вашата фамилия"
"enterSurname": "Въведете вашата фамилия",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"productivity": {
"stalledProjects": "Забавени проекти",

View file

@ -305,7 +305,17 @@
"name": "Navn",
"surname": "Efternavn",
"enterName": "Indtast dit navn",
"enterSurname": "Indtast dit efternavn"
"enterSurname": "Indtast dit efternavn",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"productivity": {
"stalledProjects": "Stagnerede Projekter",

View file

@ -531,7 +531,17 @@
"name": "Name",
"surname": "Nachname",
"enterName": "Geben Sie Ihren Namen ein",
"enterSurname": "Geben Sie Ihren Nachnamen ein"
"enterSurname": "Geben Sie Ihren Nachnamen ein",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"nextTask": {
"suggestion": "Da nichts in Bearbeitung ist, wie wäre es, mit diesem zu beginnen",

View file

@ -259,7 +259,17 @@
"name": "Όνομα",
"surname": "Επώνυμο",
"enterName": "Εισάγετε το όνομά σας",
"enterSurname": "Εισάγετε το επώνυμό σας"
"enterSurname": "Εισάγετε το επώνυμό σας",
"avatar": "Φωτογραφία προφίλ",
"uploadAvatar": "Ανέβασμα φωτογραφίας",
"removeAvatar": "Αφαίρεση φωτογραφίας",
"avatarDescription": "Ανεβάστε μια φωτογραφία προφίλ (μέγιστο 5MB)",
"avatarUploadError": "Παρακαλώ ανεβάστε ένα αρχείο εικόνας",
"avatarSizeError": "Η εικόνα πρέπει να είναι μικρότερη από 5MB",
"avatarUploadSuccess": "Η φωτογραφία ανέβηκε με επιτυχία!",
"avatarRemoveSuccess": "Η φωτογραφία αφαιρέθηκε με επιτυχία!",
"avatarUploadFailed": "Αποτυχία ανεβάσματος φωτογραφίας",
"avatarRemoveFailed": "Αποτυχία αφαίρεσης φωτογραφίας"
},
"errors": {
"required": "Αυτό το πεδίο είναι υποχρεωτικό",

View file

@ -305,7 +305,17 @@
"aiProductivityFeatures": "AI & Productivity Features",
"botSetup": "Bot Setup",
"passwordChangeNote": "Password changes will be saved when you click \"Save Changes\" at the bottom of the form.",
"passwordChangeOptional": "Leave password fields empty to update other settings without changing your password."
"passwordChangeOptional": "Leave password fields empty to update other settings without changing your password.",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"productivity": {
"stalledProjects": "Stalled Projects",

View file

@ -259,7 +259,17 @@
"name": "Nombre",
"surname": "Apellido",
"enterName": "Introduce tu nombre",
"enterSurname": "Introduce tu apellido"
"enterSurname": "Introduce tu apellido",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"errors": {
"required": "Este campo es obligatorio",

View file

@ -305,7 +305,17 @@
"name": "Nimi",
"surname": "Sukunimi",
"enterName": "Syötä nimesi",
"enterSurname": "Syötä sukunimesi"
"enterSurname": "Syötä sukunimesi",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"productivity": {
"stalledProjects": "Jumiutuneet projektit",

View file

@ -305,7 +305,17 @@
"name": "Nom",
"surname": "Prénom",
"enterName": "Entrez votre nom",
"enterSurname": "Entrez votre prénom"
"enterSurname": "Entrez votre prénom",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"productivity": {
"stalledProjects": "Projets Bloqués",

View file

@ -305,7 +305,17 @@
"name": "Nama",
"surname": "Nama Belakang",
"enterName": "Masukkan nama Anda",
"enterSurname": "Masukkan nama belakang Anda"
"enterSurname": "Masukkan nama belakang Anda",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"productivity": {
"stalledProjects": "Proyek Terhenti",

View file

@ -305,7 +305,17 @@
"name": "Nome",
"surname": "Cognome",
"enterName": "Inserisci il tuo nome",
"enterSurname": "Inserisci il tuo cognome"
"enterSurname": "Inserisci il tuo cognome",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"productivity": {
"stalledProjects": "Progetti Bloccati",

View file

@ -305,7 +305,17 @@
"name": "名前",
"surname": "姓",
"enterName": "名前を入力してください",
"enterSurname": "姓を入力してください"
"enterSurname": "姓を入力してください",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"nextTask": {
"suggestion": "進行中のものがないので、こちらから始めてみませんか",

View file

@ -305,7 +305,17 @@
"name": "이름",
"surname": "성",
"enterName": "이름을 입력하세요",
"enterSurname": "성을 입력하세요"
"enterSurname": "성을 입력하세요",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"productivity": {
"stalledProjects": "정체된 프로젝트",

View file

@ -305,7 +305,17 @@
"name": "Naam",
"surname": "Achternaam",
"enterName": "Voer uw naam in",
"enterSurname": "Voer uw achternaam in"
"enterSurname": "Voer uw achternaam in",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"productivity": {
"stalledProjects": "Stagnerende Projecten",

View file

@ -305,7 +305,17 @@
"name": "Navn",
"surname": "Etternavn",
"enterName": "Skriv inn navnet ditt",
"enterSurname": "Skriv inn etternavnet ditt"
"enterSurname": "Skriv inn etternavnet ditt",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"productivity": {
"stalledProjects": "Stagnerte prosjekter",

View file

@ -305,7 +305,17 @@
"name": "Imię",
"surname": "Nazwisko",
"enterName": "Wprowadź swoje imię",
"enterSurname": "Wprowadź swoje nazwisko"
"enterSurname": "Wprowadź swoje nazwisko",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"productivity": {
"stalledProjects": "Zatrzymane projekty",

View file

@ -305,7 +305,17 @@
"name": "Nome",
"surname": "Sobrenome",
"enterName": "Digite seu nome",
"enterSurname": "Digite seu sobrenome"
"enterSurname": "Digite seu sobrenome",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"productivity": {
"stalledProjects": "Projetos Parados",

View file

@ -305,7 +305,17 @@
"name": "Nume",
"surname": "Prenume",
"enterName": "Introduceți numele dvs.",
"enterSurname": "Introduceți prenumele dvs."
"enterSurname": "Introduceți prenumele dvs.",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"productivity": {
"stalledProjects": "Proiecte Blocate",

View file

@ -305,7 +305,17 @@
"name": "Имя",
"surname": "Фамилия",
"enterName": "Введите ваше имя",
"enterSurname": "Введите вашу фамилию"
"enterSurname": "Введите вашу фамилию",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"productivity": {
"stalledProjects": "Приостановленные проекты",

View file

@ -305,7 +305,17 @@
"name": "Ime",
"surname": "Priimek",
"enterName": "Vnesite svoje ime",
"enterSurname": "Vnesite svoj priimek"
"enterSurname": "Vnesite svoj priimek",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"productivity": {
"stalledProjects": "Zastali projekti",

View file

@ -305,7 +305,17 @@
"name": "Namn",
"surname": "Efternamn",
"enterName": "Ange ditt namn",
"enterSurname": "Ange ditt efternamn"
"enterSurname": "Ange ditt efternamn",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"productivity": {
"stalledProjects": "Stagnerade projekt",

View file

@ -305,7 +305,17 @@
"name": "İsim",
"surname": "Soyisim",
"enterName": "İsminizi girin",
"enterSurname": "Soyisminizi girin"
"enterSurname": "Soyisminizi girin",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"productivity": {
"stalledProjects": "Duraklayan Projeler",

View file

@ -583,7 +583,17 @@
"name": "Ім'я",
"surname": "Прізвище",
"enterName": "Введіть ваше ім'я",
"enterSurname": "Введіть ваше прізвище"
"enterSurname": "Введіть ваше прізвище",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"task": {
"suggestions": {

View file

@ -305,7 +305,17 @@
"name": "Tên",
"surname": "Họ",
"enterName": "Nhập tên của bạn",
"enterSurname": "Nhập họ của bạn"
"enterSurname": "Nhập họ của bạn",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"productivity": {
"stalledProjects": "Dự án Đang Tạm Dừng",

View file

@ -305,7 +305,17 @@
"name": "姓名",
"surname": "姓氏",
"enterName": "输入您的姓名",
"enterSurname": "输入您的姓氏"
"enterSurname": "输入您的姓氏",
"avatar": "Profile Photo",
"uploadAvatar": "Upload Photo",
"removeAvatar": "Remove Avatar",
"avatarDescription": "Upload a profile photo (max 5MB)",
"avatarUploadError": "Please upload an image file",
"avatarSizeError": "Image must be smaller than 5MB",
"avatarUploadSuccess": "Avatar uploaded successfully!",
"avatarRemoveSuccess": "Avatar removed successfully!",
"avatarUploadFailed": "Failed to upload avatar",
"avatarRemoveFailed": "Failed to remove avatar"
},
"productivity": {
"stalledProjects": "停滞项目",