From e1e1d2930ed28596364c24ee7a0e46dd2ded0ed8 Mon Sep 17 00:00:00 2001 From: Daniel Egger Date: Mon, 20 Feb 2023 12:56:00 +0100 Subject: [PATCH] Add some docs --- README.md | 15 ++ client/package.json | 2 +- client/src/locales/de.json | 280 ++++++++++++++--------------- client/src/locales/fr.json | 283 ++++++++++++++++-------------- client/vue-i18n-extract.config.js | 11 ++ 5 files changed, 314 insertions(+), 277 deletions(-) create mode 100644 client/vue-i18n-extract.config.js diff --git a/README.md b/README.md index 71693b77..4f6e05c9 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,21 @@ Preferences -> Tools -> Actions on Save * Run eslint --fix * Run prettier +## Translations + +We use (vue-i18n)[https://kazupon.github.io/vue-i18n/] for translations +and (vue-i18n-extract)[https://github.com/Spittal/vue-i18n-extract] for helper +scripts. + +``` +# will create a report on command line with missing translations +npm run vue-i18n-extract + +# add missing translations to files, see docs for more options +cd client +npx vue-i18n-extract --add +``` + ## Deployment to CapRover ### CapRover Dev (vbv-lernwelt.control.iterativ.ch) diff --git a/client/package.json b/client/package.json index da7a0657..32512910 100644 --- a/client/package.json +++ b/client/package.json @@ -10,7 +10,7 @@ "coverage": "vitest run --coverage", "typecheck": "vue-tsc --noEmit -p tsconfig.app.json --composite false", "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore", - "vue-i18n-extract": "vue-i18n-extract report --vueFiles 'src/**/*.?(js|vue)' --languageFiles 'src/locales/*.json'", + "vue-i18n-extract": "vue-i18n-extract report", "prettier": "prettier . --write", "prettier:check": "prettier . --check", "tailwind": "tailwindcss -i tailwind.css -o ../server/vbv_lernwelt/static/css/tailwind.css --watch" diff --git a/client/src/locales/de.json b/client/src/locales/de.json index 61cc2089..66507e91 100644 --- a/client/src/locales/de.json +++ b/client/src/locales/de.json @@ -1,170 +1,170 @@ { + "circlePage": { + "circleContentBoxTitle": "Das lernst du in diesem Circle.", + "contactExpertButton": "Fachexpertin kontaktieren", + "contactExpertDescription": "Tausche dich mit der Fachexpertin für den Circle {circleName} aus.", + "documents": { + "action": "Unterlagen hochladen", + "chooseLearningSequence": "Bitte wähle eine Lernsequenz aus", + "chooseName": "Bitte wähle einen Namen", + "chooseSequence": "Wähle eine Lernsequenz aus", + "expertDescription": "Stelle deinen Lernenden zusätzliche Inhalte zur Verfügung.", + "fileLabel": "Datei", + "maxFileSize": "Maximale Dateigrösse: 20 MB", + "modalAction": "Datei auswählen", + "modalFileName": "Name", + "modalNameInformation": "Max. 70 Zeichen", + "selectFile": "Bitte wähle eine Datei aus", + "title": "Unterlagen", + "uploadErrorMessage": "Beim Hochladen ist ein Fehler aufgetreten. Bitte versuche es erneut.", + "userDescription": "Hier findest du die Unterlagen, die dir die Fachexpertin zur Verfügung gestellt hat." + }, + "duration": "Dauer", + "gotQuestions": "Hast du Fragen?", + "learnMore": "Erfahre mehr dazu" + }, + "cockpit": { + "examsDone": "Abgelegte Prüfungen von Teilnehmer.", + "feedbacksDone": "Abgeschickte Feedbacks von Teilnehmer.", + "notifyTask": "Benachrichtigen", + "notifyTaskDescription": "Teilnehmer benachrichtigen", + "profileLink": "Profil anzeigen", + "progress": "Fortschritt", + "tasksDone": "Erledigte Transferaufträge von Teilnehmer.", + "title": "Cockpit" + }, + "competences": { + "assessAgain": "Sich nochmals einschätzen", + "assessment": "Einschätzungen", + "competences": "Kompetenzen", + "lastImprovements": "Letzte verbesserte Kompetenzen", + "notAssessed": "Nicht eingeschätzt", + "title": "KompetenzNavi" + }, + "constants": { + "no": "Nein", + "satisfied": "zufrieden", + "unsatisfied": "unzufrieden", + "verySatisfied": "sehr zufrieden", + "veryUnsatisfied": "sehr unzufrieden", + "yes": "Ja" + }, + "dashboard": { + "welcome": "Willkommen, {name}" + }, + "feedback": { + "answers": "Antworten", + "areYouSatisfied": "Wie zufrieden bist du?", + "average": "Durchschnitt", + "circleFeedback": "Feedback zum Circle", + "completionDescription": "Dein Feedback ist anonym. Dein Vor- und Nachname werden bei deiner Trainer/-in nicht angezeigt.", + "completionTitle": "Schicke dein Feedback an {name}", + "courseNegativeFeedbackLabel": "Wo sehen Sie Verbesserungspotenzial?", + "coursePositiveFeedbackLabel": "Was hat Ihnen besonders gut gefallen?", + "feedbackPageInfo": "Teilnehmer haben das Feedback ausgefüllt", + "feedbackPageTitle": "Feedback zum Lehrgang", + "feedbackSent": "Dein Feedback wurde abgeschickt", + "goalAttainmentLabel": "Zielerreichung insgesamt", + "happy": "Zufrieden", + "instructorCompetenceLabel": "Der Kursleiter war themenstark, fachkompetent.", + "instructorOpenFeedbackLabel": "Was ich dem Kursleiter sonst noch sagen wollte:", + "instructorRespectLabel": "Fragen und Anregungen der Kursteilnehmenden wurden ernst genommen und aufgegriffen.", + "intro": "{name}, dein/e Trainer/-in, bittet dich, ihm/ihr Feedback zu geben. Das ist freiwillig, würde aber ihm/ihr helfen, deine Lernerlebniss zu verbessern.", + "materialsRatingLabel": "Falls ja: Wie beurteilen Sie die Vorbereitungsunterlagen (z.B. eLearning)?", + "noFeedbacks": "Es wurden noch keine Feedbacks abgegeben", + "proficiencyLabel": "Wie beurteilen Sie Ihre Sicherheit bezüglichen den Themen nach dem Kurs?", + "questionTitle": "Frage", + "receivedMaterialsLabel": "Haben Sie Vorbereitungsunterlagen (z.B. eLearning) erhalten?", + "recommendLabel": "Würden Sie den Kurs weiterempfehlen?", + "satisfactionLabel": "Zufriedenheit insgesamt", + "sendFeedback": "Feedback abschicken", + "sentByUsers": "Von {count} Teilnehmern ausgefüllt", + "showDetails": "Details anzeigen", + "unhappy": "Unzufrieden", + "veryHappy": "Sehr zufrieden", + "veryUnhappy": "Sehr unzufrieden" + }, + "footer": { + "contact": "Kontakt", + "dataProtection": "Datenschutzbestimmungen", + "faq": "FAQ", + "imprint": "Impressum" + }, "general": { - "nextStep": "Weiter geht's", - "start": "Los geht's", - "backToLearningPath": "zurück zum Lernpfad", - "backToCircle": "zurück zum Circle", - "next": "Weiter", "back": "zurück", "backCapitalized": "@.capitalize:general.back", - "save": "Speichern", - "send": "Senden", - "learningUnit": "Lerneinheit", - "learningPath": "Lernpfad", - "learningSequence": "Lernsequenz", - "show": "Anschauen", + "backToCircle": "zurück zum Circle", + "backToLearningPath": "zurück zum Lernpfad", + "certificate": "Zertifikat | Zertifikate", "circles": "Circles", - "transferTask": "Transferauftrag | Transferaufträge", - "feedback": "Feedback | Feedbacks", "exam": "Prüfung | Prüfungen", "examResult": "Prüfungsresultat | Prüfungsresultate", - "certificate": "Zertifikat | Zertifikate", + "feedback": "Feedback | Feedbacks", + "learningPath": "Lernpfad", + "learningSequence": "Lernsequenz", + "learningUnit": "Lerneinheit", + "next": "Weiter", + "nextStep": "Weiter geht's", + "no": "Nein", "notification": "Benachrichtigung | Benachrichtigungen", "profileLink": "Profil anzeigen", + "save": "Speichern", + "send": "Senden", + "settings": "Kontoeinstellungen", "shop": "Shop", - "yes": "Ja", - "no": "Nein", + "show": "Anschauen", "showAll": "Alle anschauen", - "settings": "Kontoeinstellungen" + "start": "Los geht's", + "transferTask": "Transferauftrag | Transferaufträge", + "yes": "Ja" + }, + "learningContent": { + "completeAndContinue": "Als erledigt markieren" + }, + "learningPathPage": { + "nextStep": "Nächster Schritt", + "showListView": "Listenansicht anzeigen", + "welcomeBack": "Willkommen zurück, {name}" }, "mainNavigation": { "logout": "Abmelden", "profile": "Profil" }, - "dashboard": { - "welcome": "Willkommen, {name}" - }, - "learningPathPage": { - "welcomeBack": "Willkommen zurück, {name}", - "showListView": "Listenansicht anzeigen", - "nextStep": "Nächster Schritt" - }, - "circlePage": { - "duration": "Dauer", - "circleContentBoxTitle": "Das lernst du in diesem Circle.", - "gotQuestions": "Hast du Fragen?", - "contactExpertButton": "Fachexpertin kontaktieren", - "contactExpertDescription": "Tausche dich mit der Fachexpertin für den Circle {circleName} aus.", - "learnMore": "Erfahre mehr dazu", - "documents": { - "title": "Unterlagen", - "expertDescription": "Stelle deinen Lernenden zusätzliche Inhalte zur Verfügung.", - "userDescription": "Hier findest du die Unterlagen, die dir die Fachexpertin zur Verfügung gestellt hat.", - "action": "Unterlagen hochladen", - "modalAction": "Datei auswählen", - "fileLabel": "Datei", - "modalFileName": "Name", - "modalNameInformation": "Max. 70 Zeichen", - "chooseSequence": "Wähle eine Lernsequenz aus", - "selectFile": "Bitte wähle eine Datei aus", - "chooseName": "Bitte wähle einen Namen", - "chooseLearningSequence": "Bitte wähle eine Lernsequenz aus", - "uploadErrorMessage": "Beim Hochladen ist ein Fehler aufgetreten. Bitte versuche es erneut.", - "maxFileSize": "Maximale Dateigrösse: 20 MB" - } - }, - "learningContent": { - "completeAndContinue": "Als erledigt markieren" - }, - "selfEvaluation": { - "selfEvaluation": "Selbsteinschätzung", - "title": "@:selfEvaluation.selfEvaluation {title}", - "steps": "Schritt {current} von {max}", - "instruction": [ - "Überprüfe, ob du in der Lernheinheit", - "alles verstanden hast.", - "Lies die folgende Aussage und bewerte sie:" - ], - "yes": "Ja, ich kann das", - "no": "Das muss ich nochmals anschauen", - "progressText": "Schau dein Fortschritt in deinem KompetenzNavi:", - "progressLink": "KompetenzNavi öffnen", - "selfEvaluationYes": "@:selfEvaluation: Ich kann das.", - "selfEvaluationNo": "@:selfEvaluation: Muss ich nochmals anschauen." - }, - "competences": { - "competences": "Kompetenzen", - "title": "KompetenzNavi", - "lastImprovements": "Letzte verbesserte Kompetenzen", - "assessment": "Einschätzungen", - "notAssessed": "Nicht eingeschätzt", - "assessAgain": "Sich nochmals einschätzen" - }, "mediaLibrary": { - "title": "Mediathek", - "learningMedia": { - "titel": "Lernmedien", - "description": "Finde eine vollständige Liste der Bücher und anderen Medien, auf die im Kurs verwiesen wird." - }, "handlungsfelder": { - "title": "Handlungsfeld | Handlungsfelder", - "description": "Finde alle Ressourcen der Handlungsfelder wie Lernmedien, Links und andere nützliche Informationen." - } - }, - "footer": { - "dataProtection": "Datenschutzbestimmungen", - "imprint": "Impressum", - "contact": "Kontakt", - "faq": "FAQ" - }, - "cockpit": { - "title": "Cockpit", - "tasksDone": "Erledigte Transferaufträge von Teilnehmer.", - "feedbacksDone": "Abgeschickte Feedbacks von Teilnehmer.", - "examsDone": "Abgelegte Prüfungen von Teilnehmer.", - "progress": "Fortschritt", - "profileLink": "Profil anzeigen", - "notifyTaskDescription": "Teilnehmer benachrichtigen", - "notifyTask": "Benachrichtigen" + "description": "Finde alle Ressourcen der Handlungsfelder wie Lernmedien, Links und andere nützliche Informationen.", + "title": "Handlungsfeld | Handlungsfelder" + }, + "learningMedia": { + "description": "Finde eine vollständige Liste der Bücher und anderen Medien, auf die im Kurs verwiesen wird.", + "titel": "Lernmedien" + }, + "title": "Mediathek" }, "messages": { "sendMessage": "Nachricht schreiben" }, - "feedback": { - "intro": "{name}, dein/e Trainer/-in, bittet dich, ihm/ihr Feedback zu geben. Das ist freiwillig, würde aber ihm/ihr helfen, deine Lernerlebniss zu verbessern.", - "areYouSatisfied": "Wie zufrieden bist du?", - "recommendLabel": "Würden Sie den Kurs weiterempfehlen?", - "satisfactionLabel": "Zufriedenheit insgesamt", - "goalAttainmentLabel": "Zielerreichung insgesamt", - "proficiencyLabel": "Wie beurteilen Sie Ihre Sicherheit bezüglichen den Themen nach dem Kurs?", - "receivedMaterialsLabel": "Haben Sie Vorbereitungsunterlagen (z.B. eLearning) erhalten?", - "materialsRatingLabel": "Falls ja: Wie beurteilen Sie die Vorbereitungsunterlagen (z.B. eLearning)?", - "instructorCompetenceLabel": "Der Kursleiter war themenstark, fachkompetent.", - "instructorRespectLabel": "Fragen und Anregungen der Kursteilnehmenden wurden ernst genommen und aufgegriffen.", - "instructorOpenFeedbackLabel": "Was ich dem Kursleiter sonst noch sagen wollte:", - "courseNegativeFeedbackLabel": "Wo sehen Sie Verbesserungspotenzial?", - "coursePositiveFeedbackLabel": "Was hat Ihnen besonders gut gefallen?", - "completionTitle": "Schicke dein Feedback an {name}", - "completionDescription": "Dein Feedback ist anonym. Dein Vor- und Nachname werden bei deiner Trainer/-in nicht angezeigt.", - "sendFeedback": "Feedback abschicken", - "feedbackSent": "Dein Feedback wurde abgeschickt", - "circleFeedback": "Feedback zum Circle", - "showDetails": "Details anzeigen", - "sentByUsers": "Von {count} Teilnehmern ausgefüllt", - "feedbackPageTitle": "Feedback zum Lehrgang", - "feedbackPageInfo": "Teilnehmer haben das Feedback ausgefüllt", - "questionTitle": "Frage", - "veryUnhappy": "Sehr unzufrieden", - "unhappy": "Unzufrieden", - "happy": "Zufrieden", - "veryHappy": "Sehr zufrieden", - "average": "Durchschnitt", - "answers": "Antworten", - "noFeedbacks": "Es wurden noch keine Feedbacks abgegeben" - }, "notifications": { "load_more": "Mehr laden", "no_notifications": "Du hast derzeit keine Benachrichtigungen" }, + "selfEvaluation": { + "instruction": [ + "Überprüfe, ob du in der Lernheinheit", + "alles verstanden hast.", + "Lies die folgende Aussage und bewerte sie:" + ], + "no": "Das muss ich nochmals anschauen", + "progressLink": "KompetenzNavi öffnen", + "progressText": "Schau dein Fortschritt in deinem KompetenzNavi:", + "selfEvaluation": "Selbsteinschätzung", + "selfEvaluationNo": "@:selfEvaluation: Muss ich nochmals anschauen.", + "selfEvaluationYes": "@:selfEvaluation: Ich kann das.", + "steps": "Schritt {current} von {max}", + "title": "@:selfEvaluation.selfEvaluation {title}", + "yes": "Ja, ich kann das" + }, "settings": { "emailNotifications": "Email Benachrichtigungen" - }, - "constants": { - "yes": "Ja", - "no": "Nein", - "verySatisfied": "sehr zufrieden", - "satisfied": "zufrieden", - "unsatisfied": "unzufrieden", - "veryUnsatisfied": "sehr unzufrieden" } } diff --git a/client/src/locales/fr.json b/client/src/locales/fr.json index 0b590e24..edf60444 100644 --- a/client/src/locales/fr.json +++ b/client/src/locales/fr.json @@ -1,159 +1,170 @@ { - "general": { - "nextStep": "Prochaine étape", - "start": "Commencer", - "backToLearningPath": "zurück zum Lernpfad", - "backToCircle": "zurück zum Circle", - "next": "Weiter", - "back": "zurück", - "backCapitalized": "@.capitalize:general.back", - "save": "Speichern", - "learningUnit": "Lerneinheit", - "learningPath": "Lernpfad", - "learningSequence": "Lernsequenz", - "show": "Anschauen", - "circles": "Circles", - "transferTask": "Transferauftrag | Transferaufträge", - "feedback": "Feedback | Feedbacks", - "exam": "Prüfung | Prüfungen", - "examResult": "Prüfungsresultat | Prüfungsresultate", - "certificate": "Zertifikat | Zertifikate", - "notification": "Benachrichtigung | Benachrichtigungen", - "profileLink": "Profil anzeigen", - "shop": "Shop", - "yes": "Ja", - "no": "Nein" + "circlePage": { + "circleContentBoxTitle": "Das lernst du in diesem Circle.", + "contactExpertButton": "Fachexpertin kontaktieren", + "contactExpertDescription": "Tausche dich mit der Fachexpertin für den Circle {circleName} aus.", + "documents": { + "action": "Unterlagen hochladen", + "chooseLearningSequence": "Bitte wähle eine Lernsequenz aus", + "chooseName": "Bitte wähle einen Namen", + "chooseSequence": "Wähle eine Lernsequenz aus", + "expertDescription": "Stelle deinen Lernenden zusätzliche Inhalte zur Verfügung.", + "fileLabel": "Datei", + "maxFileSize": "Maximale Dateigrösse: 20 MB", + "modalAction": "Datei auswählen", + "modalFileName": "Name", + "modalNameInformation": "Max. 70 Zeichen", + "selectFile": "Bitte wähle eine Datei aus", + "title": "Unterlagen", + "uploadErrorMessage": "Beim Hochladen ist ein Fehler aufgetreten. Bitte versuche es erneut.", + "userDescription": "Hier findest du die Unterlagen, die dir die Fachexpertin zur Verfügung gestellt hat." + }, + "duration": "Dauer", + "gotQuestions": "Hast du Fragen?", + "learnMore": "Erfahre mehr dazu" }, - "mainNavigation": { - "logout": "Abmelden", - "settings": "Kontoeinstellungen" + "cockpit": { + "examsDone": "Abgelegte Prüfungen von Teilnehmer.", + "feedbacksDone": "Abgeschickte Feedbacks von Teilnehmer.", + "profileLink": "Profil anzeigen", + "progress": "Fortschritt", + "tasksDone": "Erledigte Transferaufträge von Teilnehmer.", + "title": "Cockpit" + }, + "competences": { + "assessAgain": "Sich nochmals einschätzen", + "assessment": "Einschätzungen", + "competences": "Kompetenzen", + "lastImprovements": "Letzte verbesserte Kompetenzen", + "notAssessed": "Nicht eingeschätzt", + "showAll": "Alle anschauen", + "title": "KompetenzNavi" + }, + "constants": { + "no": "Nein", + "satisfied": "zufrieden", + "unsatisfied": "unzufrieden", + "verySatisfied": "sehr zufrieden", + "veryUnsatisfied": "sehr unzufrieden", + "yes": "Ja" }, "dashboard": { "welcome": "Willkommen, {name}" }, - "learningPathPage": { - "welcomeBack": "Willkommen zurück, {name}", - "showListView": "Listenansicht anzeigen", - "nextStep": "Nächster Schritt" + "feedback": { + "answers": "Antworten", + "areYouSatisfied": "Wie zufrieden bist du?", + "average": "Durchschnitt", + "circleFeedback": "Feedback zum Circle", + "completionDescription": "Dein Feedback ist anonym. Dein Vor- und Nachname werden bei deiner Trainer/-in nicht angezeigt.", + "completionTitle": "Schicke dein Feedback an {name}", + "courseNegativeFeedbackLabel": "Wo sehen Sie Verbesserungspotenzial?", + "coursePositiveFeedbackLabel": "Was hat Ihnen besonders gut gefallen?", + "feedbackPageInfo": "Teilnehmer haben das Feedback ausgefüllt", + "feedbackPageTitle": "Feedback zum Lehrgang", + "feedbackSent": "Dein Feedback wurde abgeschickt", + "goalAttainmentLabel": "Zielerreichung insgesamt", + "happy": "Zufrieden", + "instructorCompetenceLabel": "Der Kursleiter war themenstark, fachkompetent.", + "instructorOpenFeedbackLabel": "Was ich dem Kursleiter sonst noch sagen wollte:", + "instructorRespectLabel": "Fragen und Anregungen der Kursteilnehmenden wurden ernst genommen und aufgegriffen.", + "intro": "{name}, dein/e Trainer/-in, bittet dich, ihm/ihr Feedback zu geben. Das ist freiwillig, würde aber ihm/ihr helfen, deine Lernerlebniss zu verbessern.", + "materialsRatingLabel": "Falls ja: Wie beurteilen Sie die Vorbereitungsunterlagen (z.B. eLearning)?", + "noFeedbacks": "Es wurden noch keine Feedbacks abgegeben", + "proficiencyLabel": "Wie beurteilen Sie Ihre Sicherheit bezüglichen den Themen nach dem Kurs?", + "questionTitle": "Frage", + "receivedMaterialsLabel": "Haben Sie Vorbereitungsunterlagen (z.B. eLearning) erhalten?", + "recommendLabel": "Würden Sie den Kurs weiterempfehlen?", + "satisfactionLabel": "Zufriedenheit insgesamt", + "sendFeedback": "Feedback abschicken", + "sentByUsers": "Von {count} Teilnehmern ausgefüllt", + "showDetails": "Details anzeigen", + "unhappy": "Unzufrieden", + "veryHappy": "Sehr zufrieden", + "veryUnhappy": "Sehr unzufrieden" }, - "circlePage": { - "duration": "Dauer", - "circleContentBoxTitle": "Das lernst du in diesem Circle.", - "gotQuestions": "Hast du Fragen?", - "contactExpertButton": "Fachexpertin kontaktieren", - "contactExpertDescription": "Tausche dich mit der Fachexpertin für den Circle {circleName} aus.", - "learnMore": "Erfahre mehr dazu", - "documents": { - "title": "Unterlagen", - "expertDescription": "Stelle deinen Lernenden zusätzliche Inhalte zur Verfügung.", - "userDescription": "Hier findest du die Unterlagen, die dir die Fachexpertin zur Verfügung gestellt hat.", - "action": "Unterlagen hochladen", - "modalAction": "Datei auswählen", - "fileLabel": "Datei", - "modalFileName": "Name", - "modalNameInformation": "Max. 70 Zeichen", - "chooseSequence": "Wähle eine Lernsequenz aus", - "selectFile": "Bitte wähle eine Datei aus", - "chooseName": "Bitte wähle einen Namen", - "chooseLearningSequence": "Bitte wähle eine Lernsequenz aus", - "uploadErrorMessage": "Beim Hochladen ist ein Fehler aufgetreten. Bitte versuche es erneut.", - "maxFileSize": "Maximale Dateigrösse: 20 MB" - } + "footer": { + "contact": "Kontakt", + "dataProtection": "Datenschutzbestimmungen", + "faq": "FAQ", + "imprint": "Impressum" + }, + "general": { + "back": "zurück", + "backCapitalized": "@.capitalize:general.back", + "backToCircle": "zurück zum Circle", + "backToLearningPath": "zurück zum Lernpfad", + "certificate": "Zertifikat | Zertifikate", + "circles": "Circles", + "exam": "Prüfung | Prüfungen", + "examResult": "Prüfungsresultat | Prüfungsresultate", + "feedback": "Feedback | Feedbacks", + "hello": "", + "learningPath": "Lernpfad", + "learningSequence": "Lernsequenz", + "learningUnit": "Lerneinheit", + "next": "Weiter", + "nextStep": "Prochaine étape", + "no": "Nein", + "notification": "Benachrichtigung | Benachrichtigungen", + "profileLink": "Profil anzeigen", + "save": "Speichern", + "settings": "", + "shop": "Shop", + "show": "Anschauen", + "showAll": "", + "start": "Commencer", + "transferTask": "Transferauftrag | Transferaufträge", + "yes": "Ja" }, "learningContent": { "completeAndContinue": "Als erledigt markieren" }, + "learningPathPage": { + "nextStep": "Nächster Schritt", + "showListView": "Listenansicht anzeigen", + "welcomeBack": "Willkommen zurück, {name}" + }, + "mainNavigation": { + "logout": "Abmelden", + "profile": "", + "settings": "Kontoeinstellungen" + }, + "mediaLibrary": { + "handlungsfelder": { + "description": "Finde alle Ressourcen der Handlungsfelder wie Lernmedien, Links und andere nützliche Informationen.", + "title": "Handlungsfeld | Handlungsfelder" + }, + "learningMedia": { + "description": "Finde eine vollständige Liste der Bücher und anderen Medien, auf die im Kurs verwiesen wird.", + "titel": "Lernmedien" + }, + "title": "Mediathek" + }, + "messages": { + "sendMessage": "Nachricht schreiben" + }, + "notifications": { + "load_more": "", + "no_notifications": "" + }, "selfEvaluation": { - "selfEvaluation": "Selbsteinschätzung", - "title": "@:selfEvaluation.selfEvaluation {title}", - "steps": "Schritt {current} von {max}", "instruction": [ "Überprüfe, ob du in der Lernheinheit", "alles verstanden hast.", "Lies die folgende Aussage und bewerte sie:" ], - "yes": "Ja, ich kann das", "no": "Das muss ich nochmals anschauen", - "progressText": "Schau dein Fortschritt in deinem KompetenzNavi:", "progressLink": "KompetenzNavi öffnen", + "progressText": "Schau dein Fortschritt in deinem KompetenzNavi:", + "selfEvaluation": "Selbsteinschätzung", + "selfEvaluationNo": "@:selfEvaluation: Muss ich nochmals anschauen.", "selfEvaluationYes": "@:selfEvaluation: Ich kann das.", - "selfEvaluationNo": "@:selfEvaluation: Muss ich nochmals anschauen." + "steps": "Schritt {current} von {max}", + "title": "@:selfEvaluation.selfEvaluation {title}", + "yes": "Ja, ich kann das" }, - "competences": { - "competences": "Kompetenzen", - "title": "KompetenzNavi", - "lastImprovements": "Letzte verbesserte Kompetenzen", - "showAll": "Alle anschauen", - "assessment": "Einschätzungen", - "notAssessed": "Nicht eingeschätzt", - "assessAgain": "Sich nochmals einschätzen" - }, - "mediaLibrary": { - "title": "Mediathek", - "learningMedia": { - "titel": "Lernmedien", - "description": "Finde eine vollständige Liste der Bücher und anderen Medien, auf die im Kurs verwiesen wird." - }, - "handlungsfelder": { - "title": "Handlungsfeld | Handlungsfelder", - "description": "Finde alle Ressourcen der Handlungsfelder wie Lernmedien, Links und andere nützliche Informationen." - } - }, - "footer": { - "dataProtection": "Datenschutzbestimmungen", - "imprint": "Impressum", - "contact": "Kontakt", - "faq": "FAQ" - }, - "cockpit": { - "title": "Cockpit", - "tasksDone": "Erledigte Transferaufträge von Teilnehmer.", - "feedbacksDone": "Abgeschickte Feedbacks von Teilnehmer.", - "examsDone": "Abgelegte Prüfungen von Teilnehmer.", - "progress": "Fortschritt", - "profileLink": "Profil anzeigen" - }, - "messages": { - "sendMessage": "Nachricht schreiben" - }, - "feedback": { - "intro": "{name}, dein/e Trainer/-in, bittet dich, ihm/ihr Feedback zu geben. Das ist freiwillig, würde aber ihm/ihr helfen, deine Lernerlebniss zu verbessern.", - "areYouSatisfied": "Wie zufrieden bist du?", - "recommendLabel": "Würden Sie den Kurs weiterempfehlen?", - "satisfactionLabel": "Zufriedenheit insgesamt", - "goalAttainmentLabel": "Zielerreichung insgesamt", - "proficiencyLabel": "Wie beurteilen Sie Ihre Sicherheit bezüglichen den Themen nach dem Kurs?", - "receivedMaterialsLabel": "Haben Sie Vorbereitungsunterlagen (z.B. eLearning) erhalten?", - "materialsRatingLabel": "Falls ja: Wie beurteilen Sie die Vorbereitungsunterlagen (z.B. eLearning)?", - "instructorCompetenceLabel": "Der Kursleiter war themenstark, fachkompetent.", - "instructorRespectLabel": "Fragen und Anregungen der Kursteilnehmenden wurden ernst genommen und aufgegriffen.", - "instructorOpenFeedbackLabel": "Was ich dem Kursleiter sonst noch sagen wollte:", - "courseNegativeFeedbackLabel": "Wo sehen Sie Verbesserungspotenzial?", - "coursePositiveFeedbackLabel": "Was hat Ihnen besonders gut gefallen?", - "completionTitle": "Schicke dein Feedback an {name}", - "completionDescription": "Dein Feedback ist anonym. Dein Vor- und Nachname werden bei deiner Trainer/-in nicht angezeigt.", - "sendFeedback": "Feedback abschicken", - "feedbackSent": "Dein Feedback wurde abgeschickt", - "circleFeedback": "Feedback zum Circle", - "showDetails": "Details anzeigen", - "sentByUsers": "Von {count} Teilnehmern ausgefüllt", - "feedbackPageTitle": "Feedback zum Lehrgang", - "feedbackPageInfo": "Teilnehmer haben das Feedback ausgefüllt", - "questionTitle": "Frage", - "veryUnhappy": "Sehr unzufrieden", - "unhappy": "Unzufrieden", - "happy": "Zufrieden", - "veryHappy": "Sehr zufrieden", - "average": "Durchschnitt", - "answers": "Antworten", - "noFeedbacks": "Es wurden noch keine Feedbacks abgegeben" - }, - "constants": { - "yes": "Ja", - "no": "Nein", - "verySatisfied": "sehr zufrieden", - "satisfied": "zufrieden", - "unsatisfied": "unzufrieden", - "veryUnsatisfied": "sehr unzufrieden" + "settings": { + "emailNotifications": "" } } diff --git a/client/vue-i18n-extract.config.js b/client/vue-i18n-extract.config.js new file mode 100644 index 00000000..db19bb74 --- /dev/null +++ b/client/vue-i18n-extract.config.js @@ -0,0 +1,11 @@ +module.exports = { + vueFiles: "./src/**/*.?(js|vue)", + languageFiles: "./src/locales/*.json", + exclude: ["translation_key_1", "translation_key_2"], + output: false, + add: false, + remove: false, + ci: false, + separator: ".", + noEmptyTranslation: "", +};