feat: auto generate translations (#288)
* add cloud translation api package * feat: Script that auto generates translations for other languages * add comments * fix: broken translation * improve translation * update locck file * clean up * all round trasnlations check * checkpoint * finish up * move to dev dependencies * fix vercel build error --------- Co-authored-by: Rotimi Best <best@classroomio.com>
This commit is contained in:
co-authored by
Rotimi Best
parent
72f83a4365
commit
648e15d88d
+2
-2
@@ -46,7 +46,7 @@
|
||||
(ans: { question_id: number }) => ans.question_id === q.id
|
||||
);
|
||||
if (filteredAnswer.some((ans: { open_answer: string }) => ans.open_answer == '')) {
|
||||
return $t('course.navItem.lessons.exercise.all_exercises.analytics.individual.no');
|
||||
return $t('course.navItem.lessons.exercises.all_exercises.analytics.individual.no');
|
||||
} else {
|
||||
return filteredAnswer.map((ans: { open_answer: any }) => ans.open_answer);
|
||||
}
|
||||
@@ -81,7 +81,7 @@
|
||||
|
||||
<p class="font-medium mb-2">
|
||||
{$submissions[studentSelected].submitted_by.profile.fullname}'s {$t(
|
||||
'course.navItem.lessons.exercise.all_exercises.analytics.individual.answers'
|
||||
'course.navItem.lessons.exercises.all_exercises.analytics.individual.answers'
|
||||
)}
|
||||
</p>
|
||||
{#if $submissions[studentSelected]}
|
||||
|
||||
+1
-1
@@ -144,7 +144,7 @@
|
||||
{:else if browser}
|
||||
<div>
|
||||
<p class="text-2xl mb-3">
|
||||
{$t('course.navItem.lessons.exercise.all_exercises.analytics.summary.question_chart')}
|
||||
{$t('course.navItem.lessons.exercises.all_exercises.analytics.summary.question_chart')}
|
||||
</p>
|
||||
{#each transformedQuestions as q}
|
||||
<div class="mb-4">
|
||||
|
||||
+3
-3
@@ -10,11 +10,11 @@
|
||||
|
||||
const tabs = [
|
||||
{
|
||||
label: $t('course.navItem.lessons.exercise.all_exercises.analytics.summary.heading'),
|
||||
label: $t('course.navItem.lessons.exercises.all_exercises.analytics.summary.heading'),
|
||||
value: 'summary'
|
||||
},
|
||||
{
|
||||
label: $t('course.navItem.lessons.exercise.all_exercises.analytics.individual.heading'),
|
||||
label: $t('course.navItem.lessons.exercises.all_exercises.analytics.individual.heading'),
|
||||
value: 'individual'
|
||||
}
|
||||
];
|
||||
@@ -47,7 +47,7 @@
|
||||
<div class="mt-4">
|
||||
<p class="text-lg">
|
||||
{$submissions.length}
|
||||
{$t('course.navItem.lessons.exercise.all_exercises.analytics.submissions')}
|
||||
{$t('course.navItem.lessons.exercises.all_exercises.analytics.submissions')}
|
||||
</p>
|
||||
</div>
|
||||
<div class="flex items-center justify-center overflow-x-auto">
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@
|
||||
const validLinks = links.filter(isValidLink);
|
||||
|
||||
if (validLinks.length === 0) {
|
||||
error = 'Invalid link(s)';
|
||||
error = $t('course.navItem.lessons.materials.tabs.video.add_video.invalid_link');
|
||||
} else {
|
||||
const existingLinks = $lesson?.materials?.videos || [];
|
||||
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@
|
||||
const validLinks = links.filter(isValidYouTubeLink);
|
||||
|
||||
if (validLinks.length === 0) {
|
||||
error = 'Invalid YouTube link(s)';
|
||||
error = $t('course.navItem.lessons.materials.tabs.video.add_video.invalid_youtube');
|
||||
} else {
|
||||
const existingLinks = $lesson?.materials?.videos || [];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user