diff --git a/frontend/src/auth.rs b/frontend/src/auth.rs index 77fc817..831d601 100644 --- a/frontend/src/auth.rs +++ b/frontend/src/auth.rs @@ -109,7 +109,7 @@ pub fn protected_route(props: &ProtectedRouteProps) -> Html { AuthState { is_authenticated: None, .. - } => html! {
{ "Loading..." }
}, + } => html! {
{ "Lade..." }
}, AuthState { is_authenticated: Some(false), .. @@ -126,7 +126,7 @@ pub fn protected_route(props: &ProtectedRouteProps) -> Html { Some(false) => { html! { to={crate::Route::PermissionDenied}/> } } - None => html! {
{ "Checking permissions..." }
}, + None => html! {
{ "Berechtigungen werden geprüft..." }
}, } } else { props.children.clone().into() diff --git a/frontend/src/lib.rs b/frontend/src/lib.rs index 8d411b3..94bdc4c 100644 --- a/frontend/src/lib.rs +++ b/frontend/src/lib.rs @@ -147,10 +147,10 @@ fn admin_check_wrapper(props: &AdminCheckWrapperProps) -> Html { } match *admin_exists { - None => html! {
{ "Loading..." }
}, + None => html! {
{ "Lade..." }
}, Some(false) => { navigator.push(&Route::Setup); - html! {
{ "Redirecting to setup..." }
} + html! {
{ "Leite weiter zur Einrichtung..." }
} } Some(true) => props.children.clone().into(), } diff --git a/frontend/src/pages/basic_pages.rs b/frontend/src/pages/basic_pages.rs index 90c5c9f..cc09938 100644 --- a/frontend/src/pages/basic_pages.rs +++ b/frontend/src/pages/basic_pages.rs @@ -72,7 +72,7 @@ pub fn home_component() -> Html { ); name.set(name_value); } - _ => name.set("Unknown".to_string()), + _ => name.set("Unbekannt".to_string()), } }); || () @@ -82,11 +82,11 @@ pub fn home_component() -> Html { html! {
-

{ "You are logged in as: " }

+

{ "Sie sind angemeldet als: " }

{ &*name }

@@ -106,13 +106,13 @@ pub fn home_component() -> Html { /// ``` #[component(NotFound)] pub fn not_found_component() -> Html { - let message = "404 Not found"; + let message = "404 Nicht gefunden"; html! {

{&message}

-

{ "The page you are looking for does not exist." }

- to={crate::Route::Home}>{ "Back to Home" }> +

{ "Die von Ihnen gesuchte Seite existiert nicht." }

+ to={crate::Route::Home}>{ "Zurück zur Startseite" }>
} @@ -135,10 +135,10 @@ pub fn denied_component() -> Html { html! {
-

{ "Access Denied" }

+

{ "Zugriff verweigert" }

{ "Sie haben nicht die benötigten Rechte um diese Seite aufzurufen" }

{ "Wenn sie denken, dass dies ein Fehler ist kontaktieren sie Herrn Winter" }

- to={crate::Route::Home}>{ "Back to Home" }> + to={crate::Route::Home}>{ "Zurück zur Startseite" }>
} diff --git a/frontend/src/pages/setup.rs b/frontend/src/pages/setup.rs index e6362c9..dfa86d4 100644 --- a/frontend/src/pages/setup.rs +++ b/frontend/src/pages/setup.rs @@ -103,7 +103,7 @@ pub fn initial_admin_setup() -> Html { } if !*admin_check_done { - return html! {
{ "Checking..." }
}; + return html! {
{ "Wird überprüft..." }
}; } let onsubmit = { @@ -121,17 +121,17 @@ pub fn initial_admin_setup() -> Html { e.prevent_default(); if (*pwd).is_empty() || (*pwd_confirm).is_empty() { - error.set("Password fields cannot be empty".to_string()); + error.set("Passwortfelder dürfen nicht leer sein".to_string()); return; } if *pwd != *pwd_confirm { - error.set("Passwords do not match".to_string()); + error.set("Passwörter stimmen nicht überein".to_string()); return; } if (*username).is_empty() { - error.set("Username cannot be empty".to_string()); + error.set("Benutzername darf nicht leer sein".to_string()); return; } @@ -175,7 +175,7 @@ pub fn initial_admin_setup() -> Html { let text = r.text().await.unwrap_or_else(|_| "unknown".into()); error.set(format!("HTTP {}: {}", r.status(), text)); } - Err(err) => error.set(format!("Network error: {}", err)), + Err(err) => error.set(format!("Netzwerkfehler: {}", err)), } }); }) @@ -184,16 +184,16 @@ pub fn initial_admin_setup() -> Html { html! {
-

{ "Initial Admin Setup" }

-

{ "Create your first administrator account" }

+

{ "Erstmalige Admin-Einrichtung" }

+

{ "Erstellen Sie Ihr erstes Administrator-Konto" }

-
-
-
-
-
if !error.is_empty() { @@ -272,7 +272,7 @@ pub fn initial_admin_setup() -> Html { } if *success { -

{ "Admin account created successfully! Redirecting to login..." }

+

{ "Admin-Konto erfolgreich erstellt! Weiterleitung zum Login..." }

}
diff --git a/frontend/src/pages/sidebar.rs b/frontend/src/pages/sidebar.rs index a620efe..4034cde 100644 --- a/frontend/src/pages/sidebar.rs +++ b/frontend/src/pages/sidebar.rs @@ -234,10 +234,10 @@ pub fn ticket_menu() -> Html { html! { } @@ -289,7 +289,7 @@ pub fn users_menu() -> Html { onclick={on_toggle} aria-expanded={open.to_string()} > - { "Users" } + { "Benutzer" } { if open { " ▾" } else { " ▸" } } @@ -298,10 +298,10 @@ pub fn users_menu() -> Html { html! { } @@ -379,7 +379,7 @@ pub fn sidebar() -> Html { }; match *is_admin { - None => html! { }, + None => html! { }, // Non-admin: render a condensed user sidebar (no diagnostics, limited links) Some(false) => html! { @@ -393,7 +393,7 @@ pub fn sidebar() -> Html { class="logout-button" onclick={on_logout.clone()} > - { "Logout" } + { "Abmelden" } @@ -416,7 +416,7 @@ pub fn sidebar() -> Html { class="logout-button" onclick={on_logout.clone()} > - { "Logout" } + { "Abmelden" } diff --git a/frontend/src/pages/ticket.rs b/frontend/src/pages/ticket.rs index 710c35b..bd84065 100644 --- a/frontend/src/pages/ticket.rs +++ b/frontend/src/pages/ticket.rs @@ -180,7 +180,7 @@ pub fn submit_ticket_component() -> Html { Callback::from(move |e: SubmitEvent| { e.prevent_default(); if room.is_none() { - status.set(Some("Invalid room".into())); + status.set(Some("Ungültiger Raum".into())); return; } let category = (*category).clone(); @@ -188,7 +188,7 @@ pub fn submit_ticket_component() -> Html { let description = (*description).clone(); let room = room.unwrap(); if !valid_rooms.contains(&room) { - status.set(Some("Room not allowed".into())); + status.set(Some("Raum nicht erlaubt".into())); return; } let status = status.clone(); @@ -208,9 +208,9 @@ pub fn submit_ticket_component() -> Html { .expect("Failed to build request"); match request.send().await { - Ok(response) if response.status() == 200 => status.set(Some("Success".into())), - Ok(response) => status.set(Some(format!("Error: {}", response.status()))), - Err(err) => status.set(Some(format!("Network error: {}", err))), + Ok(response) if response.status() == 200 => status.set(Some("Erfolgreich".into())), + Ok(response) => status.set(Some(format!("Fehler: {}", response.status()))), + Err(err) => status.set(Some(format!("Netzwerkfehler: {}", err))), } }); }) @@ -286,7 +286,7 @@ pub fn submit_ticket_component() -> Html { html! {