Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions src/locales/de.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{
"lessonSelection":
{
"welcomeInstructor": "Willkommen, Dozent!",
"welcomeTo": "Willkommen bei",
"resetprogress": "Fortschritt zurücksetzen",
"select": "Bitte wählen Sie einen",
"course": "Kurs",
"lessonplan": "Unterrichtsplan",
"onlyselect": "Auswählen",
"aresure": "Sind Sie sicher?",
"reset": "Fortschritt zurückgesetzt!"
},
"problem":
{
"NextProblem": "Nächstes Problem",
"PreviousProblem": "Vorheriges Problem",
"Submit": "Absenden",
"Feedback": "Rückmeldung",
"Response": "Antwort",
"Thanks": "Vielen Dank für Ihr Feedback!",
"Description": "Wenn Sie auf ein Problem stoßen, können Sie hier Feedback geben. Bitte reichen Sie das Feedback für alle Teile der Aufgabe gemeinsam ein.",
"Derivative": "ist eine Ableitung von",
"Used": ", verwendet unter"
},
"platform":
{
"Mastery": "Lernfortschritt: ",
"LoggedIn": "Nicht angemeldet"
},
"hintsystem":
{
"hint": "Hinweis",
"answer": "Antwort",
"answerIs": "Die Antwort ist "
},
"toast":
{
"correct": "Richtige Antwort!",
"incorrect": "Falsche Antwort!",
"simplify": "Bitte vereinfachen!",
"cantProcess": "Unser System konnte diese Antwort nicht verarbeiten",
"stepComplete": "Schritt abgeschlossen!",
"provideAnswer": "Bitte geben Sie eine Antwort ein."
}
}
8 changes: 4 additions & 4 deletions src/util/LocalizationContext.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,20 @@ export const LocalizationProvider = ({ children }) => {
const [language, setLanguage] = useState(() => {
const hashParams = new URLSearchParams(window.location.hash.split('?')[1]);
const langFromUrl = hashParams.get('locale');
if (langFromUrl && ['en', 'es', 'se'].includes(langFromUrl)) {
if (langFromUrl && ['en', 'es', 'se', 'de'].includes(langFromUrl)) {
localStorage.setItem('locale', langFromUrl);
localStorage.setItem('defaultLocale', langFromUrl);
return langFromUrl;
}
const storedLocale = localStorage.getItem('locale');
return storedLocale && ['en', 'es', 'se'].includes(storedLocale) ? storedLocale : 'en';
return storedLocale && ['en', 'es', 'se', 'de'].includes(storedLocale) ? storedLocale : 'en';
});

useEffect(() => {
const updateLanguageFromUrl = () => {
const hashParams = new URLSearchParams(window.location.hash.split('?')[1]);
const langFromUrl = hashParams.get('locale');
if (langFromUrl && ['en', 'es', 'se'].includes(langFromUrl)) {
if (langFromUrl && ['en', 'es', 'se', 'de'].includes(langFromUrl)) {
setLanguage(langFromUrl);
localStorage.setItem('locale', langFromUrl);
localStorage.setItem('defaultLocale', langFromUrl);
Expand All @@ -34,7 +34,7 @@ export const LocalizationProvider = ({ children }) => {
}, []);

useEffect(() => {
if (['en', 'es', 'se'].includes(language)) {
if (['en', 'es', 'se', 'de'].includes(language)) {
localStorage.setItem('locale', language);
}
}, [language]);
Expand Down
3 changes: 3 additions & 0 deletions src/util/useTranslation.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ import { useLocalization } from "./LocalizationContext";
import translationsEn from "../locales/en.json";
import translationsEs from "../locales/es.json";
import translationsSe from "../locales/se.json";
import translationsDe from "../locales/de.json";


export const useTranslation = () => {
const { language, setLanguage } = useLocalization();
Expand All @@ -11,6 +13,7 @@ export const useTranslation = () => {
en: translationsEn,
es: translationsEs,
se: translationsSe,
de: translationsDe,
};

const translations = translationsMap[language] || translationsMap['en'];
Expand Down