@things-factory/learning 0.0.0-stage → 10.1.260

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/dist-client/bootstrap.d.ts +2 -0
  2. package/dist-client/bootstrap.js +4 -0
  3. package/dist-client/bootstrap.js.map +1 -0
  4. package/dist-client/components/learning-assign-form.d.ts +24 -0
  5. package/dist-client/components/learning-assign-form.js +77 -0
  6. package/dist-client/components/learning-assign-form.js.map +1 -0
  7. package/dist-client/components/learning-course-form.d.ts +29 -0
  8. package/dist-client/components/learning-course-form.js +104 -0
  9. package/dist-client/components/learning-course-form.js.map +1 -0
  10. package/dist-client/components/learning-question-form.d.ts +33 -0
  11. package/dist-client/components/learning-question-form.js +142 -0
  12. package/dist-client/components/learning-question-form.js.map +1 -0
  13. package/dist-client/components/learning-todo.d.ts +12 -0
  14. package/dist-client/components/learning-todo.js +43 -0
  15. package/dist-client/components/learning-todo.js.map +1 -0
  16. package/dist-client/components/learning-unit-form.d.ts +41 -0
  17. package/dist-client/components/learning-unit-form.js +143 -0
  18. package/dist-client/components/learning-unit-form.js.map +1 -0
  19. package/dist-client/index.d.ts +2 -0
  20. package/dist-client/index.js +3 -0
  21. package/dist-client/index.js.map +1 -0
  22. package/dist-client/pages/learning-course-editor.d.ts +62 -0
  23. package/dist-client/pages/learning-course-editor.js +463 -0
  24. package/dist-client/pages/learning-course-editor.js.map +1 -0
  25. package/dist-client/pages/learning-course-list.d.ts +37 -0
  26. package/dist-client/pages/learning-course-list.js +88 -0
  27. package/dist-client/pages/learning-course-list.js.map +1 -0
  28. package/dist-client/pages/learning-enrollment-status.d.ts +53 -0
  29. package/dist-client/pages/learning-enrollment-status.js +228 -0
  30. package/dist-client/pages/learning-enrollment-status.js.map +1 -0
  31. package/dist-client/pages/learning-view.d.ts +52 -0
  32. package/dist-client/pages/learning-view.js +371 -0
  33. package/dist-client/pages/learning-view.js.map +1 -0
  34. package/dist-client/pages/my-learning.d.ts +22 -0
  35. package/dist-client/pages/my-learning.js +110 -0
  36. package/dist-client/pages/my-learning.js.map +1 -0
  37. package/dist-client/route.d.ts +1 -0
  38. package/dist-client/route.js +21 -0
  39. package/dist-client/route.js.map +1 -0
  40. package/dist-client/tsconfig.tsbuildinfo +1 -0
  41. package/dist-client/utils/learning-api.d.ts +16 -0
  42. package/dist-client/utils/learning-api.js +36 -0
  43. package/dist-client/utils/learning-api.js.map +1 -0
  44. package/dist-client/utils/learning-words.d.ts +20 -0
  45. package/dist-client/utils/learning-words.js +22 -0
  46. package/dist-client/utils/learning-words.js.map +1 -0
  47. package/dist-server/activities.d.ts +38 -0
  48. package/dist-server/activities.js +42 -0
  49. package/dist-server/activities.js.map +1 -0
  50. package/dist-server/ai-reads.d.ts +9 -0
  51. package/dist-server/ai-reads.js +70 -0
  52. package/dist-server/ai-reads.js.map +1 -0
  53. package/dist-server/attachment-reader.d.ts +1 -0
  54. package/dist-server/attachment-reader.js +23 -0
  55. package/dist-server/attachment-reader.js.map +1 -0
  56. package/dist-server/index.d.ts +4 -0
  57. package/dist-server/index.js +33 -0
  58. package/dist-server/index.js.map +1 -0
  59. package/dist-server/learning-subjects.d.ts +10 -0
  60. package/dist-server/learning-subjects.js +31 -0
  61. package/dist-server/learning-subjects.js.map +1 -0
  62. package/dist-server/role-tasks.d.ts +2 -0
  63. package/dist-server/role-tasks.js +17 -0
  64. package/dist-server/role-tasks.js.map +1 -0
  65. package/dist-server/service/course/course-mutation.d.ts +19 -0
  66. package/dist-server/service/course/course-mutation.js +176 -0
  67. package/dist-server/service/course/course-mutation.js.map +1 -0
  68. package/dist-server/service/course/course-query.d.ts +26 -0
  69. package/dist-server/service/course/course-query.js +172 -0
  70. package/dist-server/service/course/course-query.js.map +1 -0
  71. package/dist-server/service/course/course-question.d.ts +41 -0
  72. package/dist-server/service/course/course-question.js +116 -0
  73. package/dist-server/service/course/course-question.js.map +1 -0
  74. package/dist-server/service/course/course-rules.d.ts +49 -0
  75. package/dist-server/service/course/course-rules.js +89 -0
  76. package/dist-server/service/course/course-rules.js.map +1 -0
  77. package/dist-server/service/course/course-service.d.ts +71 -0
  78. package/dist-server/service/course/course-service.js +402 -0
  79. package/dist-server/service/course/course-service.js.map +1 -0
  80. package/dist-server/service/course/course-type.d.ts +55 -0
  81. package/dist-server/service/course/course-type.js +198 -0
  82. package/dist-server/service/course/course-type.js.map +1 -0
  83. package/dist-server/service/course/course-unit.d.ts +36 -0
  84. package/dist-server/service/course/course-unit.js +123 -0
  85. package/dist-server/service/course/course-unit.js.map +1 -0
  86. package/dist-server/service/course/course-version.d.ts +45 -0
  87. package/dist-server/service/course/course-version.js +151 -0
  88. package/dist-server/service/course/course-version.js.map +1 -0
  89. package/dist-server/service/course/course.d.ts +23 -0
  90. package/dist-server/service/course/course.js +92 -0
  91. package/dist-server/service/course/course.js.map +1 -0
  92. package/dist-server/service/course/index.d.ts +14 -0
  93. package/dist-server/service/course/index.js +24 -0
  94. package/dist-server/service/course/index.js.map +1 -0
  95. package/dist-server/service/enrollment/enrollment-mutation.d.ts +11 -0
  96. package/dist-server/service/enrollment/enrollment-mutation.js +124 -0
  97. package/dist-server/service/enrollment/enrollment-mutation.js.map +1 -0
  98. package/dist-server/service/enrollment/enrollment-query.d.ts +23 -0
  99. package/dist-server/service/enrollment/enrollment-query.js +245 -0
  100. package/dist-server/service/enrollment/enrollment-query.js.map +1 -0
  101. package/dist-server/service/enrollment/enrollment-remind.d.ts +1 -0
  102. package/dist-server/service/enrollment/enrollment-remind.js +45 -0
  103. package/dist-server/service/enrollment/enrollment-remind.js.map +1 -0
  104. package/dist-server/service/enrollment/enrollment-service.d.ts +110 -0
  105. package/dist-server/service/enrollment/enrollment-service.js +417 -0
  106. package/dist-server/service/enrollment/enrollment-service.js.map +1 -0
  107. package/dist-server/service/enrollment/enrollment-status.d.ts +40 -0
  108. package/dist-server/service/enrollment/enrollment-status.js +135 -0
  109. package/dist-server/service/enrollment/enrollment-status.js.map +1 -0
  110. package/dist-server/service/enrollment/enrollment-type.d.ts +95 -0
  111. package/dist-server/service/enrollment/enrollment-type.js +341 -0
  112. package/dist-server/service/enrollment/enrollment-type.js.map +1 -0
  113. package/dist-server/service/enrollment/enrollment.d.ts +52 -0
  114. package/dist-server/service/enrollment/enrollment.js +186 -0
  115. package/dist-server/service/enrollment/enrollment.js.map +1 -0
  116. package/dist-server/service/enrollment/index.d.ts +15 -0
  117. package/dist-server/service/enrollment/index.js +26 -0
  118. package/dist-server/service/enrollment/index.js.map +1 -0
  119. package/dist-server/service/enrollment/learning-ai.d.ts +38 -0
  120. package/dist-server/service/enrollment/learning-ai.js +96 -0
  121. package/dist-server/service/enrollment/learning-ai.js.map +1 -0
  122. package/dist-server/service/enrollment/learning-documents.d.ts +7 -0
  123. package/dist-server/service/enrollment/learning-documents.js +160 -0
  124. package/dist-server/service/enrollment/learning-documents.js.map +1 -0
  125. package/dist-server/service/enrollment/learning-outcome.d.ts +10 -0
  126. package/dist-server/service/enrollment/learning-outcome.js +16 -0
  127. package/dist-server/service/enrollment/learning-outcome.js.map +1 -0
  128. package/dist-server/service/enrollment/progress-rules.d.ts +94 -0
  129. package/dist-server/service/enrollment/progress-rules.js +97 -0
  130. package/dist-server/service/enrollment/progress-rules.js.map +1 -0
  131. package/dist-server/service/enrollment/quiz-attempt.d.ts +34 -0
  132. package/dist-server/service/enrollment/quiz-attempt.js +105 -0
  133. package/dist-server/service/enrollment/quiz-attempt.js.map +1 -0
  134. package/dist-server/service/enrollment/unit-progress.d.ts +30 -0
  135. package/dist-server/service/enrollment/unit-progress.js +114 -0
  136. package/dist-server/service/enrollment/unit-progress.js.map +1 -0
  137. package/dist-server/service/index.d.ts +14 -0
  138. package/dist-server/service/index.js +43 -0
  139. package/dist-server/service/index.js.map +1 -0
  140. package/dist-server/tsconfig.tsbuildinfo +1 -0
  141. package/package.json +56 -4
  142. package/things-factory.config.js +14 -0
  143. package/translations/en.json +255 -0
  144. package/translations/es.json +255 -0
  145. package/translations/ja.json +255 -0
  146. package/translations/ko.json +255 -0
  147. package/translations/ms.json +255 -0
  148. package/translations/zh.json +255 -0
  149. package/README.md +0 -3
package/package.json CHANGED
@@ -1,6 +1,58 @@
1
1
  {
2
2
  "name": "@things-factory/learning",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "10.1.260",
4
+ "main": "dist-server/index.js",
5
+ "browser": "dist-client/index.js",
6
+ "things-factory": true,
7
+ "license": "MIT",
8
+ "author": "heartyoh <heartyoh@hatiolab.com>",
9
+ "description": "Learning management - courses and their versions, units and questions, enrolments with the time the server counts, quizzes scored by the server, completions with their evidence and certificates (ADR-0194)",
10
+ "publishConfig": {
11
+ "access": "public",
12
+ "@things-factory:registry": "https://registry.npmjs.org"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/hatiolab/things-factory.git",
17
+ "directory": "packages/learning"
18
+ },
19
+ "scripts": {
20
+ "build": "npm run build:server && npm run build:client",
21
+ "copy:files": "copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client",
22
+ "build:client": "npm run clean:client && npm run copy:files && npx tsc --p ./client/tsconfig.json",
23
+ "build:server": "npm run clean:server && npx tsc --p ./server/tsconfig.json",
24
+ "clean:server": "rm -rf dist-server",
25
+ "clean:client": "rm -rf dist-client",
26
+ "clean": "npm run clean:server && npm run clean:client",
27
+ "test": "npm run build:server && node --test test/*.test.mjs"
28
+ },
29
+ "dependencies": {
30
+ "@material/web": "^2.0.0",
31
+ "@operato/data-grist": "^10.29.69",
32
+ "@operato/graphql": "^10.29.69",
33
+ "@operato/i18n": "^10.0.0",
34
+ "@operato/input": "^10.29.52",
35
+ "@operato/layout": "^10.29.49",
36
+ "@operato/learning": "^10.29.71",
37
+ "@operato/list-state": "^10.29.39",
38
+ "@operato/popup": "^10.29.39",
39
+ "@operato/shell": "^10.29.69",
40
+ "@operato/styles": "^10.29.1",
41
+ "@operato/utils": "^10.0.0",
42
+ "@things-factory/ai-assistant": "^10.1.260",
43
+ "@things-factory/announcement": "^10.1.260",
44
+ "@things-factory/attachment-base": "^10.1.260",
45
+ "@things-factory/auth-base": "^10.1.260",
46
+ "@things-factory/env": "^10.1.149",
47
+ "@things-factory/i18n-base": "^10.1.260",
48
+ "@things-factory/notification": "^10.1.260",
49
+ "@things-factory/organization": "^10.1.260",
50
+ "@things-factory/pdf": "^10.1.260",
51
+ "@things-factory/shell": "^10.1.260",
52
+ "@things-factory/worklist": "^10.1.260",
53
+ "graphql-tag": "^2.12.6",
54
+ "graphql-upload": "^15.0.2",
55
+ "lit": "^3.1.2"
56
+ },
57
+ "gitHead": "72de583ba0394dcf8195ef723b0ee4217507e0e5"
58
+ }
@@ -0,0 +1,14 @@
1
+ import bootstrap from './dist-client/bootstrap.js'
2
+ import route from './dist-client/route.js'
3
+
4
+ export default {
5
+ bootstrap,
6
+ route,
7
+ routes: [
8
+ { tagname: 'my-learning', page: 'my-learning' },
9
+ { tagname: 'learning-view', page: 'learning-view' },
10
+ { tagname: 'learning-course-list', page: 'learning-course-list' },
11
+ { tagname: 'learning-course-editor', page: 'learning-course-editor' },
12
+ { tagname: 'learning-enrollment-status', page: 'learning-enrollment-status' }
13
+ ]
14
+ }
@@ -0,0 +1,255 @@
1
+ {
2
+ "activity.learning-course.guide.0": "It is handed out when a course is assigned - a mandatory training session, onboarding or a manager assigning it.",
3
+ "activity.learning-course.guide.1": "It opens the course; completing the course ends it.",
4
+ "activity.learning-course.guide.2": "A to-do past its due date is reminded as every overdue to-do is.",
5
+ "activity.learning-course.label": "Course learning",
6
+ "button.learning-acknowledge": "Confirm",
7
+ "button.learning-assign": "Assign course",
8
+ "button.learning-cancel-enrollment": "Cancel enrolment",
9
+ "button.learning-certificate": "Issue certificate",
10
+ "button.learning-choice-add": "Add choice",
11
+ "button.learning-choice-remove": "Remove choice",
12
+ "button.learning-continue": "Continue",
13
+ "button.learning-course-edit": "Edit course",
14
+ "button.learning-course-new": "Add course",
15
+ "button.learning-delete": "Delete",
16
+ "button.learning-edit": "Edit",
17
+ "button.learning-move-down": "Move down",
18
+ "button.learning-move-up": "Move up",
19
+ "button.learning-open-course": "Open course",
20
+ "button.learning-question-add": "Add question",
21
+ "button.learning-quiz-start": "Start quiz",
22
+ "button.learning-register-pdf": "Issue completion register",
23
+ "button.learning-remind": "Send completion reminder",
24
+ "button.learning-review": "Review",
25
+ "button.learning-start": "Start",
26
+ "button.learning-unit-add": "Add unit",
27
+ "button.learning-version-close": "Close version",
28
+ "button.learning-version-delete": "Delete draft",
29
+ "button.learning-version-new": "New version",
30
+ "button.learning-version-publish": "Publish",
31
+ "error.learning-attempt-limit-invalid": "Enter a whole-number attempt limit of 1 or more.",
32
+ "error.learning-attempt-sent": "Answers have already been submitted for this attempt.",
33
+ "error.learning-attempts-used": "All {limit} attempts are used.",
34
+ "error.learning-audience-invalid": "{target} is not of this domain.",
35
+ "error.learning-audience-required": "Select who takes the course.",
36
+ "error.learning-cancel-reason-required": "Enter the reason for cancelling.",
37
+ "error.learning-content-what": "Specify an enrollment or course version.",
38
+ "error.learning-course-name-required": "Enter the course name.",
39
+ "error.learning-course-name-taken": "A course named “{name}” exists.",
40
+ "error.learning-course-not-published": "A course with no published version cannot be assigned. Publish a version first.",
41
+ "error.learning-draft-exists": "The course has a draft. Edit it instead.",
42
+ "error.learning-due-invalid": "Enter the due date in YYYY-MM-DD format.",
43
+ "error.learning-enrollment-cancelled": "The enrolment is cancelled.",
44
+ "error.learning-enrollment-completed": "The course is already completed.",
45
+ "error.learning-enrollment-moved": "The enrolment changed meanwhile. Reload and try again.",
46
+ "error.learning-learner-unknown": "A learner must be a user of this domain.",
47
+ "error.learning-link-not-counted": "A link is not counted.",
48
+ "error.learning-manager-unknown": "The manager must be a user of this domain.",
49
+ "error.learning-min-time-invalid": "Enter a whole-number minimum learning time of zero or more.",
50
+ "error.learning-no-acknowledgement": "The course asks for no acknowledgement.",
51
+ "error.learning-no-quiz": "The course has no quiz.",
52
+ "error.learning-not-a-department-head": "Only a department head can view where their people stand.",
53
+ "error.learning-not-completed": "A certificate is issued only for a completed course.",
54
+ "error.learning-not-found": "The record was not found. Reload and try again.",
55
+ "error.learning-pass-score-invalid": "The pass score is a whole number from 1 to 100.",
56
+ "error.learning-position-ahead": "You cannot skip beyond the watched position ({allowed} seconds). Continue playing from that position.",
57
+ "error.learning-question-answer-required": "Mark at least one correct choice.",
58
+ "error.learning-question-choices-required": "Enter at least two choices. True-or-false questions require exactly two.",
59
+ "error.learning-question-count-invalid": "Enter a whole-number question count of 1 or more.",
60
+ "error.learning-question-count-too-many": "The number of questions per attempt exceeds the number of registered questions.",
61
+ "error.learning-question-draft-invalid": "Each draft question must include question text, at least two choices and a correct answer.",
62
+ "error.learning-question-kind-invalid": "Select the question type.",
63
+ "error.learning-question-one-answer": "Select exactly one correct answer for this question type.",
64
+ "error.learning-question-text-required": "Enter the question.",
65
+ "error.learning-questions-drafted": "Some questions are AI drafts not reviewed yet. Review and save them before publishing.",
66
+ "error.learning-questions-required": "A course with a pass score needs at least one question.",
67
+ "error.learning-quiz-in-progress": "AI guidance on course content is unavailable during a quiz attempt. Submit your answers before asking again.",
68
+ "error.learning-source-required": "Specify the work item or assignment that requested this enrollment.",
69
+ "error.learning-unit-body-required": "Enter the text.",
70
+ "error.learning-unit-duration-invalid": "The video length is not valid.",
71
+ "error.learning-unit-duration-required": "A video's length is unknown. Attach its file again.",
72
+ "error.learning-unit-file-not-taken": "Files can only be attached to video or PDF units.",
73
+ "error.learning-unit-file-required": "A video or a PDF unit has no file.",
74
+ "error.learning-unit-kind-invalid": "Select the unit type.",
75
+ "error.learning-unit-min-time-invalid": "Enter a whole-number minimum learning time of at least 1 second.",
76
+ "error.learning-unit-name-required": "Enter the unit name.",
77
+ "error.learning-unit-url-invalid": "Enter a link starting with http:// or https://.",
78
+ "error.learning-units-required": "Add at least one unit before publishing.",
79
+ "error.learning-version-not-draft": "A published or closed version cannot be changed. Start a new version to change it.",
80
+ "error.learning-version-not-found": "The version was not found.",
81
+ "error.learning-version-not-published": "Only the published version can be closed.",
82
+ "field.learning-acknowledgement": "Acknowledgement",
83
+ "field.learning-assign-audience": "Learners",
84
+ "field.learning-attempt-limit": "Attempts allowed",
85
+ "field.learning-cancel-reason": "Reason for cancelling",
86
+ "field.learning-certificate-no": "Certificate no.",
87
+ "field.learning-completed-on": "Completed on",
88
+ "field.learning-course-category": "Category",
89
+ "field.learning-course-description": "Description",
90
+ "field.learning-course-manager": "Manager",
91
+ "field.learning-course-name": "Course",
92
+ "field.learning-days-left": "Days left",
93
+ "field.learning-department": "Department",
94
+ "field.learning-due-on": "Due",
95
+ "field.learning-learner": "Learner",
96
+ "field.learning-min-minutes": "Minimum learning time (min)",
97
+ "field.learning-minutes": "Learning time (min)",
98
+ "field.learning-pass-score": "Pass score",
99
+ "field.learning-published-version": "Published version",
100
+ "field.learning-question-choices": "Choices and answers",
101
+ "field.learning-question-count": "Questions per attempt",
102
+ "field.learning-question-explanation": "Explanation",
103
+ "field.learning-question-kind": "Question type",
104
+ "field.learning-question-text": "Question",
105
+ "field.learning-score": "Score",
106
+ "field.learning-source-kind": "Source of material",
107
+ "field.learning-source-note": "Provider and terms of use",
108
+ "field.learning-state": "Status",
109
+ "field.learning-unit-body": "Text (markdown)",
110
+ "field.learning-unit-kind": "Unit type",
111
+ "field.learning-unit-min-seconds": "Minimum time (s)",
112
+ "field.learning-unit-name": "Unit name",
113
+ "field.learning-unit-pdf": "PDF file",
114
+ "field.learning-unit-url": "Link address",
115
+ "field.learning-unit-video": "Video file",
116
+ "field.learning-units-done": "Completed units",
117
+ "field.learning-updated-at": "Updated",
118
+ "issued-document.learning.certificate": "Certificate",
119
+ "issued-document.learning.completion-register": "Completion register",
120
+ "label.learning-choice-correct": "Mark choice {number} as correct",
121
+ "label.learning-choice-text": "Choice {number}",
122
+ "label.learning-units": "Units",
123
+ "label.learning-units-done": "Completed units",
124
+ "task.learning.managing.description": "Manage courses, versions, units and quiz questions, and assign learners. View enrollment progress and issue completion registers.",
125
+ "task.learning.managing.name": "Managing courses",
126
+ "task.learning.taking.description": "Study assigned courses, take quizzes and obtain certificates for completed courses. Department heads can view the completion status of employees in their departments.",
127
+ "task.learning.taking.name": "Taking courses",
128
+ "text.learning-acknowledge-label": "I confirm that I have read and understood the above.",
129
+ "text.learning-acknowledged-on": "Confirmed on {day}.",
130
+ "text.learning-acknowledgement-hint": "Learners must confirm this text before completing the course. Leave it blank to omit this step.",
131
+ "text.learning-assign-audience-hint": "Assign the course and create tasks for users currently included in the selected audience. Users already taking this course through an assignment made on this screen are not assigned again.",
132
+ "text.learning-assigned": "{count} enrolments are assigned.",
133
+ "text.learning-attempt-limit-hint": "Leave empty for no limit.",
134
+ "text.learning-attempts-left": "{count} attempts left.",
135
+ "text.learning-best-score": "Best score: {score}.",
136
+ "text.learning-cancelled": "The enrolment is cancelled.",
137
+ "text.learning-category-job": "Job training",
138
+ "text.learning-category-mandatory": "Mandatory training",
139
+ "text.learning-category-onboarding": "Onboarding",
140
+ "text.learning-category-other": "Other",
141
+ "text.learning-category-product": "Product training",
142
+ "text.learning-category-rules": "Company rules",
143
+ "text.learning-choice-count": "{count} choices",
144
+ "text.learning-completed-detail": "Completed on {day}. Certificate no. {number}.",
145
+ "text.learning-completed-on": "Completed {day}",
146
+ "text.learning-count-assigned": "Not started",
147
+ "text.learning-count-completed": "Completed",
148
+ "text.learning-count-in-progress": "In progress",
149
+ "text.learning-count-overdue": "Overdue",
150
+ "text.learning-count-total": "Learners",
151
+ "text.learning-course-all": "All courses",
152
+ "text.learning-due-on": "Due {day}",
153
+ "text.learning-due-on-hint": "Leave empty to assign without a due date.",
154
+ "text.learning-learned-minutes": "{minutes} min learned / {required} min required",
155
+ "text.learning-learners-take": "Learners take version {number}.",
156
+ "text.learning-link-not-counted": "Time and progress on external sites do not count toward course completion. Use these links as reference material.",
157
+ "text.learning-managed-by": "Manager: {name}",
158
+ "text.learning-min-minutes-hint": "The total learning time across all units must meet this minimum. Time is counted while the screen is visible and, for videos, while playback is active.",
159
+ "text.learning-missing-acknowledgement": "acknowledgement",
160
+ "text.learning-missing-lead": "Complete the following requirements:",
161
+ "text.learning-missing-quiz": "passing the quiz",
162
+ "text.learning-missing-time": "the minimum learning time",
163
+ "text.learning-missing-units": "every unit",
164
+ "text.learning-no-course": "There are no courses.",
165
+ "text.learning-no-course-description": "Select Add course to register a course.",
166
+ "text.learning-no-enrollment": "No enrollments match the selected conditions.",
167
+ "text.learning-no-question": "There are no questions.",
168
+ "text.learning-no-unit": "There are no units.",
169
+ "text.learning-no-version": "There is no version yet. Start one with “New version”.",
170
+ "text.learning-not-published": "Not published",
171
+ "text.learning-nothing-to-take": "No courses are assigned to you.",
172
+ "text.learning-pass-score-hint": "Out of 100. Leave empty for no quiz.",
173
+ "text.learning-pick-one": "Select one enrolment.",
174
+ "text.learning-pick-open": "Select enrollments that have not been completed.",
175
+ "text.learning-question-count-hint": "Each attempt draws this many questions at random. Leave empty to draw them all.",
176
+ "text.learning-question-delete-confirm": "Delete this question?",
177
+ "text.learning-question-drafted": "AI draft · review needed",
178
+ "text.learning-question-multiple": "Multiple-answer multiple choice",
179
+ "text.learning-question-multiple-hint": "Mark every correct choice.",
180
+ "text.learning-question-single": "Single-answer multiple choice",
181
+ "text.learning-question-single-hint": "Mark the one correct choice.",
182
+ "text.learning-question-true-false": "True or false",
183
+ "text.learning-quiz-failed": "You scored {score}, below the pass score.",
184
+ "text.learning-quiz-off": "No pass score is set. A quiz is not required for completion.",
185
+ "text.learning-quiz-on": "A score of {pass} or more passes.",
186
+ "text.learning-quiz-passed": "You passed with {score}.",
187
+ "text.learning-quiz-rule": "The quiz has {count} questions. A score of {pass} or higher is required to pass.",
188
+ "text.learning-register-name": "Completion register - {course}",
189
+ "text.learning-remind-action": "Open the course",
190
+ "text.learning-remind-body": "Please complete the course “{course}” by {dueOn}.",
191
+ "text.learning-remind-body-no-due": "Please complete “{course}”.",
192
+ "text.learning-remind-note": "Sent by the course manager.",
193
+ "text.learning-remind-subject": "[Course] {course}",
194
+ "text.learning-reminded": "{count} learners were reminded.",
195
+ "text.learning-source-note-hint": "Record the material provider and usage terms, such as attribution or restrictions on modification.",
196
+ "text.learning-source-own": "Produced in-house",
197
+ "text.learning-source-public": "Public body",
198
+ "text.learning-source-purchased": "Purchased",
199
+ "text.learning-state-all": "All statuses",
200
+ "text.learning-state-assigned": "Not started",
201
+ "text.learning-state-cancelled": "Cancelled",
202
+ "text.learning-state-completed": "Completed",
203
+ "text.learning-state-in-progress": "In progress",
204
+ "text.learning-state-overdue": "Overdue",
205
+ "text.learning-todo-headline": "To be completed by {dueOn}.",
206
+ "text.learning-todo-headline-no-due": "Please complete the course.",
207
+ "text.learning-todo-name": "Take {course}",
208
+ "text.learning-unit-delete-confirm": "Delete the unit “{name}”? Its file is deleted with it.",
209
+ "text.learning-unit-done": "done",
210
+ "text.learning-unit-duration": "{minutes} min {seconds} s long",
211
+ "text.learning-unit-file-kept": "Current file: {name}",
212
+ "text.learning-unit-file-none": "No file",
213
+ "text.learning-unit-link": "Link",
214
+ "text.learning-unit-link-hint": "Time and progress on external sites do not count toward course completion.",
215
+ "text.learning-unit-markdown": "Text",
216
+ "text.learning-unit-markdown-hint": "Keep the text open and visible for the minimum learning time to complete this unit.",
217
+ "text.learning-unit-min-seconds": "Minimum reading time: {seconds} s",
218
+ "text.learning-unit-min-seconds-hint": "Leave blank to use a minimum reading time of 60 seconds.",
219
+ "text.learning-unit-pdf": "Document (PDF)",
220
+ "text.learning-unit-pdf-hint": "Keep the PDF open and visible for the minimum learning time to complete this unit.",
221
+ "text.learning-unit-video": "Video",
222
+ "text.learning-unit-video-hint": "Watch the video to the end and meet its required learning time to complete the unit. You cannot skip to an unwatched section.",
223
+ "text.learning-version-close-confirm": "Closing this version prevents new learners from starting it. Learners who have already started can continue.",
224
+ "text.learning-version-closed": "Closed",
225
+ "text.learning-version-closed-note": "Closed on {day}. It cannot be changed.",
226
+ "text.learning-version-delete-confirm": "Delete the draft with its units, questions and files?",
227
+ "text.learning-version-draft": "Draft",
228
+ "text.learning-version-draft-note": "A draft - learners do not see it until it is published.",
229
+ "text.learning-version-number": "Version {number}",
230
+ "text.learning-version-publish-confirm": "Published versions cannot be edited. The previously published version will be closed, and learners who have already started it can continue with that version.",
231
+ "text.learning-version-publish-done": "The version is published.",
232
+ "text.learning-version-published": "Published",
233
+ "text.learning-version-published-note": "Published on {day}. It cannot be changed - start a new version to change it.",
234
+ "title.learning-acknowledgement": "Acknowledgement",
235
+ "title.learning-assign": "Assign · {course}",
236
+ "title.learning-certificate": "Certificate",
237
+ "title.learning-completed": "Completed",
238
+ "title.learning-course-edit": "Edit course",
239
+ "title.learning-course-editor": "Course",
240
+ "title.learning-course-list": "Courses",
241
+ "title.learning-course-new": "New course",
242
+ "title.learning-enrollment-status": "Enrolments",
243
+ "title.learning-learning": "Course",
244
+ "title.learning-my-learning": "My learning",
245
+ "title.learning-question-edit": "Edit question",
246
+ "title.learning-question-new": "New question",
247
+ "title.learning-questions": "Quiz questions",
248
+ "title.learning-quiz": "Quiz",
249
+ "title.learning-to-take": "To take",
250
+ "title.learning-unit-edit": "Edit unit",
251
+ "title.learning-unit-new": "New unit",
252
+ "title.learning-units": "Units",
253
+ "title.learning-version-settings": "Completion and source",
254
+ "title.learning-versions": "Versions"
255
+ }
@@ -0,0 +1,255 @@
1
+ {
2
+ "activity.learning-course.guide.0": "Se crea cuando se asigna un curso: una sesión de formación obligatoria, la incorporación o un responsable que lo asigna.",
3
+ "activity.learning-course.guide.1": "Abre el curso; finalizarlo la completa.",
4
+ "activity.learning-course.guide.2": "Una tarea vencida se recuerda como cualquier otra tarea vencida.",
5
+ "activity.learning-course.label": "Realización de curso",
6
+ "button.learning-acknowledge": "Confirmar",
7
+ "button.learning-assign": "Asignar curso",
8
+ "button.learning-cancel-enrollment": "Cancelar inscripción",
9
+ "button.learning-certificate": "Emitir certificado",
10
+ "button.learning-choice-add": "Añadir opción",
11
+ "button.learning-choice-remove": "Quitar opción",
12
+ "button.learning-continue": "Continuar",
13
+ "button.learning-course-edit": "Editar curso",
14
+ "button.learning-course-new": "Añadir curso",
15
+ "button.learning-delete": "Eliminar",
16
+ "button.learning-edit": "Editar",
17
+ "button.learning-move-down": "Bajar",
18
+ "button.learning-move-up": "Subir",
19
+ "button.learning-open-course": "Abrir curso",
20
+ "button.learning-question-add": "Añadir pregunta",
21
+ "button.learning-quiz-start": "Iniciar evaluación",
22
+ "button.learning-register-pdf": "Emitir registro de finalización",
23
+ "button.learning-remind": "Recordar",
24
+ "button.learning-review": "Repasar",
25
+ "button.learning-start": "Empezar",
26
+ "button.learning-unit-add": "Añadir unidad",
27
+ "button.learning-version-close": "Cerrar versión",
28
+ "button.learning-version-delete": "Eliminar borrador",
29
+ "button.learning-version-new": "Nueva versión",
30
+ "button.learning-version-publish": "Publicar",
31
+ "error.learning-attempt-limit-invalid": "Los intentos deben ser un número entero de 1 o más.",
32
+ "error.learning-attempt-sent": "Este intento ya se envió.",
33
+ "error.learning-attempts-used": "Se han usado los {limit} intentos.",
34
+ "error.learning-audience-invalid": "{target} no pertenece a este dominio.",
35
+ "error.learning-audience-required": "Seleccione los destinatarios.",
36
+ "error.learning-cancel-reason-required": "Indique el motivo de la cancelación.",
37
+ "error.learning-content-what": "Indique la inscripción o la versión.",
38
+ "error.learning-course-name-required": "Indique el nombre del curso.",
39
+ "error.learning-course-name-taken": "Ya existe un curso llamado «{name}».",
40
+ "error.learning-course-not-published": "No se puede asignar un curso sin versión publicada. Publique primero una versión.",
41
+ "error.learning-draft-exists": "El curso tiene un borrador. Edítelo.",
42
+ "error.learning-due-invalid": "Indique la fecha como AAAA-MM-DD.",
43
+ "error.learning-enrollment-cancelled": "La inscripción está cancelada.",
44
+ "error.learning-enrollment-completed": "El curso ya está finalizado.",
45
+ "error.learning-enrollment-moved": "La inscripción cambió. Recargue e inténtelo de nuevo.",
46
+ "error.learning-learner-unknown": "El participante debe ser usuario de este dominio.",
47
+ "error.learning-link-not-counted": "Un enlace no cuenta.",
48
+ "error.learning-manager-unknown": "El responsable debe ser usuario de este dominio.",
49
+ "error.learning-min-time-invalid": "El tiempo mínimo debe ser un entero de 0 o más.",
50
+ "error.learning-no-acknowledgement": "El curso no pide declaración.",
51
+ "error.learning-no-quiz": "El curso no tiene evaluación.",
52
+ "error.learning-not-a-department-head": "Solo un jefe de departamento puede ver la situación de su equipo.",
53
+ "error.learning-not-completed": "El certificado solo se emite para un curso finalizado.",
54
+ "error.learning-not-found": "No se encontró el registro. Recargue e inténtelo de nuevo.",
55
+ "error.learning-pass-score-invalid": "La puntuación mínima es un entero de 1 a 100.",
56
+ "error.learning-position-ahead": "No puede avanzar más allá de lo visto ({allowed} s). Siga reproduciendo el vídeo.",
57
+ "error.learning-question-answer-required": "Marque al menos una opción correcta.",
58
+ "error.learning-question-choices-required": "Indique dos opciones o más; una de verdadero o falso tiene exactamente dos.",
59
+ "error.learning-question-count-invalid": "Las preguntas por intento deben ser un entero de 1 o más.",
60
+ "error.learning-question-count-too-many": "Hay más preguntas por intento que preguntas registradas.",
61
+ "error.learning-question-draft-invalid": "Una pregunta borrador necesita el texto, dos opciones o más y las correctas.",
62
+ "error.learning-question-kind-invalid": "Seleccione el tipo de pregunta.",
63
+ "error.learning-question-one-answer": "Este tipo de pregunta admite una sola opción correcta.",
64
+ "error.learning-question-text-required": "Indique la pregunta.",
65
+ "error.learning-questions-drafted": "Hay preguntas de IA sin revisar. Revíselas y guárdelas antes de publicar.",
66
+ "error.learning-questions-required": "Un curso con puntuación mínima necesita al menos una pregunta.",
67
+ "error.learning-quiz-in-progress": "No se responden preguntas del curso mientras hay una evaluación abierta. Pregunte después de enviarla.",
68
+ "error.learning-source-required": "La inscripción debe indicar quién la solicitó.",
69
+ "error.learning-unit-body-required": "Indique el texto.",
70
+ "error.learning-unit-duration-invalid": "La duración del vídeo no es válida.",
71
+ "error.learning-unit-duration-required": "Hay un vídeo sin duración conocida. Adjunte de nuevo el archivo.",
72
+ "error.learning-unit-file-not-taken": "Solo una unidad de vídeo o PDF admite archivo.",
73
+ "error.learning-unit-file-required": "Una unidad de vídeo o PDF no tiene archivo.",
74
+ "error.learning-unit-kind-invalid": "Seleccione el tipo de unidad.",
75
+ "error.learning-unit-min-time-invalid": "El tiempo mínimo es un entero de 1 segundo o más.",
76
+ "error.learning-unit-name-required": "Indique el nombre de la unidad.",
77
+ "error.learning-unit-url-invalid": "El enlace debe empezar por http:// o https://.",
78
+ "error.learning-units-required": "Añada al menos una unidad antes de publicar.",
79
+ "error.learning-version-not-draft": "Una versión publicada o cerrada no se puede modificar. Cree una versión nueva.",
80
+ "error.learning-version-not-found": "No se encontró la versión.",
81
+ "error.learning-version-not-published": "Solo se puede cerrar la versión publicada.",
82
+ "field.learning-acknowledgement": "Declaración de conformidad",
83
+ "field.learning-assign-audience": "Destinatarios",
84
+ "field.learning-attempt-limit": "Intentos permitidos",
85
+ "field.learning-cancel-reason": "Motivo de la cancelación",
86
+ "field.learning-certificate-no": "N.º de certificado",
87
+ "field.learning-completed-on": "Fecha de finalización",
88
+ "field.learning-course-category": "Categoría",
89
+ "field.learning-course-description": "Descripción",
90
+ "field.learning-course-manager": "Responsable",
91
+ "field.learning-course-name": "Curso",
92
+ "field.learning-days-left": "Días restantes",
93
+ "field.learning-department": "Departamento",
94
+ "field.learning-due-on": "Fecha límite",
95
+ "field.learning-learner": "Participante",
96
+ "field.learning-min-minutes": "Tiempo mínimo de aprendizaje (min)",
97
+ "field.learning-minutes": "Tiempo de aprendizaje (min)",
98
+ "field.learning-pass-score": "Puntuación mínima",
99
+ "field.learning-published-version": "Versión publicada",
100
+ "field.learning-question-choices": "Opciones y respuestas",
101
+ "field.learning-question-count": "Preguntas por intento",
102
+ "field.learning-question-explanation": "Explicación",
103
+ "field.learning-question-kind": "Tipo de pregunta",
104
+ "field.learning-question-text": "Pregunta",
105
+ "field.learning-score": "Puntuación",
106
+ "field.learning-source-kind": "Origen del material",
107
+ "field.learning-source-note": "Proveedor y condiciones de uso",
108
+ "field.learning-state": "Estado",
109
+ "field.learning-unit-body": "Texto (markdown)",
110
+ "field.learning-unit-kind": "Tipo de unidad",
111
+ "field.learning-unit-min-seconds": "Tiempo mínimo (s)",
112
+ "field.learning-unit-name": "Nombre de la unidad",
113
+ "field.learning-unit-pdf": "Archivo PDF",
114
+ "field.learning-unit-url": "Dirección del enlace",
115
+ "field.learning-unit-video": "Archivo de vídeo",
116
+ "field.learning-units-done": "Unidades completadas",
117
+ "field.learning-updated-at": "Actualizado",
118
+ "issued-document.learning.certificate": "Certificado",
119
+ "issued-document.learning.completion-register": "Registro de finalización",
120
+ "label.learning-choice-correct": "Marcar la opción {number} como correcta",
121
+ "label.learning-choice-text": "Opción {number}",
122
+ "label.learning-units": "Unidades",
123
+ "label.learning-units-done": "Unidades completadas",
124
+ "task.learning.managing.description": "Gestiona los cursos, sus versiones, unidades y preguntas, y los asigna; consulta la situación y emite el registro de finalización.",
125
+ "task.learning.managing.name": "Gestionar cursos",
126
+ "task.learning.taking.description": "Realiza los cursos asignados, hace sus evaluaciones y emite los certificados de los finalizados. Un jefe de departamento ve la situación de su equipo.",
127
+ "task.learning.taking.name": "Realizar cursos",
128
+ "text.learning-acknowledge-label": "Confirmo que he leído y comprendido lo anterior.",
129
+ "text.learning-acknowledged-on": "Confirmado el {day}.",
130
+ "text.learning-acknowledgement-hint": "Si se rellena, los participantes deben confirmar este texto antes de finalizar. Déjelo vacío para no pedir nada.",
131
+ "text.learning-assign-audience-hint": "El curso se asigna a las personas que incluye la selección en este momento, cada una con una tarea. Quien ya lo esté cursando no se asigna de nuevo.",
132
+ "text.learning-assigned": "Hay {count} inscripciones asignadas.",
133
+ "text.learning-attempt-limit-hint": "Déjelo vacío para no limitar.",
134
+ "text.learning-attempts-left": "Quedan {count} intentos.",
135
+ "text.learning-best-score": "Mejor puntuación: {score}.",
136
+ "text.learning-cancelled": "Inscripción cancelada.",
137
+ "text.learning-category-job": "Formación del puesto",
138
+ "text.learning-category-mandatory": "Formación obligatoria",
139
+ "text.learning-category-onboarding": "Incorporación",
140
+ "text.learning-category-other": "Otros",
141
+ "text.learning-category-product": "Formación de producto",
142
+ "text.learning-category-rules": "Normas internas",
143
+ "text.learning-choice-count": "{count} opciones",
144
+ "text.learning-completed-detail": "Finalizado el {day}. Certificado n.º {number}.",
145
+ "text.learning-completed-on": "Finalizado el {day}",
146
+ "text.learning-count-assigned": "Sin empezar",
147
+ "text.learning-count-completed": "Finalizados",
148
+ "text.learning-count-in-progress": "En curso",
149
+ "text.learning-count-overdue": "Vencidos",
150
+ "text.learning-count-total": "Participantes",
151
+ "text.learning-course-all": "Todos los cursos",
152
+ "text.learning-due-on": "Vence el {day}",
153
+ "text.learning-due-on-hint": "Déjelo vacío para asignar sin fecha límite.",
154
+ "text.learning-learned-minutes": "{minutes} min aprendidos / {required} min requeridos",
155
+ "text.learning-learners-take": "Los participantes cursan la versión {number}.",
156
+ "text.learning-link-not-counted": "Un enlace externo no cuenta para el tiempo ni el progreso. Úselo como referencia.",
157
+ "text.learning-managed-by": "Responsable: {name}",
158
+ "text.learning-min-minutes-hint": "Los participantes solo finalizan cuando el tiempo contado en todas las unidades alcanza este valor. El servidor cuenta el tiempo.",
159
+ "text.learning-missing-acknowledgement": "confirmar la declaración",
160
+ "text.learning-missing-lead": "Para finalizar, complete:",
161
+ "text.learning-missing-quiz": "aprobar la evaluación",
162
+ "text.learning-missing-time": "el tiempo mínimo de aprendizaje",
163
+ "text.learning-missing-units": "todas las unidades",
164
+ "text.learning-no-course": "No hay cursos.",
165
+ "text.learning-no-course-description": "Añada uno con «Añadir curso».",
166
+ "text.learning-no-enrollment": "No hay inscripciones que coincidan.",
167
+ "text.learning-no-question": "No hay preguntas.",
168
+ "text.learning-no-unit": "No hay unidades.",
169
+ "text.learning-no-version": "Aún no hay versiones. Cree una con «Nueva versión».",
170
+ "text.learning-not-published": "Sin publicar",
171
+ "text.learning-nothing-to-take": "No tiene cursos asignados.",
172
+ "text.learning-pass-score-hint": "Sobre 100. Déjelo vacío para no evaluar.",
173
+ "text.learning-pick-one": "Seleccione una inscripción.",
174
+ "text.learning-pick-open": "Seleccione inscripciones no finalizadas.",
175
+ "text.learning-question-count-hint": "Cada intento elige al azar este número de preguntas. Déjelo vacío para usarlas todas.",
176
+ "text.learning-question-delete-confirm": "¿Eliminar esta pregunta?",
177
+ "text.learning-question-drafted": "Borrador de IA · revisar",
178
+ "text.learning-question-multiple": "Varias opciones",
179
+ "text.learning-question-multiple-hint": "Marque todas las opciones correctas.",
180
+ "text.learning-question-single": "Una opción",
181
+ "text.learning-question-single-hint": "Marque la opción correcta.",
182
+ "text.learning-question-true-false": "Verdadero o falso",
183
+ "text.learning-quiz-failed": "Ha obtenido {score}, por debajo de la puntuación mínima.",
184
+ "text.learning-quiz-off": "No hay puntuación mínima: el curso finaliza sin evaluación.",
185
+ "text.learning-quiz-on": "Se aprueba con {pass} o más.",
186
+ "text.learning-quiz-passed": "Ha aprobado con {score}.",
187
+ "text.learning-quiz-rule": "{count} preguntas; se aprueba con {pass} o más.",
188
+ "text.learning-register-name": "Registro de finalización - {course}",
189
+ "text.learning-remind-action": "Abrir el curso",
190
+ "text.learning-remind-body": "Debe completar «{course}» antes del {dueOn}.",
191
+ "text.learning-remind-body-no-due": "Complete «{course}», por favor.",
192
+ "text.learning-remind-note": "Enviado por el responsable del curso.",
193
+ "text.learning-remind-subject": "[Curso] {course}",
194
+ "text.learning-reminded": "Se recordó a {count} participantes.",
195
+ "text.learning-source-note-hint": "Registre quién proporcionó el material y sus condiciones (atribución, sin cambios...).",
196
+ "text.learning-source-own": "Elaboración propia",
197
+ "text.learning-source-public": "Organismo público",
198
+ "text.learning-source-purchased": "Comprado",
199
+ "text.learning-state-all": "Todos los estados",
200
+ "text.learning-state-assigned": "Sin empezar",
201
+ "text.learning-state-cancelled": "Cancelado",
202
+ "text.learning-state-completed": "Finalizado",
203
+ "text.learning-state-in-progress": "En curso",
204
+ "text.learning-state-overdue": "Vencido",
205
+ "text.learning-todo-headline": "Debe completarse antes del {dueOn}.",
206
+ "text.learning-todo-headline-no-due": "Complete el curso, por favor.",
207
+ "text.learning-todo-name": "Cursar {course}",
208
+ "text.learning-unit-delete-confirm": "¿Eliminar la unidad «{name}»? Su archivo también se elimina.",
209
+ "text.learning-unit-done": "completada",
210
+ "text.learning-unit-duration": "Duración {minutes} min {seconds} s",
211
+ "text.learning-unit-file-kept": "Archivo actual: {name}",
212
+ "text.learning-unit-file-none": "Sin archivo",
213
+ "text.learning-unit-link": "Enlace",
214
+ "text.learning-unit-link-hint": "No se puede saber lo que se ve en otro sitio, así que el enlace no cuenta.",
215
+ "text.learning-unit-markdown": "Texto",
216
+ "text.learning-unit-markdown-hint": "La unidad se completa cuando el texto ha estado abierto el tiempo mínimo.",
217
+ "text.learning-unit-min-seconds": "abierto {seconds} s",
218
+ "text.learning-unit-min-seconds-hint": "60 segundos si está vacío.",
219
+ "text.learning-unit-pdf": "Documento (PDF)",
220
+ "text.learning-unit-pdf-hint": "La unidad se completa cuando el PDF ha estado abierto el tiempo mínimo.",
221
+ "text.learning-unit-video": "Vídeo",
222
+ "text.learning-unit-video-hint": "La unidad se completa cuando el vídeo se ha reproducido hasta el final con su duración contada. No se puede adelantar más allá de lo visto.",
223
+ "text.learning-version-close-confirm": "Una vez cerrada, ningún participante nuevo empieza esta versión. Quien la empezó puede terminarla.",
224
+ "text.learning-version-closed": "Cerrada",
225
+ "text.learning-version-closed-note": "Cerrada el {day}. No se puede modificar.",
226
+ "text.learning-version-delete-confirm": "¿Eliminar el borrador con sus unidades, preguntas y archivos?",
227
+ "text.learning-version-draft": "Borrador",
228
+ "text.learning-version-draft-note": "Un borrador: los participantes no lo ven hasta que se publique.",
229
+ "text.learning-version-number": "Versión {number}",
230
+ "text.learning-version-publish-confirm": "Una versión publicada no se puede modificar. La anterior se cierra; quien la empezó la termina.",
231
+ "text.learning-version-publish-done": "Versión publicada.",
232
+ "text.learning-version-published": "Publicada",
233
+ "text.learning-version-published-note": "Publicada el {day}. No se puede modificar: cree una versión nueva.",
234
+ "title.learning-acknowledgement": "Declaración",
235
+ "title.learning-assign": "Asignar · {course}",
236
+ "title.learning-certificate": "Certificado",
237
+ "title.learning-completed": "Finalizados",
238
+ "title.learning-course-edit": "Editar curso",
239
+ "title.learning-course-editor": "Curso",
240
+ "title.learning-course-list": "Cursos",
241
+ "title.learning-course-new": "Nuevo curso",
242
+ "title.learning-enrollment-status": "Inscripciones",
243
+ "title.learning-learning": "Curso",
244
+ "title.learning-my-learning": "Mi aprendizaje",
245
+ "title.learning-question-edit": "Editar pregunta",
246
+ "title.learning-question-new": "Nueva pregunta",
247
+ "title.learning-questions": "Preguntas de evaluación",
248
+ "title.learning-quiz": "Evaluación",
249
+ "title.learning-to-take": "Por cursar",
250
+ "title.learning-unit-edit": "Editar unidad",
251
+ "title.learning-unit-new": "Nueva unidad",
252
+ "title.learning-units": "Unidades",
253
+ "title.learning-version-settings": "Finalización y origen",
254
+ "title.learning-versions": "Versiones"
255
+ }