feat(localization): expand language support and enhance UI for user settings

- Added support for additional UI locales including Cebuano and Spanish, improving accessibility for a broader user base.
- Updated language selection components in the AppHeader and SettingsWidget to reflect new language options, enhancing user experience.
- Enhanced localization of various UI elements across components, ensuring consistent language representation and improved user engagement.
- Implemented logic to synchronize user language preferences with backend settings, providing a seamless experience when changing languages.
This commit is contained in:
Torsten Schulz (local)
2026-04-02 07:54:44 +02:00
parent 30906e0dc3
commit 6ad66da836
72 changed files with 1792 additions and 343 deletions

View File

@@ -2,9 +2,9 @@
<div class="vocab-course-list">
<section class="vocab-courses-hero surface-card">
<div>
<span class="vocab-courses-kicker">Kurse</span>
<span class="vocab-courses-kicker">{{ $t('socialnetwork.vocab.courses.courseListKicker') }}</span>
<h2>{{ $t('socialnetwork.vocab.courses.title') }}</h2>
<p>Öffentliche und eigene Lernkurse filtern, finden und direkt weiterlernen.</p>
<p>{{ $t('socialnetwork.vocab.courses.courseListIntro') }}</p>
</div>
</section>
@@ -88,7 +88,7 @@
<form @submit.prevent="findCourseByCode">
<div class="form-group">
<label>{{ $t('socialnetwork.vocab.courses.shareCode') }}</label>
<input v-model="shareCode" placeholder="z.B. abc123def456" required />
<input v-model="shareCode" :placeholder="$t('socialnetwork.vocab.courses.courseShareCodePlaceholder')" required />
</div>
<div class="form-actions">
<button type="submit">{{ $t('general.search') }}</button>
@@ -329,7 +329,7 @@ export default {
await this.loadAllCourses();
} catch (e) {
console.error('Fehler beim Erstellen des Kurses:', e);
showApiError(this, e, 'Fehler beim Erstellen des Kurses');
showApiError(this, e, this.$t('socialnetwork.vocab.courses.createCourseError'));
}
},
async enroll(courseId) {
@@ -339,7 +339,7 @@ export default {
this.openCourse(courseId);
} catch (e) {
console.error('Fehler beim Einschreiben:', e);
showApiError(this, e, 'Fehler beim Einschreiben');
showApiError(this, e, this.$t('socialnetwork.vocab.courses.enrollCourseError'));
}
},
openCourse(courseId) {