feat(bisaya-course): enhance German course content and localization support

- Updated the create-german-for-bisaya-course-content.js script to improve lesson pattern retrieval by introducing a new function for generating a lesson pattern pool.
- Added new exercises for various topics including 'Wohnung & Nachbarn', 'Besuch empfangen', 'Arzt, Apotheke, Termin', and 'Amt, Dokumente, Anmeldung', enhancing practical language skills for learners.
- Improved localization by integrating translation keys for various UI elements and error messages across multiple components, ensuring a consistent user experience in both German and Bisaya.
- Enhanced the main.js file to recognize Bisaya language preferences in browser settings, improving accessibility for users.
This commit is contained in:
Torsten Schulz (local)
2026-03-31 17:40:03 +02:00
parent 412ee708c2
commit c33ccfcdc8
49 changed files with 3468 additions and 262 deletions

View File

@@ -188,6 +188,7 @@ export default {
try {
// Mappe UI-Sprache zu vocab_language Name
const languageMap = {
'ceb': 'Bisaya',
'de': 'Deutsch',
'en': 'Englisch',
'es': 'Spanisch',
@@ -489,51 +490,45 @@ export default {
.course-actions button {
padding: 6px 14px;
border: 1px solid #ddd;
border: 1px solid transparent;
border-radius: 4px;
background: white;
background: var(--color-primary);
color: #2b1f14;
box-shadow: 0 6px 14px rgba(248, 162, 43, 0.18);
cursor: pointer;
font-size: 0.9em;
white-space: nowrap;
transition: background-color 0.2s, border-color 0.2s;
transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.course-actions button:hover {
background: #f5f5f5;
border-color: #bbb;
background: var(--color-primary-hover);
box-shadow: 0 10px 18px rgba(248, 162, 43, 0.22);
}
.btn-enroll {
background: #4CAF50 !important;
color: white !important;
border-color: #4CAF50 !important;
}
.btn-enroll:hover {
background: #45a049 !important;
border-color: #45a049 !important;
background: var(--color-primary) !important;
color: #2b1f14 !important;
border-color: transparent !important;
}
.btn-continue {
background: #2196F3 !important;
color: white !important;
border-color: #2196F3 !important;
}
.btn-continue:hover {
background: #0b7dda !important;
border-color: #0b7dda !important;
background: var(--color-primary) !important;
color: #2b1f14 !important;
border-color: transparent !important;
}
.btn-edit {
background: #FF9800 !important;
color: white !important;
border-color: #FF9800 !important;
background: rgba(255, 255, 255, 0.9) !important;
color: var(--color-text-primary) !important;
border-color: var(--color-border) !important;
box-shadow: none !important;
}
.btn-edit:hover {
background: #e68900 !important;
border-color: #e68900 !important;
background: rgba(255, 255, 255, 0.98) !important;
border-color: var(--color-border-strong) !important;
box-shadow: none !important;
}
.dialog-overlay {