+ type="text"
+ :loading="loading"
+ >
- {{ exercise.nameDe }}
+ {{ $t('help.scoreBoard.exerciseNr', [exercise.exerciseNr]) }}
+
+
-
- {{ exercise.descriptionDe }}
+
+
+
+
+ {{ exercise.nameDe }}
+
+
+
+
+ {{ exercise.descriptionDe }}
+
-
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/software/src/pages/misc/preferencesPage/systemSetup.vue b/software/src/pages/misc/preferencesPage/systemSetup.vue
index 8104c55..f35d683 100644
--- a/software/src/pages/misc/preferencesPage/systemSetup.vue
+++ b/software/src/pages/misc/preferencesPage/systemSetup.vue
@@ -63,7 +63,7 @@ async function resetExerciseProg() {
>
- {{ $t('serverState') }}:
+ {{ $t('preferences.serverState') }}:
Online
@@ -95,7 +95,7 @@ async function resetExerciseProg() {
color="red"
:disabled="serverOnline != ServerStateEnum.ONLINE"
>
- {{ $t('resetDatabase') }}
+ {{ $t('preferences.resetDatabase.resetDatabase') }}
@@ -108,7 +108,7 @@ async function resetExerciseProg() {
color="red"
:disabled="serverOnline != ServerStateEnum.ONLINE"
>
- {{ $t('resetProgress') }}
+ {{ $t('preferences.resetExerciseProgress.resetExerciseProgress') }}
@@ -116,16 +116,16 @@ async function resetExerciseProg() {
diff --git a/software/src/pages/misc/searchPage/index.vue b/software/src/pages/misc/searchPage/index.vue
index 9ebf6b8..cb157ab 100644
--- a/software/src/pages/misc/searchPage/index.vue
+++ b/software/src/pages/misc/searchPage/index.vue
@@ -26,7 +26,7 @@ const searchStore = useSearchStore()
-
+
@@ -55,7 +55,7 @@ const searchStore = useSearchStore()
@@ -66,7 +66,7 @@ const searchStore = useSearchStore()
-
+
@@ -95,7 +95,7 @@ const searchStore = useSearchStore()
@@ -106,7 +106,7 @@ const searchStore = useSearchStore()
-
+
@@ -135,7 +135,7 @@ const searchStore = useSearchStore()
diff --git a/software/src/pages/misc/searchPage/searchBar.vue b/software/src/pages/misc/searchPage/searchBar.vue
index 0cc4873..1e868d9 100644
--- a/software/src/pages/misc/searchPage/searchBar.vue
+++ b/software/src/pages/misc/searchPage/searchBar.vue
@@ -11,7 +11,7 @@ const searchStore = useSearchStore()
variant="outlined"
hide-details
v-model="searchStore.searchTerm"
- :placeholder="$t('enterSomeKeywords')"
+ :placeholder="$t('misc.enterSomeKeywords')"
@keyup.enter="searchStore.startSearch"
>
diff --git a/software/src/scripts/validationRules.ts b/software/src/scripts/validationRules.ts
index aecdc95..4e33acb 100644
--- a/software/src/scripts/validationRules.ts
+++ b/software/src/scripts/validationRules.ts
@@ -13,21 +13,21 @@ export function getStringRules() {
if (value) {
return true
} else {
- return feedbackStore.i18n.t('required')
+ return feedbackStore.i18n.t('misc.validation.required')
}
},
value => {
if (/[^0-9]/.test(value)) {
return true
} else {
- return feedbackStore.i18n.t('noDigitsAllowed')
+ return feedbackStore.i18n.t('misc.validation.noDigitsAllowed')
}
},
value => {
if (value?.length >= 4) {
return true
} else {
- return feedbackStore.i18n.t('notEnoughChars')
+ return feedbackStore.i18n.t('misc.validation.notEnoughChars')
}
}
]
@@ -46,23 +46,23 @@ export function getPostalRules() {
if (value?.length == 5) {
return true
} else if (value?.length < 5) {
- return feedbackStore.i18n.t('notEnoughChars')
+ return feedbackStore.i18n.t('misc.validation.notEnoughChars')
} else {
- return feedbackStore.i18n.t('tooMuchChars')
+ return feedbackStore.i18n.t('misc.validation.tooMuchChars')
}
},
value => {
if (value?.length == 5) {
return true
} else {
- return feedbackStore.i18n.t('notEnoughChars')
+ return feedbackStore.i18n.t('misc.validation.notEnoughChars')
}
},
value => {
if (/^\d+$/.test(value)) {
return true
} else {
- return feedbackStore.i18n.t('onlyDigitsAllowed')
+ return feedbackStore.i18n.t('misc.validation.onlyDigitsAllowed')
}
}
]
@@ -81,14 +81,14 @@ export function getNumberStartRules() {
if (value) {
return true
} else {
- return feedbackStore.i18n.t('required')
+ return feedbackStore.i18n.t('misc.validation.required')
}
},
value => {
if (/^\d/.test(value)) {
return true
} else {
- return feedbackStore.i18n.t('digitsAtStartNeeded')
+ return feedbackStore.i18n.t('misc.validation.digitsAtStartNeeded')
}
},
]
@@ -106,12 +106,12 @@ export function getEmailRules() {
value => {
if (value) return true
- return feedbackStore.i18n.t('emailRequired')
+ return feedbackStore.i18n.t('account.emailRequired')
},
value => {
if (/.+@.+\..+/.test(value)) return true
- return feedbackStore.i18n.t('emailIsNotValid')
+ return feedbackStore.i18n.t('account.emailIsNotValid')
},
]
}
@@ -129,14 +129,14 @@ export function getPasswordRules() {
if (value) {
return true
} else {
- return feedbackStore.i18n.t('required')
+ return feedbackStore.i18n.t('misc.validation.required')
}
},
value => {
if (value?.length >= 8) {
return true
} else {
- return feedbackStore.i18n.t('passwordToShort')
+ return feedbackStore.i18n.t('misc.validation.notEnoughChars')
}
}
]
@@ -155,14 +155,14 @@ export function getIbanRules() {
if (value) {
return true
} else {
- return feedbackStore.i18n.t('required')
+ return feedbackStore.i18n.t('misc.validation.required')
}
},
value => {
if (/[A-Z]{2}[0-9]{2}(?:[ ]?[0-9]{4}){4}(?!(?:[ ]?[0-9]){3})(?:[ ]?[0-9]{1,2})?/.test(value)) {
return true
} else {
- return feedbackStore.i18n.t('wrongIban')
+ return feedbackStore.i18n.t('account.wrongIban')
}
}
]
diff --git a/software/src/stores/feedback.store.ts b/software/src/stores/feedback.store.ts
index 8bc7dd6..2797ab5 100644
--- a/software/src/stores/feedback.store.ts
+++ b/software/src/stores/feedback.store.ts
@@ -33,58 +33,58 @@ export const useFeedbackStore = defineStore("feedbackStore", {
}
case BannerStateEnum.BASKETPRODUCTADDED: {
- this.title = this.i18n.t('bannerMessages.basketProductAdded'); break;
+ this.title = this.i18n.t('bannerMessages.basketTicketAdded'); break;
}
case BannerStateEnum.BASKETPRODUCTREMOVED: {
- this.title = this.i18n.t("bannerMessages.basketProductRemoved"); break;
+ this.title = this.i18n.t("bannerMessages.basketTicketRemoved"); break;
}
////////// Exercise feedback //////////
case BannerStateEnum.EXERCISESOLVED01: {
- this.title = this.i18n.t("bannerMessages.exerciseSolved01"); break;
+ this.title = this.i18n.t("bannerMessages.exerciseSolvedNr", [0, 1]); break;
}
case BannerStateEnum.EXERCISESOLVED02: {
- this.title = this.i18n.t("bannerMessages.exerciseSolved02"); break;
+ this.title = this.i18n.t("bannerMessages.exerciseSolvedNr", [0, 2]); break;
}
case BannerStateEnum.EXERCISESOLVED11: {
- this.title = this.i18n.t("bannerMessages.exerciseSolved11"); break;
+ this.title = this.i18n.t("bannerMessages.exerciseSolvedNr", [1, 1]); break;
}
case BannerStateEnum.EXERCISESOLVED12: {
- this.title = this.i18n.t("bannerMessages.exerciseSolved12"); break;
+ this.title = this.i18n.t("bannerMessages.exerciseSolvedNr", [1, 2]); break;
}
case BannerStateEnum.EXERCISESOLVED13: {
- this.title = this.i18n.t("bannerMessages.exerciseSolved13"); break;
+ this.title = this.i18n.t("bannerMessages.exerciseSolvedNr", [1, 3]); break;
}
case BannerStateEnum.EXERCISESOLVED21: {
- this.title = this.i18n.t("bannerMessages.exerciseSolved21"); break;
+ this.title = this.i18n.t("bannerMessages.exerciseSolvedNr", [2, 1]); break;
}
case BannerStateEnum.EXERCISESOLVED22: {
- this.title = this.i18n.t("bannerMessages.exerciseSolved22"); break;
+ this.title = this.i18n.t("bannerMessages.exerciseSolvedNr", [2, 2]); break;
}
case BannerStateEnum.EXERCISESOLVED23: {
- this.title = this.i18n.t("bannerMessages.exerciseSolved23"); break;
+ this.title = this.i18n.t("bannerMessages.exerciseSolvedNr", [2, 3]); break;
}
case BannerStateEnum.EXERCISESOLVED31: {
- this.title = this.i18n.t("bannerMessages.exerciseSolved31"); break;
+ this.title = this.i18n.t("bannerMessages.exerciseSolvedNr", [3, 1]); break;
}
case BannerStateEnum.EXERCISESOLVED32: {
- this.title = this.i18n.t("bannerMessages.exerciseSolved32"); break;
+ this.title = this.i18n.t("bannerMessages.exerciseSolvedNr", [3, 2]); break;
}
case BannerStateEnum.EXERCISESOLVED33: {
- this.title = this.i18n.t("bannerMessages.exerciseSolved33"); break;
+ this.title = this.i18n.t("bannerMessages.exerciseSolvedNr", [3, 3]); break;
}
@@ -131,25 +131,6 @@ export const useFeedbackStore = defineStore("feedbackStore", {
case BannerStateEnum.ORDERPLACESUCCESSFUL: {
this.title = this.i18n.t('bannerMessages.orderPlaceSuccessfull'); break;
}
-
-
- ////////// API Endpoint /products //////////
-
- case BannerStateEnum.PRODUCTCREATESUCCESSFUL: {
- this.title = this.i18n.t('bannerMessages.productCreateSuccessful'); break;
- }
-
- case BannerStateEnum.PRODUCTCREATEERROR: {
- this.title = this.i18n.t('bannerMessages.productCreateError'); break;
- }
-
- case BannerStateEnum.PRODUCTDELETESUCCESSFUL: {
- this.title = this.i18n.t('bannerMessages.productDeleteSuccessful'); break;
- }
-
- case BannerStateEnum.PRODUCTDELETEERROR: {
- this.title = this.i18n.t('bannerMessages.productDeleteError'); break;
- }
}