diff --git a/messages/en.json b/messages/en.json
index bdd2a21..2f9bed3 100644
--- a/messages/en.json
+++ b/messages/en.json
@@ -251,5 +251,74 @@
"entity_kanban_column": "column",
"entity_member": "member",
"entity_role": "role",
- "entity_invite": "invite"
+ "entity_invite": "invite",
+ "entity_event": "event",
+ "nav_events": "Events",
+ "events_title": "Events",
+ "events_subtitle": "Organize and manage your events",
+ "events_new": "New Event",
+ "events_create": "Create Event",
+ "events_empty_title": "No events yet",
+ "events_empty_desc": "Create your first event to get started",
+ "events_no_dates": "No dates set",
+ "events_tab_all": "All Events",
+ "events_tab_planning": "Planning",
+ "events_tab_active": "Active",
+ "events_tab_completed": "Completed",
+ "events_tab_archived": "Archived",
+ "events_status_planning": "Planning",
+ "events_status_active": "Active",
+ "events_status_completed": "Completed",
+ "events_status_archived": "Archived",
+ "events_form_name": "Event Name",
+ "events_form_name_placeholder": "e.g., Summer Conference 2026",
+ "events_form_description": "Description",
+ "events_form_description_placeholder": "Brief description of the event...",
+ "events_form_start_date": "Start Date",
+ "events_form_end_date": "End Date",
+ "events_form_venue": "Venue",
+ "events_form_venue_placeholder": "e.g., Convention Center",
+ "events_form_venue_address_placeholder": "Venue address",
+ "events_form_color": "Color",
+ "events_form_select_color": "Select color {color}",
+ "events_creating": "Creating...",
+ "events_saving": "Saving...",
+ "events_deleting": "Deleting...",
+ "events_updated": "Event updated",
+ "events_created": "Event \"{name}\" created",
+ "events_deleted": "Event deleted",
+ "events_delete_title": "Delete Event?",
+ "events_delete_desc": "This will permanently delete {name} and all its data. This action cannot be undone.",
+ "events_delete_confirm": "Delete Event",
+ "events_days_ago": "{count} days ago",
+ "events_today": "Today!",
+ "events_tomorrow": "Tomorrow",
+ "events_in_days": "In {count} days",
+ "events_overview": "Overview",
+ "events_modules": "Modules",
+ "events_details": "Event Details",
+ "events_start_date": "Start Date",
+ "events_end_date": "End Date",
+ "events_venue": "Venue",
+ "events_not_set": "Not set",
+ "events_all_events": "All Events",
+ "events_team": "Team",
+ "events_team_count": "Team ({count})",
+ "events_team_manage": "Manage",
+ "events_team_empty": "No team members assigned yet",
+ "events_more_members": "+{count} more",
+ "events_mod_tasks": "Tasks",
+ "events_mod_tasks_desc": "Manage tasks, milestones, and progress",
+ "events_mod_files": "Files",
+ "events_mod_files_desc": "Documents, contracts, and media",
+ "events_mod_schedule": "Schedule",
+ "events_mod_schedule_desc": "Event timeline and program",
+ "events_mod_budget": "Budget",
+ "events_mod_budget_desc": "Income, expenses, and tracking",
+ "events_mod_guests": "Guests",
+ "events_mod_guests_desc": "Guest list and registration",
+ "events_mod_team": "Team",
+ "events_mod_team_desc": "Team members and shift scheduling",
+ "events_mod_sponsors": "Sponsors",
+ "events_mod_sponsors_desc": "Sponsors, partners, and deliverables"
}
\ No newline at end of file
diff --git a/messages/et.json b/messages/et.json
index deba226..b3be0d3 100644
--- a/messages/et.json
+++ b/messages/et.json
@@ -251,5 +251,74 @@
"entity_kanban_column": "veeru",
"entity_member": "liikme",
"entity_role": "rolli",
- "entity_invite": "kutse"
+ "entity_invite": "kutse",
+ "entity_event": "ürituse",
+ "nav_events": "Üritused",
+ "events_title": "Üritused",
+ "events_subtitle": "Korralda ja halda oma üritusi",
+ "events_new": "Uus üritus",
+ "events_create": "Loo üritus",
+ "events_empty_title": "Üritusi pole veel",
+ "events_empty_desc": "Loo oma esimene üritus alustamiseks",
+ "events_no_dates": "Kuupäevad määramata",
+ "events_tab_all": "Kõik üritused",
+ "events_tab_planning": "Planeerimisel",
+ "events_tab_active": "Aktiivne",
+ "events_tab_completed": "Lõpetatud",
+ "events_tab_archived": "Arhiveeritud",
+ "events_status_planning": "Planeerimisel",
+ "events_status_active": "Aktiivne",
+ "events_status_completed": "Lõpetatud",
+ "events_status_archived": "Arhiveeritud",
+ "events_form_name": "Ürituse nimi",
+ "events_form_name_placeholder": "nt Suvekonverents 2026",
+ "events_form_description": "Kirjeldus",
+ "events_form_description_placeholder": "Ürituse lühikirjeldus...",
+ "events_form_start_date": "Alguskuupäev",
+ "events_form_end_date": "Lõppkuupäev",
+ "events_form_venue": "Toimumiskoht",
+ "events_form_venue_placeholder": "nt Konverentsikeskus",
+ "events_form_venue_address_placeholder": "Toimumiskoha aadress",
+ "events_form_color": "Värv",
+ "events_form_select_color": "Vali värv {color}",
+ "events_creating": "Loomine...",
+ "events_saving": "Salvestamine...",
+ "events_deleting": "Kustutamine...",
+ "events_updated": "Üritus uuendatud",
+ "events_created": "Üritus \"{name}\" loodud",
+ "events_deleted": "Üritus kustutatud",
+ "events_delete_title": "Kustuta üritus?",
+ "events_delete_desc": "See kustutab jäädavalt ürituse {name} ja kõik selle andmed. Seda toimingut ei saa tagasi võtta.",
+ "events_delete_confirm": "Kustuta üritus",
+ "events_days_ago": "{count} päeva tagasi",
+ "events_today": "Täna!",
+ "events_tomorrow": "Homme",
+ "events_in_days": "{count} päeva pärast",
+ "events_overview": "Ülevaade",
+ "events_modules": "Moodulid",
+ "events_details": "Ürituse andmed",
+ "events_start_date": "Alguskuupäev",
+ "events_end_date": "Lõppkuupäev",
+ "events_venue": "Toimumiskoht",
+ "events_not_set": "Määramata",
+ "events_all_events": "Kõik üritused",
+ "events_team": "Meeskond",
+ "events_team_count": "Meeskond ({count})",
+ "events_team_manage": "Halda",
+ "events_team_empty": "Meeskonnaliikmeid pole veel määratud",
+ "events_more_members": "+{count} veel",
+ "events_mod_tasks": "Ülesanded",
+ "events_mod_tasks_desc": "Halda ülesandeid, verstaposte ja edenemist",
+ "events_mod_files": "Failid",
+ "events_mod_files_desc": "Dokumendid, lepingud ja meedia",
+ "events_mod_schedule": "Ajakava",
+ "events_mod_schedule_desc": "Ürituse ajakava ja programm",
+ "events_mod_budget": "Eelarve",
+ "events_mod_budget_desc": "Tulud, kulud ja jälgimine",
+ "events_mod_guests": "Külalised",
+ "events_mod_guests_desc": "Külaliste nimekiri ja registreerimine",
+ "events_mod_team": "Meeskond",
+ "events_mod_team_desc": "Meeskonnaliikmed ja vahetuste planeerimine",
+ "events_mod_sponsors": "Sponsorid",
+ "events_mod_sponsors_desc": "Sponsorid, partnerid ja kohustused"
}
\ No newline at end of file
diff --git a/src/routes/[orgSlug]/+layout.svelte b/src/routes/[orgSlug]/+layout.svelte
index 51a7d42..9cffd9e 100644
--- a/src/routes/[orgSlug]/+layout.svelte
+++ b/src/routes/[orgSlug]/+layout.svelte
@@ -125,7 +125,7 @@
: []),
{
href: `/${data.org.slug}/events`,
- label: "Events",
+ label: m.nav_events(),
icon: "celebration",
},
{
diff --git a/src/routes/[orgSlug]/events/+page.svelte b/src/routes/[orgSlug]/events/+page.svelte
index e1d0e80..16bd286 100644
--- a/src/routes/[orgSlug]/events/+page.svelte
+++ b/src/routes/[orgSlug]/events/+page.svelte
@@ -6,6 +6,7 @@
import type { SupabaseClient } from "@supabase/supabase-js";
import type { Database } from "$lib/supabase/types";
import { toasts } from "$lib/stores/ui";
+ import * as m from "$lib/paraglide/messages";
interface EventItem {
id: string;
@@ -48,13 +49,13 @@
let newEventColor = $state("#00A3E0");
let creating = $state(false);
- const statusTabs = [
- { value: "all", label: "All Events", icon: "apps" },
- { value: "planning", label: "Planning", icon: "edit_note" },
- { value: "active", label: "Active", icon: "play_circle" },
- { value: "completed", label: "Completed", icon: "check_circle" },
- { value: "archived", label: "Archived", icon: "archive" },
- ];
+ const statusTabs = $derived([
+ { value: "all", label: m.events_tab_all(), icon: "apps" },
+ { value: "planning", label: m.events_tab_planning(), icon: "edit_note" },
+ { value: "active", label: m.events_tab_active(), icon: "play_circle" },
+ { value: "completed", label: m.events_tab_completed(), icon: "check_circle" },
+ { value: "archived", label: m.events_tab_archived(), icon: "archive" },
+ ]);
const presetColors = [
"#00A3E0",
@@ -100,7 +101,7 @@
start: string | null,
end: string | null,
): string {
- if (!start && !end) return "No dates set";
+ if (!start && !end) return m.events_no_dates();
if (start && !end) return formatDate(start);
if (!start && end) return `Until ${formatDate(end)}`;
return `${formatDate(start)} — ${formatDate(end)}`;
@@ -134,7 +135,7 @@
if (error) throw error;
- toasts.success(`Event "${created.name}" created`);
+ toasts.success(m.events_created({ name: created.name }));
showCreateModal = false;
resetForm();
goto(`/${data.org.slug}/events/${created.slug}`);
@@ -166,7 +167,7 @@
- Organize and manage your events + {m.events_subtitle()}
No events yet
+{m.events_empty_title()}
- Create your first event to get started + {m.events_empty_desc()}
{#if isEditor} {/if}- Team ({data.eventMembers.length}) + {m.events_team_count({ count: String(data.eventMembers.length) })}
- Start Date + {m.events_start_date()}
{formatDate(data.event.start_date)} @@ -446,7 +447,7 @@ >event
End Date
+{m.events_end_date()}
{formatDate(data.event.end_date)}
@@ -460,7 +461,7 @@ >location_onVenue
+{m.events_venue()}
{data.event.venue_name}
@@ -479,12 +480,12 @@- No team members assigned yet + {m.events_team_empty()}
{/if}- This will permanently delete {data.event.name} - and all its data. This action cannot be undone. + {m.events_delete_desc({ name: data.event.name })}