diff --git a/backend/scripts/add-sample-users.js b/backend/scripts/add-sample-users.js new file mode 100644 index 0000000..e8d2442 --- /dev/null +++ b/backend/scripts/add-sample-users.js @@ -0,0 +1,120 @@ +const bcrypt = require('bcrypt'); +const { v4: uuidv4 } = require('uuid'); +const db = require('../models'); + +const sampleUsers = [ + { + name: 'Alice', + surname: 'Johnson', + email: 'alice.johnson@example.com', + password: 'password123', + }, + { + name: 'Bob', + surname: 'Smith', + email: 'bob.smith@example.com', + password: 'password123', + }, + { + name: 'Carol', + surname: 'Williams', + email: 'carol.williams@example.com', + password: 'password123', + }, + { + name: 'David', + surname: 'Brown', + email: 'david.brown@example.com', + password: 'password123', + }, + { + name: 'Emma', + surname: 'Davis', + email: 'emma.davis@example.com', + password: 'password123', + }, + { + name: 'Frank', + surname: 'Miller', + email: 'frank.miller@example.com', + password: 'password123', + }, + { + name: 'Grace', + surname: 'Wilson', + email: 'grace.wilson@example.com', + password: 'password123', + }, + { + name: 'Henry', + surname: 'Moore', + email: 'henry.moore@example.com', + password: 'password123', + }, + { + name: 'Ivy', + surname: 'Taylor', + email: 'ivy.taylor@example.com', + password: 'password123', + }, + { + name: 'Jack', + surname: 'Anderson', + email: 'jack.anderson@example.com', + password: 'password123', + }, +]; + +async function addSampleUsers() { + try { + console.log('Starting to add sample users...'); + + for (const userData of sampleUsers) { + try { + // Check if user already exists + const existingUser = await db.User.findOne({ + where: { email: userData.email }, + }); + + if (existingUser) { + console.log( + `User ${userData.email} already exists, skipping...` + ); + continue; + } + + // Create user - the beforeValidate hook will hash the password + const user = await db.User.create({ + name: userData.name, + surname: userData.surname, + email: userData.email, + password: userData.password, + }); + + // Create role entry (non-admin by default) + await db.Role.create({ + user_id: user.id, + is_admin: false, + }); + + console.log( + `✓ Created user: ${userData.name} ${userData.surname} (${userData.email})` + ); + } catch (error) { + console.error( + `✗ Failed to create user ${userData.email}:`, + error.message + ); + } + } + + console.log('\n✓ Sample users added successfully!'); + process.exit(0); + } catch (error) { + console.error('Error adding sample users:', error); + process.exit(1); + } +} + +// Run the script +addSampleUsers(); diff --git a/frontend/components/Admin/AdminUsersPage.tsx b/frontend/components/Admin/AdminUsersPage.tsx index f28a4fc..8da9cc1 100644 --- a/frontend/components/Admin/AdminUsersPage.tsx +++ b/frontend/components/Admin/AdminUsersPage.tsx @@ -12,20 +12,25 @@ interface AdminUserItem { role: 'admin' | 'user'; } -const fetchAdminUsers = async (): Promise => { +const fetchAdminUsers = async (t: any): Promise => { const res = await fetch('/api/admin/users', { credentials: 'include', headers: { Accept: 'application/json' }, }); - if (res.status === 401) throw new Error('Authentication required'); - if (res.status === 403) throw new Error('Forbidden'); - if (!res.ok) throw new Error('Failed to load users'); + if (res.status === 401) + throw new Error( + t('admin.authenticationRequired', 'Authentication required') + ); + if (res.status === 403) throw new Error(t('admin.forbidden', 'Forbidden')); + if (!res.ok) + throw new Error(t('admin.failedToLoadUsers', 'Failed to load users')); return await res.json(); }; const createAdminUser = async ( email: string, password: string, + t: any, name?: string, surname?: string, role?: 'admin' | 'user' @@ -39,11 +44,15 @@ const createAdminUser = async ( }, body: JSON.stringify({ email, password, name, surname, role }), }); - if (res.status === 401) throw new Error('Authentication required'); - if (res.status === 403) throw new Error('Forbidden'); - if (res.status === 409) throw new Error('Email already exists'); + if (res.status === 401) + throw new Error( + t('admin.authenticationRequired', 'Authentication required') + ); + if (res.status === 403) throw new Error(t('admin.forbidden', 'Forbidden')); + if (res.status === 409) + throw new Error(t('admin.emailAlreadyExists', 'Email already exists')); if (!res.ok) { - let message = 'Failed to create user'; + let message = t('admin.failedToCreateUser', 'Failed to create user'); try { const body = await res.json(); if (body?.error) message = body.error; @@ -55,20 +64,27 @@ const createAdminUser = async ( return await res.json(); }; -const deleteAdminUser = async (id: number): Promise => { +const deleteAdminUser = async (id: number, t: any): Promise => { const res = await fetch(`/api/admin/users/${id}`, { method: 'DELETE', credentials: 'include', headers: { Accept: 'application/json' }, }); - if (res.status === 401) throw new Error('Authentication required'); - if (res.status === 403) throw new Error('Forbidden'); + if (res.status === 401) + throw new Error( + t('admin.authenticationRequired', 'Authentication required') + ); + if (res.status === 403) throw new Error(t('admin.forbidden', 'Forbidden')); if (res.status === 400) { - const body = await res.json().catch(() => ({ error: 'Bad request' })); - throw new Error(body.error || 'Bad request'); + const body = await res + .json() + .catch(() => ({ error: t('admin.badRequest', 'Bad request') })); + throw new Error(body.error || t('admin.badRequest', 'Bad request')); } - if (res.status === 404) throw new Error('User not found'); - if (!res.ok && res.status !== 204) throw new Error('Failed to delete user'); + if (res.status === 404) + throw new Error(t('admin.userNotFound', 'User not found')); + if (!res.ok && res.status !== 204) + throw new Error(t('admin.failedToDeleteUser', 'Failed to delete user')); }; const AddUserModal: React.FC<{ @@ -141,6 +157,7 @@ const AddUserModal: React.FC<{ const user = await createAdminUser( email, password, + t, name, surname, role @@ -148,7 +165,10 @@ const AddUserModal: React.FC<{ onCreated(user); onClose(); } catch (err: any) { - setError(err.message || 'Failed to create user'); + setError( + err.message || + t('admin.failedToCreateUser', 'Failed to create user') + ); } finally { setSubmitting(false); } @@ -325,11 +345,15 @@ const AdminUsersPage: React.FC = () => { setLoading(true); setError(null); try { - const data = await fetchAdminUsers(); + const data = await fetchAdminUsers(t); setUsers(data); } catch (err: any) { - setError(err.message || 'Failed to load users'); - if (err.message === 'Forbidden') navigate('/today'); + setError( + err.message || + t('admin.failedToLoadUsers', 'Failed to load users') + ); + if (err.message === t('admin.forbidden', 'Forbidden')) + navigate('/today'); } finally { setLoading(false); } @@ -363,10 +387,14 @@ const AdminUsersPage: React.FC = () => { const byId = new Map(users.map((u) => [u.id, u] as const)); for (const id of toDelete) { try { - await deleteAdminUser(id); + await deleteAdminUser(id, t); } catch (err: any) { // Keep the user if deletion failed and surface error inline later - console.error('Failed to delete user', id, err?.message); + console.error( + t('admin.failedToDeleteUser', 'Failed to delete user'), + id, + err?.message + ); remaining.push(byId.get(id)!); } } diff --git a/frontend/components/Project/ProjectShareModal.tsx b/frontend/components/Project/ProjectShareModal.tsx index 4aa6ff0..ecab870 100644 --- a/frontend/components/Project/ProjectShareModal.tsx +++ b/frontend/components/Project/ProjectShareModal.tsx @@ -202,7 +202,7 @@ const ProjectShareModal: React.FC = ({ >

- {t('projects.shareProject', 'Share project')} + {t('shares.shareProject', 'Share project')}

{project?.name} diff --git a/public/locales/ar/translation.json b/public/locales/ar/translation.json index d7a19f5..7f0766d 100644 --- a/public/locales/ar/translation.json +++ b/public/locales/ar/translation.json @@ -677,7 +677,9 @@ "completion": "الإنجاز", "completionPercentage": "{{percentage}}% مكتمل", "toggleDropdownMenu": "تبديل قائمة السحب", - "projectInitials": "اختصارات المشروع" + "projectInitials": "اختصارات المشروع", + "share": "مشاركة", + "sharedProject": "مشاركة مع الفريق" }, "areas": { "title": "المناطق", @@ -929,5 +931,45 @@ "thursday": "الخميس", "friday": "الجمعة", "saturday": "السبت" + }, + "admin": { + "manageUsers": "إدارة المستخدمين", + "userManagement": "إدارة المستخدمين", + "addUser": "إضافة مستخدم", + "remove": "إزالة", + "email": "البريد الإلكتروني", + "created": "تم الإنشاء", + "role": "الدور", + "loadingUsers": "جارٍ تحميل المستخدمين...", + "noUsers": "لا يوجد مستخدمون", + "admin": "مدير", + "user": "مستخدم", + "password": "كلمة المرور", + "name": "الاسم", + "surname": "اللقب", + "authenticationRequired": "المصادقة مطلوبة", + "forbidden": "ممنوع", + "failedToLoadUsers": "فشل في تحميل المستخدمين", + "emailAlreadyExists": "البريد الإلكتروني موجود بالفعل", + "failedToCreateUser": "فشل في إنشاء المستخدم", + "badRequest": "طلب غير صحيح", + "userNotFound": "المستخدم غير موجود", + "failedToDeleteUser": "فشل في حذف المستخدم" + }, + "shares": { + "shareProject": "مشاركة المشروع", + "targetUser": "اختر مستخدمًا", + "selectUserPlaceholder": "اختر مستخدمًا...", + "permission": "إذن", + "readOnly": "للقراءة فقط", + "readWrite": "قراءة وكتابة", + "owner": "المالك", + "share": "مشاركة", + "revoke": "إلغاء", + "currentShares": "المستخدمون الذين لديهم وصول", + "noShares": "لم يتم المشاركة بعد", + "noAvailableUsers": "لا يوجد مستخدمون متاحون للمشاركة معهم", + "shared": "تمت المشاركة", + "sharedWithTeam": "تمت المشاركة مع الفريق" } } diff --git a/public/locales/bg/translation.json b/public/locales/bg/translation.json index de97f5b..ecaeb65 100644 --- a/public/locales/bg/translation.json +++ b/public/locales/bg/translation.json @@ -677,7 +677,9 @@ "completion": "Завършване", "completionPercentage": "{{percentage}}% завършено", "toggleDropdownMenu": "Превключи падащото меню", - "projectInitials": "Инициали на проекта" + "projectInitials": "Инициали на проекта", + "share": "Сподели", + "sharedProject": "Споделено с екипа" }, "areas": { "title": "Области", @@ -929,5 +931,45 @@ "thursday": "Четвъртък", "friday": "Петък", "saturday": "Събота" + }, + "admin": { + "manageUsers": "Управление на потребители", + "userManagement": "Управление на потребителите", + "addUser": "Добави потребител", + "remove": "Премахни", + "email": "Имейл", + "created": "Създадено", + "role": "Роля", + "loadingUsers": "Зареждане на потребители...", + "noUsers": "Няма потребители", + "admin": "администратор", + "user": "потребител", + "password": "Парола", + "name": "Име", + "surname": "Фамилия", + "authenticationRequired": "Изисква се удостоверяване", + "forbidden": "Забранено", + "failedToLoadUsers": "Неуспешно зареждане на потребители", + "emailAlreadyExists": "Имейлът вече съществува", + "failedToCreateUser": "Неуспешно създаване на потребител", + "badRequest": "Невалидна заявка", + "userNotFound": "Потребителят не е намерен", + "failedToDeleteUser": "Неуспешно изтриване на потребител" + }, + "shares": { + "shareProject": "Сподели проект", + "targetUser": "Избери потребител", + "selectUserPlaceholder": "Избери потребител...", + "permission": "Разрешение", + "readOnly": "Само за четене", + "readWrite": "Четене и писане", + "owner": "Собственик", + "share": "Сподели", + "revoke": "Отмяна", + "currentShares": "Потребители с достъп", + "noShares": "Все още не е споделено", + "noAvailableUsers": "Няма налични потребители за споделяне", + "shared": "Споделено", + "sharedWithTeam": "Споделено с екипа" } } diff --git a/public/locales/da/translation.json b/public/locales/da/translation.json index 90d9762..7201319 100644 --- a/public/locales/da/translation.json +++ b/public/locales/da/translation.json @@ -677,7 +677,9 @@ "completion": "Færdiggørelse", "completionPercentage": "{{percentage}}% færdig", "toggleDropdownMenu": "Skift dropdown-menu", - "projectInitials": "Projektinitialer" + "projectInitials": "Projektinitialer", + "share": "Del", + "sharedProject": "Delt med teamet" }, "areas": { "title": "Områder", @@ -929,5 +931,45 @@ "thursday": "Torsdag", "friday": "Fredag", "saturday": "Lørdag" + }, + "admin": { + "manageUsers": "Administrer brugere", + "userManagement": "Brugeradministration", + "addUser": "Tilføj bruger", + "remove": "Fjern", + "email": "Email", + "created": "Oprettet", + "role": "Rolle", + "loadingUsers": "Indlæser brugere...", + "noUsers": "Ingen brugere", + "admin": "administrator", + "user": "bruger", + "password": "Adgangskode", + "name": "Navn", + "surname": "Efternavn", + "authenticationRequired": "Godkendelse påkrævet", + "forbidden": "Forbudt", + "failedToLoadUsers": "Kunne ikke indlæse brugere", + "emailAlreadyExists": "E-mail eksisterer allerede", + "failedToCreateUser": "Kunne ikke oprette bruger", + "badRequest": "Ugyldig anmodning", + "userNotFound": "Bruger ikke fundet", + "failedToDeleteUser": "Kunne ikke slette bruger" + }, + "shares": { + "shareProject": "Del projekt", + "targetUser": "Vælg bruger", + "selectUserPlaceholder": "Vælg en bruger...", + "permission": "Tilladelse", + "readOnly": "Kun læsning", + "readWrite": "Læs & skriv", + "owner": "Ejer", + "share": "Del", + "revoke": "Tilbagekald", + "currentShares": "Brugere med adgang", + "noShares": "Ikke delt endnu", + "noAvailableUsers": "Ingen brugere tilgængelige til at dele med", + "shared": "Delt", + "sharedWithTeam": "Delt med teamet" } } diff --git a/public/locales/de/translation.json b/public/locales/de/translation.json index cd7f17e..03e1f81 100644 --- a/public/locales/de/translation.json +++ b/public/locales/de/translation.json @@ -767,7 +767,9 @@ "completion": "Fertigstellung", "completionPercentage": "{{percentage}}% abgeschlossen", "toggleDropdownMenu": "Dropdown-Menü umschalten", - "projectInitials": "Projektinitialen" + "projectInitials": "Projektinitialen", + "share": "Teilen", + "sharedProject": "Mit dem Team geteilt" }, "areas": { "title": "Bereiche", @@ -938,5 +940,45 @@ "thursday": "Donnerstag", "friday": "Freitag", "saturday": "Samstag" + }, + "admin": { + "manageUsers": "Benutzer verwalten", + "userManagement": "Benutzerverwaltung", + "addUser": "Benutzer hinzufügen", + "remove": "Entfernen", + "email": "E-Mail", + "created": "Erstellt", + "role": "Rolle", + "loadingUsers": "Benutzer werden geladen...", + "noUsers": "Keine Benutzer", + "admin": "Administrator", + "user": "Benutzer", + "password": "Passwort", + "name": "Name", + "surname": "Nachname", + "authenticationRequired": "Authentifizierung erforderlich", + "forbidden": "Verboten", + "failedToLoadUsers": "Benutzer konnten nicht geladen werden", + "emailAlreadyExists": "E-Mail existiert bereits", + "failedToCreateUser": "Benutzer konnte nicht erstellt werden", + "badRequest": "Ungültige Anfrage", + "userNotFound": "Benutzer nicht gefunden", + "failedToDeleteUser": "Benutzer konnte nicht gelöscht werden" + }, + "shares": { + "shareProject": "Projekt teilen", + "targetUser": "Benutzer auswählen", + "selectUserPlaceholder": "Wählen Sie einen Benutzer...", + "permission": "Berechtigung", + "readOnly": "Nur lesen", + "readWrite": "Lesen & Schreiben", + "owner": "Besitzer", + "share": "Teilen", + "revoke": "Widerrufen", + "currentShares": "Benutzer mit Zugriff", + "noShares": "Noch nicht geteilt", + "noAvailableUsers": "Keine Benutzer verfügbar, um zu teilen", + "shared": "Geteilt", + "sharedWithTeam": "Mit dem Team geteilt" } } diff --git a/public/locales/el/translation.json b/public/locales/el/translation.json index b39c8b5..0d54354 100644 --- a/public/locales/el/translation.json +++ b/public/locales/el/translation.json @@ -397,7 +397,9 @@ "completion": "Ολοκλήρωση", "completionPercentage": "{{percentage}}% ολοκληρωμένο", "toggleDropdownMenu": "Εναλλαγή αναπτυσσόμενου μενού", - "projectInitials": "Αρχικά έργου" + "projectInitials": "Αρχικά έργου", + "share": "Κοινή χρήση", + "sharedProject": "Μοιράστηκε με την ομάδα" }, "sort": { "due_date": "Ημερομηνία Λήξης", @@ -933,5 +935,45 @@ "thursday": "Πέμπτη", "friday": "Παρασκευή", "saturday": "Σάββατο" + }, + "admin": { + "manageUsers": "Διαχείριση χρηστών", + "userManagement": "Διαχείριση Χρηστών", + "addUser": "Προσθήκη χρήστη", + "remove": "Αφαίρεση", + "email": "Ηλεκτρονικό ταχυδρομείο", + "created": "Δημιουργήθηκε", + "role": "Ρόλος", + "loadingUsers": "Φόρτωση χρηστών...", + "noUsers": "Δεν υπάρχουν χρήστες", + "admin": "διαχειριστής", + "user": "χρήστης", + "password": "Κωδικός πρόσβασης", + "name": "Όνομα", + "surname": "Επώνυμο", + "authenticationRequired": "Απαιτείται αυθεντικοποίηση", + "forbidden": "Απαγορευμένο", + "failedToLoadUsers": "Αποτυχία φόρτωσης χρηστών", + "emailAlreadyExists": "Το email υπάρχει ήδη", + "failedToCreateUser": "Αποτυχία δημιουργίας χρήστη", + "badRequest": "Κακή αίτηση", + "userNotFound": "Ο χρήστης δεν βρέθηκε", + "failedToDeleteUser": "Αποτυχία διαγραφής χρήστη" + }, + "shares": { + "shareProject": "Κοινή χρήση έργου", + "targetUser": "Επιλέξτε χρήστη", + "selectUserPlaceholder": "Επιλέξτε έναν χρήστη...", + "permission": "Άδεια", + "readOnly": "Μόνο ανάγνωση", + "readWrite": "Ανάγνωση & εγγραφή", + "owner": "Ιδιοκτήτης", + "share": "Κοινή χρήση", + "revoke": "Ανάκληση", + "currentShares": "Χρήστες με πρόσβαση", + "noShares": "Δεν έχει μοιραστεί ακόμα", + "noAvailableUsers": "Δεν υπάρχουν διαθέσιμοι χρήστες για να μοιραστείτε", + "shared": "Μοιρασμένο", + "sharedWithTeam": "Μοιρασμένο με την ομάδα" } } diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json index 6f1d2dc..bed8fd0 100644 --- a/public/locales/en/translation.json +++ b/public/locales/en/translation.json @@ -674,6 +674,8 @@ "projectItem": { "edit": "Edit", "delete": "Delete", + "share": "Share", + "sharedProject": "Shared with team", "completion": "Completion", "completionPercentage": "{{percentage}}% complete", "toggleDropdownMenu": "Toggle dropdown menu", @@ -937,12 +939,38 @@ "addUser": "Add user", "remove": "Remove", "email": "Email", + "name": "Name", + "surname": "Surname", "created": "Created", "role": "Role", "loadingUsers": "Loading users...", "noUsers": "No users", "admin": "admin", "user": "user", - "password": "Password" + "password": "Password", + "authenticationRequired": "Authentication required", + "forbidden": "Forbidden", + "failedToLoadUsers": "Failed to load users", + "emailAlreadyExists": "Email already exists", + "failedToCreateUser": "Failed to create user", + "badRequest": "Bad request", + "userNotFound": "User not found", + "failedToDeleteUser": "Failed to delete user" + }, + "shares": { + "shareProject": "Share project", + "targetUser": "Select user", + "selectUserPlaceholder": "Select a user...", + "permission": "Permission", + "readOnly": "Read only", + "readWrite": "Read & write", + "owner": "Owner", + "share": "Share", + "revoke": "Revoke", + "currentShares": "Users with access", + "noShares": "Not shared yet", + "noAvailableUsers": "No users available to share with", + "shared": "Shared", + "sharedWithTeam": "Shared with the team" } } diff --git a/public/locales/es/translation.json b/public/locales/es/translation.json index 4af039a..85583d9 100644 --- a/public/locales/es/translation.json +++ b/public/locales/es/translation.json @@ -386,7 +386,9 @@ "completion": "Finalización", "completionPercentage": "{{percentage}}% completado", "toggleDropdownMenu": "Alternar menú desplegable", - "projectInitials": "Iniciales del proyecto" + "projectInitials": "Iniciales del proyecto", + "share": "Compartir", + "sharedProject": "Compartido con el equipo" }, "sort": { "due_date": "Fecha de Vencimiento", @@ -930,5 +932,45 @@ "thursday": "Jueves", "friday": "Viernes", "saturday": "Sábado" + }, + "admin": { + "manageUsers": "Gestionar usuarios", + "userManagement": "Gestión de usuarios", + "addUser": "Agregar usuario", + "remove": "Eliminar", + "email": "Correo electrónico", + "created": "Creado", + "role": "Rol", + "loadingUsers": "Cargando usuarios...", + "noUsers": "No hay usuarios", + "admin": "administrador", + "user": "usuario", + "password": "Contraseña", + "name": "Nombre", + "surname": "Apellido", + "authenticationRequired": "Autenticación requerida", + "forbidden": "Prohibido", + "failedToLoadUsers": "Error al cargar usuarios", + "emailAlreadyExists": "El correo electrónico ya existe", + "failedToCreateUser": "Error al crear usuario", + "badRequest": "Solicitud incorrecta", + "userNotFound": "Usuario no encontrado", + "failedToDeleteUser": "Error al eliminar usuario" + }, + "shares": { + "shareProject": "Compartir proyecto", + "targetUser": "Seleccionar usuario", + "selectUserPlaceholder": "Selecciona un usuario...", + "permission": "Permiso", + "readOnly": "Solo lectura", + "readWrite": "Lectura y escritura", + "owner": "Propietario", + "share": "Compartir", + "revoke": "Revocar", + "currentShares": "Usuarios con acceso", + "noShares": "Aún no compartido", + "noAvailableUsers": "No hay usuarios disponibles para compartir", + "shared": "Compartido", + "sharedWithTeam": "Compartido con el equipo" } } diff --git a/public/locales/fi/translation.json b/public/locales/fi/translation.json index a2eebcd..b3d492c 100644 --- a/public/locales/fi/translation.json +++ b/public/locales/fi/translation.json @@ -677,7 +677,9 @@ "completion": "Valmistuminen", "completionPercentage": "{{percentage}}% valmis", "toggleDropdownMenu": "Vaihda avattavaa valikkoa", - "projectInitials": "Projektin lyhenteet" + "projectInitials": "Projektin lyhenteet", + "share": "Jaa", + "sharedProject": "Jaettu tiimille" }, "areas": { "title": "Alueet", @@ -929,5 +931,45 @@ "thursday": "Torstai", "friday": "Perjantai", "saturday": "Lauantai" + }, + "admin": { + "manageUsers": "Hallitse käyttäjiä", + "userManagement": "Käyttäjähallinta", + "addUser": "Lisää käyttäjä", + "remove": "Poista", + "email": "Sähköposti", + "created": "Luotu", + "role": "Rooli", + "loadingUsers": "Ladataan käyttäjiä...", + "noUsers": "Ei käyttäjiä", + "admin": "ylläpitäjä", + "user": "käyttäjä", + "password": "Salasana", + "name": "Nimi", + "surname": "Sukunimi", + "authenticationRequired": "Todennus vaaditaan", + "forbidden": "Kielletty", + "failedToLoadUsers": "Käyttäjien lataaminen epäonnistui", + "emailAlreadyExists": "Sähköposti on jo käytössä", + "failedToCreateUser": "Käyttäjän luominen epäonnistui", + "badRequest": "Virheellinen pyyntö", + "userNotFound": "Käyttäjää ei löytynyt", + "failedToDeleteUser": "Käyttäjän poistaminen epäonnistui" + }, + "shares": { + "shareProject": "Jaa projekti", + "targetUser": "Valitse käyttäjä", + "selectUserPlaceholder": "Valitse käyttäjä...", + "permission": "Oikeus", + "readOnly": "Vain luku", + "readWrite": "Luku & kirjoitus", + "owner": "Omistaja", + "share": "Jaa", + "revoke": "Peruuta", + "currentShares": "Käyttäjät, joilla on pääsy", + "noShares": "Ei vielä jaettu", + "noAvailableUsers": "Ei käyttäjiä, joille jakaa", + "shared": "Jaettu", + "sharedWithTeam": "Jaettu tiimin kanssa" } } diff --git a/public/locales/fr/translation.json b/public/locales/fr/translation.json index 06843e6..cc11ece 100644 --- a/public/locales/fr/translation.json +++ b/public/locales/fr/translation.json @@ -677,7 +677,9 @@ "completion": "Achèvement", "completionPercentage": "{{percentage}}% terminé", "toggleDropdownMenu": "Basculer le menu déroulant", - "projectInitials": "Initiales du projet" + "projectInitials": "Initiales du projet", + "share": "Partager", + "sharedProject": "Partagé avec l'équipe" }, "areas": { "title": "Zones", @@ -929,5 +931,45 @@ "thursday": "Jeudi", "friday": "Vendredi", "saturday": "Samedi" + }, + "admin": { + "manageUsers": "Gérer les utilisateurs", + "userManagement": "Gestion des utilisateurs", + "addUser": "Ajouter un utilisateur", + "remove": "Supprimer", + "email": "Email", + "created": "Créé", + "role": "Rôle", + "loadingUsers": "Chargement des utilisateurs...", + "noUsers": "Aucun utilisateur", + "admin": "administrateur", + "user": "utilisateur", + "password": "Mot de passe", + "name": "Nom", + "surname": "Prénom", + "authenticationRequired": "Authentification requise", + "forbidden": "Interdit", + "failedToLoadUsers": "Échec du chargement des utilisateurs", + "emailAlreadyExists": "L'email existe déjà", + "failedToCreateUser": "Échec de la création de l'utilisateur", + "badRequest": "Mauvaise requête", + "userNotFound": "Utilisateur non trouvé", + "failedToDeleteUser": "Échec de la suppression de l'utilisateur" + }, + "shares": { + "shareProject": "Partager le projet", + "targetUser": "Sélectionner un utilisateur", + "selectUserPlaceholder": "Sélectionnez un utilisateur...", + "permission": "Permission", + "readOnly": "Lecture seule", + "readWrite": "Lecture et écriture", + "owner": "Propriétaire", + "share": "Partager", + "revoke": "Révoquer", + "currentShares": "Utilisateurs avec accès", + "noShares": "Pas encore partagé", + "noAvailableUsers": "Aucun utilisateur disponible pour partager", + "shared": "Partagé", + "sharedWithTeam": "Partagé avec l'équipe" } } diff --git a/public/locales/id/translation.json b/public/locales/id/translation.json index 7bfb217..44918e1 100644 --- a/public/locales/id/translation.json +++ b/public/locales/id/translation.json @@ -677,7 +677,9 @@ "completion": "Penyelesaian", "completionPercentage": "{{percentage}}% selesai", "toggleDropdownMenu": "Alihkan menu dropdown", - "projectInitials": "Inisial proyek" + "projectInitials": "Inisial proyek", + "share": "Bagikan", + "sharedProject": "Dibagikan dengan tim" }, "areas": { "title": "Area", @@ -929,5 +931,45 @@ "thursday": "Kamis", "friday": "Jumat", "saturday": "Sabtu" + }, + "admin": { + "manageUsers": "Kelola pengguna", + "userManagement": "Manajemen Pengguna", + "addUser": "Tambah pengguna", + "remove": "Hapus", + "email": "Email", + "created": "Dibuat", + "role": "Peran", + "loadingUsers": "Memuat pengguna...", + "noUsers": "Tidak ada pengguna", + "admin": "admin", + "user": "pengguna", + "password": "Kata Sandi", + "name": "Nama", + "surname": "Nama Belakang", + "authenticationRequired": "Autentikasi diperlukan", + "forbidden": "Dilarang", + "failedToLoadUsers": "Gagal memuat pengguna", + "emailAlreadyExists": "Email sudah ada", + "failedToCreateUser": "Gagal membuat pengguna", + "badRequest": "Permintaan tidak valid", + "userNotFound": "Pengguna tidak ditemukan", + "failedToDeleteUser": "Gagal menghapus pengguna" + }, + "shares": { + "shareProject": "Bagikan proyek", + "targetUser": "Pilih pengguna", + "selectUserPlaceholder": "Pilih pengguna...", + "permission": "Izin", + "readOnly": "Hanya baca", + "readWrite": "Baca & tulis", + "owner": "Pemilik", + "share": "Bagikan", + "revoke": "Cabut", + "currentShares": "Pengguna dengan akses", + "noShares": "Belum dibagikan", + "noAvailableUsers": "Tidak ada pengguna yang tersedia untuk dibagikan", + "shared": "Dibagikan", + "sharedWithTeam": "Dibagikan dengan tim" } } diff --git a/public/locales/it/translation.json b/public/locales/it/translation.json index e63d834..d85aa63 100644 --- a/public/locales/it/translation.json +++ b/public/locales/it/translation.json @@ -677,7 +677,9 @@ "completion": "Completamento", "completionPercentage": "{{percentage}}% completato", "toggleDropdownMenu": "Attiva/disattiva menu a discesa", - "projectInitials": "Iniziali progetto" + "projectInitials": "Iniziali progetto", + "share": "Condividi", + "sharedProject": "Condiviso con il team" }, "areas": { "title": "Aree", @@ -929,5 +931,45 @@ "thursday": "Giovedì", "friday": "Venerdì", "saturday": "Sabato" + }, + "admin": { + "manageUsers": "Gestisci utenti", + "userManagement": "Gestione utenti", + "addUser": "Aggiungi utente", + "remove": "Rimuovi", + "email": "Email", + "created": "Creato", + "role": "Ruolo", + "loadingUsers": "Caricamento utenti...", + "noUsers": "Nessun utente", + "admin": "amministratore", + "user": "utente", + "password": "Password", + "name": "Nome", + "surname": "Cognome", + "authenticationRequired": "Autenticazione richiesta", + "forbidden": "Vietato", + "failedToLoadUsers": "Impossibile caricare gli utenti", + "emailAlreadyExists": "L'email esiste già", + "failedToCreateUser": "Impossibile creare l'utente", + "badRequest": "Richiesta non valida", + "userNotFound": "Utente non trovato", + "failedToDeleteUser": "Impossibile eliminare l'utente" + }, + "shares": { + "shareProject": "Condividi progetto", + "targetUser": "Seleziona utente", + "selectUserPlaceholder": "Seleziona un utente...", + "permission": "Permesso", + "readOnly": "Solo lettura", + "readWrite": "Lettura e scrittura", + "owner": "Proprietario", + "share": "Condividi", + "revoke": "Revoca", + "currentShares": "Utenti con accesso", + "noShares": "Non ancora condiviso", + "noAvailableUsers": "Nessun utente disponibile con cui condividere", + "shared": "Condiviso", + "sharedWithTeam": "Condiviso con il team" } } diff --git a/public/locales/jp/translation.json b/public/locales/jp/translation.json index 4ef0d9a..4368a36 100644 --- a/public/locales/jp/translation.json +++ b/public/locales/jp/translation.json @@ -544,7 +544,9 @@ "completion": "完了度", "completionPercentage": "{{percentage}}% 完了", "toggleDropdownMenu": "ドロップダウンメニューを切り替え", - "projectInitials": "プロジェクトの頭文字" + "projectInitials": "プロジェクトの頭文字", + "share": "共有", + "sharedProject": "チームと共有" }, "areas": { "title": "エリア", @@ -929,5 +931,45 @@ "thursday": "木曜日", "friday": "金曜日", "saturday": "土曜日" + }, + "admin": { + "manageUsers": "ユーザーを管理", + "userManagement": "ユーザー管理", + "addUser": "ユーザーを追加", + "remove": "削除", + "email": "メール", + "created": "作成日", + "role": "役割", + "loadingUsers": "ユーザーを読み込み中...", + "noUsers": "ユーザーがいません", + "admin": "管理者", + "user": "ユーザー", + "password": "パスワード", + "name": "名前", + "surname": "姓", + "authenticationRequired": "認証が必要です", + "forbidden": "禁止されています", + "failedToLoadUsers": "ユーザーの読み込みに失敗しました", + "emailAlreadyExists": "メールアドレスは既に存在します", + "failedToCreateUser": "ユーザーの作成に失敗しました", + "badRequest": "不正なリクエスト", + "userNotFound": "ユーザーが見つかりません", + "failedToDeleteUser": "ユーザーの削除に失敗しました" + }, + "shares": { + "shareProject": "プロジェクトを共有", + "targetUser": "ユーザーを選択", + "selectUserPlaceholder": "ユーザーを選択...", + "permission": "権限", + "readOnly": "読み取り専用", + "readWrite": "読み書き", + "owner": "オーナー", + "share": "共有", + "revoke": "取り消す", + "currentShares": "アクセス権を持つユーザー", + "noShares": "まだ共有されていません", + "noAvailableUsers": "共有できるユーザーがいません", + "shared": "共有済み", + "sharedWithTeam": "チームと共有済み" } } diff --git a/public/locales/ko/translation.json b/public/locales/ko/translation.json index 74a549e..6307a81 100644 --- a/public/locales/ko/translation.json +++ b/public/locales/ko/translation.json @@ -677,7 +677,9 @@ "completion": "완료", "completionPercentage": "{{percentage}}% 완료", "toggleDropdownMenu": "드롭다운 메뉴 전환", - "projectInitials": "프로젝트 약어" + "projectInitials": "프로젝트 약어", + "share": "공유", + "sharedProject": "팀과 공유됨" }, "areas": { "title": "영역", @@ -929,5 +931,45 @@ "thursday": "목요일", "friday": "금요일", "saturday": "토요일" + }, + "admin": { + "manageUsers": "사용자 관리", + "userManagement": "사용자 관리", + "addUser": "사용자 추가", + "remove": "제거", + "email": "이메일", + "created": "생성됨", + "role": "역할", + "loadingUsers": "사용자 로딩 중...", + "noUsers": "사용자가 없습니다", + "admin": "관리자", + "user": "사용자", + "password": "비밀번호", + "name": "이름", + "surname": "성", + "authenticationRequired": "인증 필요", + "forbidden": "금지됨", + "failedToLoadUsers": "사용자 로드 실패", + "emailAlreadyExists": "이메일이 이미 존재합니다", + "failedToCreateUser": "사용자 생성 실패", + "badRequest": "잘못된 요청", + "userNotFound": "사용자를 찾을 수 없습니다", + "failedToDeleteUser": "사용자 삭제 실패" + }, + "shares": { + "shareProject": "프로젝트 공유", + "targetUser": "사용자 선택", + "selectUserPlaceholder": "사용자를 선택하세요...", + "permission": "권한", + "readOnly": "읽기 전용", + "readWrite": "읽기 및 쓰기", + "owner": "소유자", + "share": "공유", + "revoke": "철회", + "currentShares": "접근 권한이 있는 사용자", + "noShares": "아직 공유되지 않음", + "noAvailableUsers": "공유할 수 있는 사용자가 없습니다", + "shared": "공유됨", + "sharedWithTeam": "팀과 공유됨" } } diff --git a/public/locales/nl/translation.json b/public/locales/nl/translation.json index 6c65b52..626417c 100644 --- a/public/locales/nl/translation.json +++ b/public/locales/nl/translation.json @@ -677,7 +677,9 @@ "completion": "Voltooiing", "completionPercentage": "{{percentage}}% voltooid", "toggleDropdownMenu": "Schakel dropdownmenu in", - "projectInitials": "Projectinitialen" + "projectInitials": "Projectinitialen", + "share": "Delen", + "sharedProject": "Gedeeld met team" }, "areas": { "title": "Gebieden", @@ -929,5 +931,45 @@ "thursday": "Donderdag", "friday": "Vrijdag", "saturday": "Zaterdag" + }, + "admin": { + "manageUsers": "Beheer gebruikers", + "userManagement": "Gebruikersbeheer", + "addUser": "Voeg gebruiker toe", + "remove": "Verwijderen", + "email": "E-mail", + "created": "Aangemaakt", + "role": "Rol", + "loadingUsers": "Gebruikers laden...", + "noUsers": "Geen gebruikers", + "admin": "beheerder", + "user": "gebruiker", + "password": "Wachtwoord", + "name": "Naam", + "surname": "Achternaam", + "authenticationRequired": "Authenticatie vereist", + "forbidden": "Verboden", + "failedToLoadUsers": "Kon gebruikers niet laden", + "emailAlreadyExists": "E-mail bestaat al", + "failedToCreateUser": "Kon gebruiker niet aanmaken", + "badRequest": "Ongeldig verzoek", + "userNotFound": "Gebruiker niet gevonden", + "failedToDeleteUser": "Kon gebruiker niet verwijderen" + }, + "shares": { + "shareProject": "Project delen", + "targetUser": "Selecteer gebruiker", + "selectUserPlaceholder": "Selecteer een gebruiker...", + "permission": "Toestemming", + "readOnly": "Alleen lezen", + "readWrite": "Lezen & schrijven", + "owner": "Eigenaar", + "share": "Delen", + "revoke": "Intrekken", + "currentShares": "Gebruikers met toegang", + "noShares": "Nog niet gedeeld", + "noAvailableUsers": "Geen gebruikers beschikbaar om mee te delen", + "shared": "Gedeeld", + "sharedWithTeam": "Gedeeld met het team" } } diff --git a/public/locales/no/translation.json b/public/locales/no/translation.json index 4aed660..f73a013 100644 --- a/public/locales/no/translation.json +++ b/public/locales/no/translation.json @@ -677,7 +677,9 @@ "completion": "Fullføring", "completionPercentage": "{{percentage}}% fullført", "toggleDropdownMenu": "Veksle nedtrekksmeny", - "projectInitials": "Prosjektinitialer" + "projectInitials": "Prosjektinitialer", + "share": "Del", + "sharedProject": "Delt med teamet" }, "areas": { "title": "Områder", @@ -929,5 +931,45 @@ "thursday": "Torsdag", "friday": "Fredag", "saturday": "Lørdag" + }, + "admin": { + "manageUsers": "Administrer brukere", + "userManagement": "Brukeradministrasjon", + "addUser": "Legg til bruker", + "remove": "Fjern", + "email": "E-post", + "created": "Opprettet", + "role": "Rolle", + "loadingUsers": "Laster inn brukere...", + "noUsers": "Ingen brukere", + "admin": "administrator", + "user": "bruker", + "password": "Passord", + "name": "Navn", + "surname": "Etternavn", + "authenticationRequired": "Autentisering kreves", + "forbidden": "Forbudt", + "failedToLoadUsers": "Kunne ikke laste brukere", + "emailAlreadyExists": "E-post finnes allerede", + "failedToCreateUser": "Kunne ikke opprette bruker", + "badRequest": "Feil forespørsel", + "userNotFound": "Bruker ikke funnet", + "failedToDeleteUser": "Kunne ikke slette bruker" + }, + "shares": { + "shareProject": "Del prosjekt", + "targetUser": "Velg bruker", + "selectUserPlaceholder": "Velg en bruker...", + "permission": "Tillatelse", + "readOnly": "Kun lesing", + "readWrite": "Les og skriv", + "owner": "Eier", + "share": "Del", + "revoke": "Tilbaketrekke", + "currentShares": "Brukere med tilgang", + "noShares": "Ikke delt ennå", + "noAvailableUsers": "Ingen brukere tilgjengelige for å dele med", + "shared": "Delt", + "sharedWithTeam": "Delt med teamet" } } diff --git a/public/locales/pl/translation.json b/public/locales/pl/translation.json index af94a74..4f33e85 100644 --- a/public/locales/pl/translation.json +++ b/public/locales/pl/translation.json @@ -677,7 +677,9 @@ "completion": "Zakończenie", "completionPercentage": "{{percentage}}% ukończone", "toggleDropdownMenu": "Przełącz menu rozwijane", - "projectInitials": "Inicjały projektu" + "projectInitials": "Inicjały projektu", + "share": "Udostępnij", + "sharedProject": "Udostępnione zespołowi" }, "areas": { "title": "Obszary", @@ -929,5 +931,45 @@ "thursday": "Czwartek", "friday": "Piątek", "saturday": "Sobota" + }, + "admin": { + "manageUsers": "Zarządzaj użytkownikami", + "userManagement": "Zarządzanie użytkownikami", + "addUser": "Dodaj użytkownika", + "remove": "Usuń", + "email": "Email", + "created": "Utworzono", + "role": "Rola", + "loadingUsers": "Ładowanie użytkowników...", + "noUsers": "Brak użytkowników", + "admin": "administrator", + "user": "użytkownik", + "password": "Hasło", + "name": "Imię", + "surname": "Nazwisko", + "authenticationRequired": "Wymagana autoryzacja", + "forbidden": "Zabronione", + "failedToLoadUsers": "Nie udało się załadować użytkowników", + "emailAlreadyExists": "Email już istnieje", + "failedToCreateUser": "Nie udało się utworzyć użytkownika", + "badRequest": "Złe żądanie", + "userNotFound": "Użytkownik nie znaleziony", + "failedToDeleteUser": "Nie udało się usunąć użytkownika" + }, + "shares": { + "shareProject": "Udostępnij projekt", + "targetUser": "Wybierz użytkownika", + "selectUserPlaceholder": "Wybierz użytkownika...", + "permission": "Uprawnienia", + "readOnly": "Tylko do odczytu", + "readWrite": "Odczyt i zapis", + "owner": "Właściciel", + "share": "Udostępnij", + "revoke": "Cofnij", + "currentShares": "Użytkownicy z dostępem", + "noShares": "Jeszcze nie udostępniono", + "noAvailableUsers": "Brak użytkowników do udostępnienia", + "shared": "Udostępnione", + "sharedWithTeam": "Udostępnione zespołowi" } } diff --git a/public/locales/pt/translation.json b/public/locales/pt/translation.json index 6d8151c..bdf7508 100644 --- a/public/locales/pt/translation.json +++ b/public/locales/pt/translation.json @@ -677,7 +677,9 @@ "completion": "Conclusão", "completionPercentage": "{{percentage}}% completo", "toggleDropdownMenu": "Alternar menu suspenso", - "projectInitials": "Iniciais do projeto" + "projectInitials": "Iniciais do projeto", + "share": "Compartilhar", + "sharedProject": "Compartilhado com a equipe" }, "areas": { "title": "Áreas", @@ -929,5 +931,45 @@ "thursday": "Quinta-feira", "friday": "Sexta-feira", "saturday": "Sábado" + }, + "admin": { + "manageUsers": "Gerenciar usuários", + "userManagement": "Gerenciamento de Usuários", + "addUser": "Adicionar usuário", + "remove": "Remover", + "email": "Email", + "created": "Criado", + "role": "Função", + "loadingUsers": "Carregando usuários...", + "noUsers": "Nenhum usuário", + "admin": "administrador", + "user": "usuário", + "password": "Senha", + "name": "Nome", + "surname": "Sobrenome", + "authenticationRequired": "Autenticação necessária", + "forbidden": "Proibido", + "failedToLoadUsers": "Falha ao carregar usuários", + "emailAlreadyExists": "Email já existe", + "failedToCreateUser": "Falha ao criar usuário", + "badRequest": "Requisição inválida", + "userNotFound": "Usuário não encontrado", + "failedToDeleteUser": "Falha ao deletar usuário" + }, + "shares": { + "shareProject": "Compartilhar projeto", + "targetUser": "Selecionar usuário", + "selectUserPlaceholder": "Selecione um usuário...", + "permission": "Permissão", + "readOnly": "Somente leitura", + "readWrite": "Leitura e escrita", + "owner": "Proprietário", + "share": "Compartilhar", + "revoke": "Revogar", + "currentShares": "Usuários com acesso", + "noShares": "Ainda não compartilhado", + "noAvailableUsers": "Nenhum usuário disponível para compartilhar", + "shared": "Compartilhado", + "sharedWithTeam": "Compartilhado com a equipe" } } diff --git a/public/locales/ro/translation.json b/public/locales/ro/translation.json index 9d1a2e4..1173aac 100644 --- a/public/locales/ro/translation.json +++ b/public/locales/ro/translation.json @@ -677,7 +677,9 @@ "completion": "Finalizare", "completionPercentage": "{{percentage}}% complet", "toggleDropdownMenu": "Comută meniul derulant", - "projectInitials": "Inițialele proiectului" + "projectInitials": "Inițialele proiectului", + "share": "Partajează", + "sharedProject": "Partajat cu echipa" }, "areas": { "title": "Arii", @@ -929,5 +931,45 @@ "thursday": "Joi", "friday": "Vineri", "saturday": "Sâmbătă" + }, + "admin": { + "manageUsers": "Gestionați utilizatorii", + "userManagement": "Gestionarea utilizatorilor", + "addUser": "Adăugați utilizator", + "remove": "Eliminare", + "email": "Email", + "created": "Creat", + "role": "Rol", + "loadingUsers": "Se încarcă utilizatorii...", + "noUsers": "Nu sunt utilizatori", + "admin": "admin", + "user": "utilizator", + "password": "Parolă", + "name": "Nume", + "surname": "Prenume", + "authenticationRequired": "Autentificare necesară", + "forbidden": "Interzis", + "failedToLoadUsers": "Încărcarea utilizatorilor a eșuat", + "emailAlreadyExists": "Emailul există deja", + "failedToCreateUser": "Crearea utilizatorului a eșuat", + "badRequest": "Cerere incorectă", + "userNotFound": "Utilizatorul nu a fost găsit", + "failedToDeleteUser": "Ștergerea utilizatorului a eșuat" + }, + "shares": { + "shareProject": "Partajați proiectul", + "targetUser": "Selectați utilizator", + "selectUserPlaceholder": "Selectați un utilizator...", + "permission": "Permisiune", + "readOnly": "Numai citire", + "readWrite": "Citire și scriere", + "owner": "Proprietar", + "share": "Partajați", + "revoke": "Revocare", + "currentShares": "Utilizatori cu acces", + "noShares": "Încă nu a fost partajat", + "noAvailableUsers": "Nu sunt utilizatori disponibili pentru a partaja", + "shared": "Partajat", + "sharedWithTeam": "Partajat cu echipa" } } diff --git a/public/locales/ru/translation.json b/public/locales/ru/translation.json index 406ed65..7dd156a 100644 --- a/public/locales/ru/translation.json +++ b/public/locales/ru/translation.json @@ -677,7 +677,9 @@ "completion": "Завершение", "completionPercentage": "{{percentage}}% завершено", "toggleDropdownMenu": "Переключить выпадающее меню", - "projectInitials": "Инициалы проекта" + "projectInitials": "Инициалы проекта", + "share": "Поделиться", + "sharedProject": "Поделено с командой" }, "areas": { "title": "Области", @@ -929,5 +931,45 @@ "thursday": "Четверг", "friday": "Пятница", "saturday": "Суббота" + }, + "admin": { + "manageUsers": "Управление пользователями", + "userManagement": "Управление пользователями", + "addUser": "Добавить пользователя", + "remove": "Удалить", + "email": "Электронная почта", + "created": "Создано", + "role": "Роль", + "loadingUsers": "Загрузка пользователей...", + "noUsers": "Нет пользователей", + "admin": "администратор", + "user": "пользователь", + "password": "Пароль", + "name": "Имя", + "surname": "Фамилия", + "authenticationRequired": "Требуется аутентификация", + "forbidden": "Запрещено", + "failedToLoadUsers": "Не удалось загрузить пользователей", + "emailAlreadyExists": "Электронная почта уже существует", + "failedToCreateUser": "Не удалось создать пользователя", + "badRequest": "Неверный запрос", + "userNotFound": "Пользователь не найден", + "failedToDeleteUser": "Не удалось удалить пользователя" + }, + "shares": { + "shareProject": "Поделиться проектом", + "targetUser": "Выбрать пользователя", + "selectUserPlaceholder": "Выберите пользователя...", + "permission": "Разрешение", + "readOnly": "Только для чтения", + "readWrite": "Чтение и запись", + "owner": "Владелец", + "share": "Поделиться", + "revoke": "Отозвать", + "currentShares": "Пользователи с доступом", + "noShares": "Еще не поделено", + "noAvailableUsers": "Нет пользователей, с которыми можно поделиться", + "shared": "Поделено", + "sharedWithTeam": "Поделено с командой" } } diff --git a/public/locales/sl/translation.json b/public/locales/sl/translation.json index 97af05d..90ff0db 100644 --- a/public/locales/sl/translation.json +++ b/public/locales/sl/translation.json @@ -677,7 +677,9 @@ "completion": "Dokončanje", "completionPercentage": "{{percentage}}% končano", "toggleDropdownMenu": "Preklopi spustni meni", - "projectInitials": "Inicialke projekta" + "projectInitials": "Inicialke projekta", + "share": "Deli", + "sharedProject": "Deli z ekipo" }, "areas": { "title": "Območja", @@ -929,5 +931,45 @@ "thursday": "Četrtek", "friday": "Petek", "saturday": "Sobota" + }, + "admin": { + "manageUsers": "Upravljanje uporabnikov", + "userManagement": "Upravljanje uporabnikov", + "addUser": "Dodaj uporabnika", + "remove": "Odstrani", + "email": "E-pošta", + "created": "Ustvarjeno", + "role": "Vloga", + "loadingUsers": "Nalagam uporabnike...", + "noUsers": "Brez uporabnikov", + "admin": "skrbnik", + "user": "uporabnik", + "password": "Geslo", + "name": "Ime", + "surname": "Priimek", + "authenticationRequired": "Zahtevana avtentikacija", + "forbidden": "Prepovedano", + "failedToLoadUsers": "Nalaganje uporabnikov je spodletelo", + "emailAlreadyExists": "E-pošta že obstaja", + "failedToCreateUser": "Ustvarjanje uporabnika je spodletelo", + "badRequest": "Neveljavna zahteva", + "userNotFound": "Uporabnik ni bil najden", + "failedToDeleteUser": "Brisanje uporabnika je spodletelo" + }, + "shares": { + "shareProject": "Deli projekt", + "targetUser": "Izberi uporabnika", + "selectUserPlaceholder": "Izberi uporabnika...", + "permission": "Dovoljenje", + "readOnly": "Samo za branje", + "readWrite": "Branje in pisanje", + "owner": "Lastnik", + "share": "Deli", + "revoke": "Prekliči", + "currentShares": "Uporabniki z dostopom", + "noShares": "Še ni deljeno", + "noAvailableUsers": "Ni uporabnikov, s katerimi bi delili", + "shared": "Deljeno", + "sharedWithTeam": "Deljeno s timom" } } diff --git a/public/locales/sv/translation.json b/public/locales/sv/translation.json index f4b0321..5ca4c46 100644 --- a/public/locales/sv/translation.json +++ b/public/locales/sv/translation.json @@ -677,7 +677,9 @@ "completion": "Slutförande", "completionPercentage": "{{percentage}} % slutfört", "toggleDropdownMenu": "Toggla rullgardinsmeny", - "projectInitials": "Projektinitialer" + "projectInitials": "Projektinitialer", + "share": "Dela", + "sharedProject": "Delad med teamet" }, "areas": { "title": "Områden", @@ -929,5 +931,45 @@ "thursday": "Torsdag", "friday": "Fredag", "saturday": "Lördag" + }, + "admin": { + "manageUsers": "Hantera användare", + "userManagement": "Användarhantering", + "addUser": "Lägg till användare", + "remove": "Ta bort", + "email": "E-post", + "created": "Skapad", + "role": "Roll", + "loadingUsers": "Laddar användare...", + "noUsers": "Inga användare", + "admin": "admin", + "user": "användare", + "password": "Lösenord", + "name": "Namn", + "surname": "Efternamn", + "authenticationRequired": "Autentisering krävs", + "forbidden": "Förbjuden", + "failedToLoadUsers": "Misslyckades med att ladda användare", + "emailAlreadyExists": "E-postadress finns redan", + "failedToCreateUser": "Misslyckades med att skapa användare", + "badRequest": "Felaktig begäran", + "userNotFound": "Användare hittades inte", + "failedToDeleteUser": "Misslyckades med att ta bort användare" + }, + "shares": { + "shareProject": "Dela projekt", + "targetUser": "Välj användare", + "selectUserPlaceholder": "Välj en användare...", + "permission": "Behörighet", + "readOnly": "Endast läsning", + "readWrite": "Läsa & skriva", + "owner": "Ägare", + "share": "Dela", + "revoke": "Återkalla", + "currentShares": "Användare med åtkomst", + "noShares": "Inte delad än", + "noAvailableUsers": "Inga användare tillgängliga att dela med", + "shared": "Delad", + "sharedWithTeam": "Delad med teamet" } } diff --git a/public/locales/tr/translation.json b/public/locales/tr/translation.json index 0915d12..6fed0cf 100644 --- a/public/locales/tr/translation.json +++ b/public/locales/tr/translation.json @@ -677,7 +677,9 @@ "completion": "Tamamlanma", "completionPercentage": "{{percentage}}% tamamlandı", "toggleDropdownMenu": "Açılır menüyü aç/kapa", - "projectInitials": "Proje kısaltmaları" + "projectInitials": "Proje kısaltmaları", + "share": "Paylaş", + "sharedProject": "Takımla paylaşıldı" }, "areas": { "title": "Alanlar", @@ -929,5 +931,45 @@ "thursday": "Perşembe", "friday": "Cuma", "saturday": "Cumartesi" + }, + "admin": { + "manageUsers": "Kullanıcıları yönet", + "userManagement": "Kullanıcı Yönetimi", + "addUser": "Kullanıcı ekle", + "remove": "Kaldır", + "email": "E-posta", + "created": "Oluşturuldu", + "role": "Rol", + "loadingUsers": "Kullanıcılar yükleniyor...", + "noUsers": "Hiç kullanıcı yok", + "admin": "yönetici", + "user": "kullanıcı", + "password": "Şifre", + "name": "Ad", + "surname": "Soyad", + "authenticationRequired": "Kimlik doğrulama gerekli", + "forbidden": "Yasak", + "failedToLoadUsers": "Kullanıcılar yüklenemedi", + "emailAlreadyExists": "E-posta zaten mevcut", + "failedToCreateUser": "Kullanıcı oluşturulamadı", + "badRequest": "Geçersiz istek", + "userNotFound": "Kullanıcı bulunamadı", + "failedToDeleteUser": "Kullanıcı silinemedi" + }, + "shares": { + "shareProject": "Projeyi paylaş", + "targetUser": "Kullanıcı seç", + "selectUserPlaceholder": "Bir kullanıcı seçin...", + "permission": "İzin", + "readOnly": "Sadece okunur", + "readWrite": "Oku ve yaz", + "owner": "Sahibi", + "share": "Paylaş", + "revoke": "Geri al", + "currentShares": "Erişimi olan kullanıcılar", + "noShares": "Henüz paylaşılmadı", + "noAvailableUsers": "Paylaşılacak kullanıcı yok", + "shared": "Paylaşıldı", + "sharedWithTeam": "Takımla paylaşıldı" } } diff --git a/public/locales/ua/translation.json b/public/locales/ua/translation.json index 6e8bc2d..bb6ed9b 100644 --- a/public/locales/ua/translation.json +++ b/public/locales/ua/translation.json @@ -190,7 +190,9 @@ "completion": "Завершення", "completionPercentage": "{{percentage}}% завершено", "toggleDropdownMenu": "Перемкнути випадаюче меню", - "projectInitials": "Ініціали проекту" + "projectInitials": "Ініціали проекту", + "share": "Поділитися", + "sharedProject": "Поділено з командою" }, "forms": { "noteTitle": "Заголовок нотатки", @@ -929,5 +931,45 @@ "thursday": "Четвер", "friday": "П'ятниця", "saturday": "Субота" + }, + "admin": { + "manageUsers": "Керувати користувачами", + "userManagement": "Управління користувачами", + "addUser": "Додати користувача", + "remove": "Видалити", + "email": "Електронна пошта", + "created": "Створено", + "role": "Роль", + "loadingUsers": "Завантаження користувачів...", + "noUsers": "Немає користувачів", + "admin": "адміністратор", + "user": "користувач", + "password": "Пароль", + "name": "Ім'я", + "surname": "Прізвище", + "authenticationRequired": "Необхідна аутентифікація", + "forbidden": "Заборонено", + "failedToLoadUsers": "Не вдалося завантажити користувачів", + "emailAlreadyExists": "Електронна пошта вже існує", + "failedToCreateUser": "Не вдалося створити користувача", + "badRequest": "Неправильний запит", + "userNotFound": "Користувача не знайдено", + "failedToDeleteUser": "Не вдалося видалити користувача" + }, + "shares": { + "shareProject": "Поділитися проектом", + "targetUser": "Вибрати користувача", + "selectUserPlaceholder": "Виберіть користувача...", + "permission": "Дозвіл", + "readOnly": "Тільки для читання", + "readWrite": "Читання та запис", + "owner": "Власник", + "share": "Поділитися", + "revoke": "Скасувати", + "currentShares": "Користувачі з доступом", + "noShares": "Ще не поділено", + "noAvailableUsers": "Немає користувачів для спільного використання", + "shared": "Поділено", + "sharedWithTeam": "Поділено з командою" } } diff --git a/public/locales/vi/translation.json b/public/locales/vi/translation.json index 1b86d3f..9f045f3 100644 --- a/public/locales/vi/translation.json +++ b/public/locales/vi/translation.json @@ -677,7 +677,9 @@ "completion": "Hoàn thành", "completionPercentage": "{{percentage}}% đã hoàn thành", "toggleDropdownMenu": "Chuyển đổi menu thả xuống", - "projectInitials": "Chữ cái đầu của dự án" + "projectInitials": "Chữ cái đầu của dự án", + "share": "Chia sẻ", + "sharedProject": "Đã chia sẻ với nhóm" }, "areas": { "title": "Khu vực", @@ -929,5 +931,45 @@ "thursday": "Thứ năm", "friday": "Thứ sáu", "saturday": "Thứ bảy" + }, + "admin": { + "manageUsers": "Quản lý người dùng", + "userManagement": "Quản lý người dùng", + "addUser": "Thêm người dùng", + "remove": "Xóa", + "email": "Email", + "created": "Đã tạo", + "role": "Vai trò", + "loadingUsers": "Đang tải người dùng...", + "noUsers": "Không có người dùng", + "admin": "quản trị viên", + "user": "người dùng", + "password": "Mật khẩu", + "name": "Tên", + "surname": "Họ", + "authenticationRequired": "Cần xác thực", + "forbidden": "Bị cấm", + "failedToLoadUsers": "Không thể tải người dùng", + "emailAlreadyExists": "Email đã tồn tại", + "failedToCreateUser": "Không thể tạo người dùng", + "badRequest": "Yêu cầu không hợp lệ", + "userNotFound": "Không tìm thấy người dùng", + "failedToDeleteUser": "Không thể xóa người dùng" + }, + "shares": { + "shareProject": "Chia sẻ dự án", + "targetUser": "Chọn người dùng", + "selectUserPlaceholder": "Chọn một người dùng...", + "permission": "Quyền", + "readOnly": "Chỉ đọc", + "readWrite": "Đọc & ghi", + "owner": "Chủ sở hữu", + "share": "Chia sẻ", + "revoke": "Thu hồi", + "currentShares": "Người dùng có quyền truy cập", + "noShares": "Chưa chia sẻ", + "noAvailableUsers": "Không có người dùng nào để chia sẻ", + "shared": "Đã chia sẻ", + "sharedWithTeam": "Đã chia sẻ với nhóm" } } diff --git a/public/locales/zh/translation.json b/public/locales/zh/translation.json index 52afdd1..dd673e4 100644 --- a/public/locales/zh/translation.json +++ b/public/locales/zh/translation.json @@ -677,7 +677,9 @@ "completion": "完成", "completionPercentage": "{{percentage}}% 完成", "toggleDropdownMenu": "切换下拉菜单", - "projectInitials": "项目首字母" + "projectInitials": "项目首字母", + "share": "分享", + "sharedProject": "与团队共享" }, "areas": { "title": "区域", @@ -929,5 +931,45 @@ "thursday": "星期四", "friday": "星期五", "saturday": "星期六" + }, + "admin": { + "manageUsers": "管理用户", + "userManagement": "用户管理", + "addUser": "添加用户", + "remove": "移除", + "email": "电子邮件", + "created": "创建时间", + "role": "角色", + "loadingUsers": "正在加载用户...", + "noUsers": "没有用户", + "admin": "管理员", + "user": "用户", + "password": "密码", + "name": "姓名", + "surname": "姓氏", + "authenticationRequired": "需要身份验证", + "forbidden": "禁止", + "failedToLoadUsers": "加载用户失败", + "emailAlreadyExists": "电子邮件已存在", + "failedToCreateUser": "创建用户失败", + "badRequest": "错误的请求", + "userNotFound": "用户未找到", + "failedToDeleteUser": "删除用户失败" + }, + "shares": { + "shareProject": "分享项目", + "targetUser": "选择用户", + "selectUserPlaceholder": "选择一个用户...", + "permission": "权限", + "readOnly": "只读", + "readWrite": "读写", + "owner": "所有者", + "share": "分享", + "revoke": "撤销", + "currentShares": "有访问权限的用户", + "noShares": "尚未共享", + "noAvailableUsers": "没有可共享的用户", + "shared": "已共享", + "sharedWithTeam": "与团队共享" } }