Add Vocab Trainer feature with routing, database schema, and translations

- Introduced Vocab Trainer functionality, including new routes for managing languages and chapters.
- Implemented database schema for vocab-related tables to ensure data integrity.
- Updated navigation and UI components to include Vocab Trainer in the social network menu.
- Added translations for Vocab Trainer in both German and English locales, enhancing user accessibility.
This commit is contained in:
Torsten Schulz (local)
2025-12-30 18:34:32 +01:00
parent a09220b881
commit 83597d9e02
24 changed files with 2135 additions and 3 deletions

View File

@@ -6,6 +6,12 @@
"dataPrivacy": {
"title": "Data Privacy Policy"
},
"general": {
"loading": "Loading...",
"back": "Back",
"cancel": "Cancel",
"datetimelong": "dd.MM.yyyy HH:mm:ss"
},
"message": {
"close": "Close"
},

View File

@@ -20,6 +20,7 @@
"usersearch": "User search",
"forum": "Forum",
"gallery": "Gallery",
"vocabtrainer": "Vocabulary trainer",
"blockedUsers": "Blocked users",
"oneTimeInvitation": "One-time invitations",
"diary": "Diary",
@@ -27,6 +28,9 @@
"m-erotic": {
"pictures": "Pictures",
"videos": "Videos"
},
"m-vocabtrainer": {
"newLanguage": "New language"
}
},
"m-minigames": {

View File

@@ -249,5 +249,66 @@
"denied": "You have denied the friendship request.",
"accepted": "The friendship has been established."
}
,
"vocab": {
"title": "Vocabulary trainer",
"description": "Create languages (or subscribe to them) and share them with friends.",
"newLanguage": "New language",
"newLanguageTitle": "Create new language",
"languageName": "Language name",
"create": "Create",
"saving": "Saving...",
"created": "Language created.",
"createdTitle": "Vocabulary trainer",
"createdMessage": "Language created. The menu will refresh.",
"createError": "Could not create language.",
"openLanguage": "Open",
"none": "You have no languages yet (created or subscribed).",
"owner": "Owned",
"subscribed": "Subscribed",
"languageTitle": "Vocabulary trainer: {name}",
"notFound": "Language not found or no access.",
"shareCode": "Share code",
"shareHint": "Send this code to friends so they can subscribe to this language.",
"subscribeByCode": "Subscribe by code",
"subscribeTitle": "Subscribe to language",
"subscribeHint": "Enter a share code you received from a friend.",
"subscribe": "Subscribe",
"subscribeSuccess": "Subscribed. The menu will refresh.",
"subscribeError": "Subscribe failed. Invalid code or no access.",
"trainerPlaceholder": "Trainer features (words/quizzes) will be the next step."
,
"chapters": "Chapters",
"newChapter": "New chapter",
"createChapter": "Create chapter",
"createChapterError": "Could not create chapter.",
"noChapters": "No chapters yet.",
"chapterTitle": "Chapter: {title}",
"addVocab": "Add vocabulary",
"learningWord": "To learn",
"referenceWord": "Reference",
"add": "Add",
"addVocabError": "Could not add vocabulary.",
"noVocabs": "No vocabulary in this chapter yet."
,
"practice": {
"open": "Practice",
"title": "Practice vocabulary",
"allVocabs": "All vocabulary",
"simple": "Simple practice",
"noPool": "No vocabulary to practice.",
"dirLearningToRef": "To learn → Reference",
"dirRefToLearning": "Reference → To learn",
"check": "Check",
"next": "Next",
"skip": "Skip",
"correct": "Correct!",
"wrong": "Wrong.",
"acceptable": "Acceptable answers:",
"stats": "Stats",
"success": "Success",
"fail": "Fail"
}
}
}
}