feat: add language change functionality and update translations in Header and locale files
This commit is contained in:
@@ -26,6 +26,7 @@ import {
|
|||||||
LogOut,
|
LogOut,
|
||||||
CalendarPlus,
|
CalendarPlus,
|
||||||
MoreVertical,
|
MoreVertical,
|
||||||
|
Flag,
|
||||||
} from "lucide-react";
|
} from "lucide-react";
|
||||||
import { useUserContext } from "@/states/Context";
|
import { useUserContext } from "@/states/Context";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
@@ -166,6 +167,21 @@ export const Header = () => {
|
|||||||
</HStack>
|
</HStack>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
<Menu.Item
|
||||||
|
value="change-language"
|
||||||
|
onSelect={() => {
|
||||||
|
const currentLang = Cookies.get("language") || "en";
|
||||||
|
const newLang = currentLang === "en" ? "de" : "en";
|
||||||
|
Cookies.set("language", newLang);
|
||||||
|
window.location.reload();
|
||||||
|
}}
|
||||||
|
children={
|
||||||
|
<HStack gap={3}>
|
||||||
|
<LifeBuoy size={16} />
|
||||||
|
<Text as="span">{t("change-language")}</Text>
|
||||||
|
</HStack>
|
||||||
|
}
|
||||||
|
/>
|
||||||
<Menu.Item
|
<Menu.Item
|
||||||
value="help"
|
value="help"
|
||||||
onSelect={() =>
|
onSelect={() =>
|
||||||
@@ -276,6 +292,21 @@ export const Header = () => {
|
|||||||
</HStack>
|
</HStack>
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
variant="ghost"
|
||||||
|
onClick={() => {
|
||||||
|
const currentLang = Cookies.get("language") || "en";
|
||||||
|
const newLang = currentLang === "en" ? "de" : "en";
|
||||||
|
Cookies.set("language", newLang);
|
||||||
|
window.location.reload();
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<HStack gap={2}>
|
||||||
|
<Flag size={18} />
|
||||||
|
<Text as="span">{t("change-language")}</Text>
|
||||||
|
</HStack>
|
||||||
|
</Button>
|
||||||
|
|
||||||
<a
|
<a
|
||||||
href="https://git.the1s.de/Matthias-Claudius-Schule/borrow-system/wiki"
|
href="https://git.the1s.de/Matthias-Claudius-Schule/borrow-system/wiki"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
|
|||||||
@@ -58,5 +58,6 @@
|
|||||||
"sure-delete-loan-0": "Möchten Sie die Ausleihe mit dem ",
|
"sure-delete-loan-0": "Möchten Sie die Ausleihe mit dem ",
|
||||||
"sure-delete-loan-1": " Ausleihcode wirklich löschen?",
|
"sure-delete-loan-1": " Ausleihcode wirklich löschen?",
|
||||||
"sure-delete-loan-2": "Für den Admin bleibt sie weiterhin sichtbar.",
|
"sure-delete-loan-2": "Für den Admin bleibt sie weiterhin sichtbar.",
|
||||||
"delete": "Löschen"
|
"delete": "Löschen",
|
||||||
|
"change-language": "Sprache ändern"
|
||||||
}
|
}
|
||||||
@@ -58,5 +58,6 @@
|
|||||||
"sure-delete-loan-0": "Do you really want to delete the loan with the ",
|
"sure-delete-loan-0": "Do you really want to delete the loan with the ",
|
||||||
"sure-delete-loan-1": " loan code?",
|
"sure-delete-loan-1": " loan code?",
|
||||||
"sure-delete-loan-2": "It will remain visible to the admin.",
|
"sure-delete-loan-2": "It will remain visible to the admin.",
|
||||||
"delete": "Delete"
|
"delete": "Delete",
|
||||||
|
"change-language": "Change language"
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user