Skip to content

Commit 4e608a6

Browse files
committed
Language: Add language terms declaration
1 parent 0b187ad commit 4e608a6

File tree

6 files changed

+223
-24
lines changed

6 files changed

+223
-24
lines changed

assets/locales/en.json

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1216,5 +1216,42 @@
12161216
"Attendances (tablet)": "Attendances (tablet)",
12171217
"Exit tablet mode": "Exit tablet mode",
12181218
"Attended": "Attended",
1219-
"No members found.": "No members found."
1219+
"No members found.": "No members found.",
1220+
"Health check": "Health check",
1221+
"Export Common Cartridge v1.3": "Export Common Cartridge v1.3",
1222+
"Export your course content in the IMS Common Cartridge 1.3 format, to share it on other platforms.": "Export your course content in the IMS Common Cartridge 1.3 format, to share it on other platforms.",
1223+
"Full copy": "Full copy",
1224+
"Loading resources...": "Loading resources...",
1225+
"Import Common Cartridge v1.3": "Import Common Cartridge v1.3",
1226+
"Import a course in IMS Common Cartridge 1.3 format, from another platform compatible with this format. The version is important.": "Import a course in IMS Common Cartridge 1.3 format, from another platform compatible with this format. The version is important.",
1227+
"Failed to load resources.": "Failed to load resources.",
1228+
"Please select at least one exportable resource (document, web link, discussion,...).": "Please select at least one exportable resource (document, web link, discussion,...).",
1229+
"Export finished.": "Export finished.",
1230+
"Export failed.": "Export failed.",
1231+
"Import failed.": "Import failed.",
1232+
"Local file (.zip, .mbz, .tgz, .gz)": "Local file (.zip, .mbz, .tgz, .gz)",
1233+
"server file": "sever file",
1234+
"Select a backup file": "Select a backup file",
1235+
"What should be done with imported files with the same file name as existing files?": "What should be done with imported files with the same file name as existing files?",
1236+
"Ready to import": "Ready to import",
1237+
"We will restore the backup into this course. You can go back to change options.": "We will restore the backup into this course. You can go back to change options.",
1238+
"Import backup": "Import backup",
1239+
"Select resources to import": "Select resources to import",
1240+
"No resources available in this backup.": "No resources available in this backup.",
1241+
"Import selection": "Import selection",
1242+
"Import completed": "Import completed",
1243+
"Could not load options.": "Could not load options.",
1244+
"Please select a backup file (.zip, .mbz, .tgz, .gz)": "Please select a backup file (.zip, .mbz, .tgz, .gz)",
1245+
"Please choose a backup from the server": "Please choose a backup from the server",
1246+
"Error selecting source.": "Error selecting source.",
1247+
"Recycling options": "Recycling options",
1248+
"Delete everything": "Delete everything",
1249+
"Type the course code to confirm": "Type the course code to confirm",
1250+
"This will remove or reset selected resources. This action cannot be undone.": "This will remove or reset selected resources. This action cannot be undone.",
1251+
"Select resources to recycle": "Select resources to recycle",
1252+
"No resources available in this course.": "No resources available in this course.",
1253+
"Recycle selected": "Recycle selected",
1254+
"Recycle is finished": "Recycle is finished",
1255+
"Error loading resources.": "Error loading resources.",
1256+
"Clear search": "Clear search"
12201257
}

assets/vue/views/coursemaintenance/Cc13.vue

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
<div class="grid grid-cols-1 gap-6 md:grid-cols-2">
77
<!-- Export -->
88
<div class="rounded-lg border border-gray-100 p-4">
9-
<h4 class="mb-2 text-sm font-semibold text-gray-800">{{ t("Export to CC 1.3") }}</h4>
9+
<h4 class="mb-2 text-sm font-semibold text-gray-800">{{ t("Export Common Cartridge v1.3") }}</h4>
1010
<p class="mb-3 text-sm text-gray-600">
11-
{{ t("Generate a Common Cartridge package for this course.") }}
11+
{{ t("Export your course content in the IMS Common Cartridge 1.3 format, to share it on other platforms.") }}
1212
</p>
1313

1414
<div class="mb-3">
@@ -25,7 +25,7 @@
2525
:class="segClass('full')"
2626
@click="scope = 'full'"
2727
>
28-
{{ t("Full course") }}
28+
{{ t("Full copy") }}
2929
</button>
3030
<button
3131
type="button"
@@ -73,7 +73,7 @@
7373
v-if="loadingResources"
7474
class="p-3 text-xs text-gray-500"
7575
>
76-
{{ t("Loading resources") }}
76+
{{ t("Loading resources...") }}
7777
</div>
7878

7979
<div
@@ -246,9 +246,9 @@
246246

247247
<!-- Import -->
248248
<div class="rounded-lg border border-gray-100 p-4">
249-
<h4 class="mb-2 text-sm font-semibold text-gray-800">{{ t("Import from CC 1.3") }}</h4>
249+
<h4 class="mb-2 text-sm font-semibold text-gray-800">{{ t("Import Common Cartridge v1.3") }}</h4>
250250
<p class="mb-3 text-sm text-gray-600">
251-
{{ t("Upload a Common Cartridge 1.3 (.imscc or .zip) to import resources.") }}
251+
{{ t("Import a course in IMS Common Cartridge 1.3 format, from another platform compatible with this format. The version is important.") }}
252252
</p>
253253
<input
254254
type="file"
@@ -457,7 +457,7 @@ async function doExport() {
457457
const total =
458458
Object.values(resSel).reduce((acc, obj) => acc + Object.keys(obj || {}).length, 0)
459459
if (total === 0) {
460-
throw new Error(t("Please select at least one exportable resource (documents, web links, or discussions)."))
460+
throw new Error(t("Please select at least one exportable resource (document, web link, discussion,...)."))
461461
}
462462
payload.resources = resSel
463463
}
@@ -466,7 +466,7 @@ async function doExport() {
466466
if (res.downloadUrl) window.location.href = res.downloadUrl
467467
notice.value = res.message || t("Export finished.")
468468
} catch (e) {
469-
error.value = e?.response?.data?.error || e.message || t("Failed to export.")
469+
error.value = e?.response?.data?.error || e.message || t("Export failed.")
470470
} finally {
471471
loadingExport.value = false
472472
}
@@ -482,7 +482,7 @@ async function doImport() {
482482
const res = await svc.cc13Import(node.value, file.value)
483483
notice.value = res.message || t("Import finished")
484484
} catch (e) {
485-
error.value = e?.response?.data?.error || e.message || t("Failed to import.")
485+
error.value = e?.response?.data?.error || e.message || t("Import failed.")
486486
} finally {
487487
loadingImport.value = false
488488
}

assets/vue/views/coursemaintenance/ImportBackup.vue

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -79,14 +79,14 @@
7979
value="server"
8080
v-model="backupType"
8181
/>
82-
<span class="text-sm text-gray-90">{{ t("Server file") }}</span>
82+
<span class="text-sm text-gray-90">{{ t("server file") }}</span>
8383
</label>
8484
<select
8585
v-if="backupType === 'server'"
8686
v-model="serverFilename"
8787
class="w-full rounded border border-gray-25 p-2 text-sm"
8888
>
89-
<option value="">{{ t("Select a backup") }}</option>
89+
<option value="">{{ t("Select a backup file") }}</option>
9090
<option
9191
v-for="b in backups"
9292
:key="b.file"
@@ -122,7 +122,7 @@
122122

123123
<div class="mt-4">
124124
<p class="mb-2 text-sm font-medium text-gray-90">
125-
{{ t("When a file with the same name exists") }}
125+
{{ t("What should be done with imported files with the same file name as existing files?") }}
126126
</p>
127127
<div class="space-y-2">
128128
<label class="flex items-center gap-2">
@@ -197,7 +197,7 @@
197197
@click="doRestore"
198198
:disabled="loading"
199199
>
200-
<i class="mdi mdi-database-import-outline"></i> {{ t("Start import") }}
200+
<i class="mdi mdi-database-import-outline"></i> {{ t("Import backup") }}
201201
</button>
202202
</div>
203203
</section>
@@ -234,7 +234,7 @@
234234
@click="doRestore"
235235
:disabled="loading"
236236
>
237-
<i class="mdi mdi-database-import-outline"></i> {{ t("Import selected") }}
237+
<i class="mdi mdi-database-import-outline"></i> {{ t("Import selection") }}
238238
</button>
239239
</div>
240240
</section>
@@ -358,10 +358,10 @@ async function nextFromStep1() {
358358
// Standard archive flows (local/server): .zip/.mbz/.tgz/.gz
359359
let res
360360
if (backupType.value === "local") {
361-
if (!localFile.value) throw new Error(t("Please select a backup file (.zip, .mbz, .tgz, .gz)."))
361+
if (!localFile.value) throw new Error(t("Please select a backup file (.zip, .mbz, .tgz, .gz)"))
362362
res = await svc.uploadFile(node.value, localFile.value)
363363
} else {
364-
if (!serverFilename.value) throw new Error(t("Please choose a server backup."))
364+
if (!serverFilename.value) throw new Error(t("Please choose a backup from the server"))
365365
res = await svc.chooseServerFile(node.value, serverFilename.value)
366366
}
367367
backupId.value = res.backupId
@@ -398,7 +398,7 @@ async function doRestore() {
398398
step.value = 4
399399
if (res.redirectUrl) pushWithQuery(res.redirectUrl)
400400
} catch (e) {
401-
error.value = e?.response?.data?.error || t("Failed to import backup.")
401+
error.value = e?.response?.data?.error || t("Import failed.")
402402
} finally {
403403
loading.value = false
404404
}

assets/vue/views/coursemaintenance/RecycleCourse.vue

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414

1515
<!-- STEP 1: Options -->
1616
<section v-if="step===1" class="rounded-lg border border-gray-25 p-4 space-y-4">
17-
<h3 class="text-sm font-semibold text-gray-90">{{ t('Recycle options') }}</h3>
17+
<h3 class="text-sm font-semibold text-gray-90">{{ t('Recycling options') }}</h3>
1818

1919
<label class="flex items-center gap-2">
2020
<input type="radio" value="full_recycle" v-model="recycleOption" />
21-
<span class="text-sm text-gray-90">{{ t('Delete everything (irreversible)') }}</span>
21+
<span class="text-sm text-gray-90">{{ t("Delete everything") }}</span>
2222
</label>
2323
<label class="flex items-center gap-2">
2424
<input type="radio" value="select_items" v-model="recycleOption" />
@@ -36,12 +36,12 @@
3636
</div>
3737

3838
<CMAlert type="warning"
39-
:text="t('This will remove or reset selected resources. Action cannot be undone.')" />
39+
:text="t('This will remove or reset selected resources. This action cannot be undone.')" />
4040

4141
<div class="flex justify-end gap-3">
4242
<button class="btn-primary" @click="nextFromStep1" :disabled="loading">
4343
<i class="mdi" :class="recycleOption==='select_items' ? 'mdi-arrow-right' : 'mdi-recycle'"></i>
44-
{{ recycleOption==='select_items' ? t('Continue') : t('Recycle') }}
44+
{{ recycleOption==='select_items' ? t('Continue') : t('Recycle course') }}
4545
</button>
4646
</div>
4747
</section>
@@ -67,7 +67,7 @@
6767

6868
<!-- STEP 3: Done -->
6969
<section v-if="step===3">
70-
<CMInfo :title="t('Recycle completed')" />
70+
<CMInfo :title="t('Recycle is finished')" />
7171
</section>
7272

7373
<CMLoader v-if="loading" />
@@ -144,7 +144,7 @@ async function doRecycle() {
144144
resources: recycleOption.value === "select_items" ? selections.value : undefined,
145145
}
146146
const res = await svc.recycleExecute(node.value, payload)
147-
notice.value = res?.message || t("Recycle finished.")
147+
notice.value = res?.message || t("Recycle is finished")
148148
step.value = 3
149149
} catch (e) {
150150
error.value = e?.response?.data?.error || t("Failed to recycle course.")

translations/messages.en.po

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31366,3 +31366,84 @@ msgstr "Exit tablet mode"
3136631366

3136731367
msgid "No members found."
3136831368
msgstr "No members found."
31369+
31370+
msgid "Health check"
31371+
msgstr "Health check"
31372+
31373+
msgid "Export to CC 1.3"
31374+
msgstr "Export to CC 1.3"
31375+
31376+
msgid "Loading resources..."
31377+
msgstr "Loading resources..."
31378+
31379+
msgid "Failed to load resources."
31380+
msgstr "Failed to load resources."
31381+
31382+
msgid "Please select at least one exportable resource (document, web link, discussion,...)."
31383+
msgstr "Please select at least one exportable resource (document, web link, discussion,...)."
31384+
31385+
msgid "Export finished."
31386+
msgstr "Export finished."
31387+
31388+
msgid "Export failed."
31389+
msgstr "Export failed."
31390+
31391+
msgid "Import failed."
31392+
msgstr "Import failed."
31393+
31394+
msgid "Local file (.zip, .mbz, .tgz, .gz)"
31395+
msgstr "Local file (.zip, .mbz, .tgz, .gz)"
31396+
31397+
msgid "Ready to import"
31398+
msgstr "Ready to import"
31399+
31400+
msgid "We will restore the backup into this course. You can go back to change options."
31401+
msgstr "We will restore the backup into this course. You can go back to change options."
31402+
31403+
msgid "Select resources to import"
31404+
msgstr "Select resources to import"
31405+
31406+
msgid "No resources available in this backup."
31407+
msgstr "No resources available in this backup."
31408+
31409+
msgid "Import selection"
31410+
msgstr "Import selection"
31411+
31412+
msgid "Import completed"
31413+
msgstr "Import completed"
31414+
31415+
msgid "Could not load options."
31416+
msgstr "Could not load options."
31417+
31418+
msgid "Please select a backup file (.zip, .mbz, .tgz, .gz)"
31419+
msgstr "Please select a backup file (.zip, .mbz, .tgz, .gz)"
31420+
31421+
msgid "Please choose a backup from the server"
31422+
msgstr "Please choose a backup from the server"
31423+
31424+
msgid "Error selecting source."
31425+
msgstr "Error selecting source."
31426+
31427+
msgid "Recycling options"
31428+
msgstr "Recycling options"
31429+
31430+
msgid "Type the course code to confirm"
31431+
msgstr "Type the course code to confirm"
31432+
31433+
msgid "This will remove or reset selected resources. This action cannot be undone."
31434+
msgstr "This will remove or reset selected resources. This action cannot be undone."
31435+
31436+
msgid "Select resources to recycle"
31437+
msgstr "Select resources to recycle"
31438+
31439+
msgid "No resources available in this course."
31440+
msgstr "No resources available in this course."
31441+
31442+
msgid "Recycle selected"
31443+
msgstr "Recycle selected"
31444+
31445+
msgid "Error loading resources."
31446+
msgstr "Error loading resources."
31447+
31448+
msgid "Clear search"
31449+
msgstr "Clear search"

translations/messages.pot

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31298,3 +31298,84 @@ msgstr ""
3129831298

3129931299
msgid "No members found."
3130031300
msgstr ""
31301+
31302+
msgid "Health check"
31303+
msgstr ""
31304+
31305+
msgid "Export to CC 1.3"
31306+
msgstr ""
31307+
31308+
msgid "Loading resources..."
31309+
msgstr ""
31310+
31311+
msgid "Failed to load resources."
31312+
msgstr ""
31313+
31314+
msgid "Please select at least one exportable resource (document, web link, discussion,...)."
31315+
msgstr ""
31316+
31317+
msgid "Export finished."
31318+
msgstr ""
31319+
31320+
msgid "Export failed."
31321+
msgstr ""
31322+
31323+
msgid "Import failed."
31324+
msgstr ""
31325+
31326+
msgid "Local file (.zip, .mbz, .tgz, .gz)"
31327+
msgstr ""
31328+
31329+
msgid "Ready to import"
31330+
msgstr ""
31331+
31332+
msgid "We will restore the backup into this course. You can go back to change options."
31333+
msgstr ""
31334+
31335+
msgid "Select resources to import"
31336+
msgstr ""
31337+
31338+
msgid "No resources available in this backup."
31339+
msgstr ""
31340+
31341+
msgid "Import selection"
31342+
msgstr ""
31343+
31344+
msgid "Import completed"
31345+
msgstr ""
31346+
31347+
msgid "Could not load options."
31348+
msgstr ""
31349+
31350+
msgid "Please select a backup file (.zip, .mbz, .tgz, .gz)"
31351+
msgstr ""
31352+
31353+
msgid "Please choose a backup from the server"
31354+
msgstr ""
31355+
31356+
msgid "Error selecting source."
31357+
msgstr ""
31358+
31359+
msgid "Recycling options"
31360+
msgstr ""
31361+
31362+
msgid "Type the course code to confirm"
31363+
msgstr ""
31364+
31365+
msgid "This will remove or reset selected resources. This action cannot be undone."
31366+
msgstr ""
31367+
31368+
msgid "Select resources to recycle"
31369+
msgstr ""
31370+
31371+
msgid "No resources available in this course."
31372+
msgstr ""
31373+
31374+
msgid "Recycle selected"
31375+
msgstr ""
31376+
31377+
msgid "Error loading resources."
31378+
msgstr ""
31379+
31380+
msgid "Clear search"
31381+
msgstr ""

0 commit comments

Comments
 (0)