@pie-players/pie-assessment-player 0.3.67 → 0.3.68
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.
|
@@ -6,6 +6,12 @@ export declare class AssessmentPlayerDefaultElement extends HTMLElement implemen
|
|
|
6
6
|
static get observedAttributes(): string[];
|
|
7
7
|
assessmentId: string;
|
|
8
8
|
attemptId: string;
|
|
9
|
+
/**
|
|
10
|
+
* Interface locale for this player's own navigation chrome, as a BCP-47 tag.
|
|
11
|
+
* Empty means the graceful default, `en-US`. Also forwarded to the section
|
|
12
|
+
* element, which passes it on to the toolkit.
|
|
13
|
+
*/
|
|
14
|
+
locale: string;
|
|
9
15
|
assessment: AssessmentDefinition | null;
|
|
10
16
|
env: Env | null;
|
|
11
17
|
coordinator: unknown;
|
|
@@ -17,14 +23,47 @@ export declare class AssessmentPlayerDefaultElement extends HTMLElement implemen
|
|
|
17
23
|
private controller;
|
|
18
24
|
private controllerReadyPromise;
|
|
19
25
|
private controllerReadyResolve;
|
|
26
|
+
/**
|
|
27
|
+
* This player's own provider rather than a context read. Its navigation sits
|
|
28
|
+
* beside the section host, not inside it, so there is no published toolkit
|
|
29
|
+
* context above it to resolve from. Constructed with the English catalog
|
|
30
|
+
* already resident, so `t` never returns a bare key.
|
|
31
|
+
*/
|
|
32
|
+
private readonly i18n;
|
|
33
|
+
private unsubscribeI18n?;
|
|
20
34
|
private sectionHost;
|
|
21
35
|
private sectionControllerRef;
|
|
36
|
+
/**
|
|
37
|
+
* Rendered content, tracked so a re-render can replace it without clearing the
|
|
38
|
+
* announcer below. A live region only announces changes that happen while it is
|
|
39
|
+
* already in the document, so wiping and rebuilding it each render would make it
|
|
40
|
+
* silent exactly when it has something to say.
|
|
41
|
+
*/
|
|
42
|
+
private containerRef;
|
|
43
|
+
private announcer;
|
|
44
|
+
/**
|
|
45
|
+
* Set for the render a section change causes. `render()` discards the subtree
|
|
46
|
+
* that holds the focused control, so without this the browser drops focus to
|
|
47
|
+
* `<body>` and the learner's next Tab restarts at the top of the document.
|
|
48
|
+
*/
|
|
49
|
+
private restoreFocusOnRender;
|
|
22
50
|
private unsubscribeController?;
|
|
23
51
|
private detachInstrumentationBridge?;
|
|
24
52
|
private _sectionPlayerRuntime;
|
|
25
53
|
private readiness;
|
|
26
54
|
constructor();
|
|
27
55
|
attributeChangedCallback(name: string, _oldValue: string | null, value: string | null): void;
|
|
56
|
+
/**
|
|
57
|
+
* Catalog loading is async, so the first paint carries whatever the provider
|
|
58
|
+
* already holds and the subscription repaints once the requested locale
|
|
59
|
+
* lands. That is also the change signal a later switch travels on.
|
|
60
|
+
*/
|
|
61
|
+
private applyLocale;
|
|
62
|
+
/**
|
|
63
|
+
* The section element resolves `""` as a locale rather than falling back, so
|
|
64
|
+
* an unset locale removes the attribute instead of writing an empty one.
|
|
65
|
+
*/
|
|
66
|
+
private forwardLocaleToSection;
|
|
28
67
|
get debug(): boolean | string | null | undefined;
|
|
29
68
|
set debug(value: boolean | string | null | undefined);
|
|
30
69
|
get sectionPlayerRuntime(): AssessmentPlayerRuntimeConfig["sectionPlayerRuntime"];
|
|
@@ -36,6 +75,32 @@ export declare class AssessmentPlayerDefaultElement extends HTMLElement implemen
|
|
|
36
75
|
private resolveInstrumentationProvider;
|
|
37
76
|
private attachInstrumentationBridge;
|
|
38
77
|
private renderEmptyState;
|
|
78
|
+
/**
|
|
79
|
+
* Replace the rendered content, leaving the announcer in place.
|
|
80
|
+
*/
|
|
81
|
+
private swapContent;
|
|
82
|
+
/**
|
|
83
|
+
* The polite live region, created once and never replaced.
|
|
84
|
+
*/
|
|
85
|
+
private ensureAnnouncer;
|
|
86
|
+
/**
|
|
87
|
+
* What focus should return to after the re-render, or `null` to leave it alone.
|
|
88
|
+
*
|
|
89
|
+
* Only focus this element already owns is repaired. A host that navigates
|
|
90
|
+
* programmatically may have the learner's focus somewhere else entirely — its own
|
|
91
|
+
* chrome, another form — and pulling focus in from outside would be a worse bug
|
|
92
|
+
* than the one being fixed. Those cases still get the announcement.
|
|
93
|
+
*/
|
|
94
|
+
private captureFocusIntent;
|
|
95
|
+
/**
|
|
96
|
+
* Put focus back where `captureFocusIntent` asked, falling back down a chain that
|
|
97
|
+
* ends at the section region so no branch can leave focus on `<body>`.
|
|
98
|
+
*
|
|
99
|
+
* A nav button that has become disabled cannot take focus — pressing Next into the
|
|
100
|
+
* last section is exactly when that happens — so the intent degrades to the other
|
|
101
|
+
* button and then to the region itself.
|
|
102
|
+
*/
|
|
103
|
+
private applyFocusIntent;
|
|
39
104
|
private buildSectionPlayerTag;
|
|
40
105
|
private buildSectionRuntime;
|
|
41
106
|
private updateCurrentSectionRuntime;
|
|
@@ -43,6 +108,11 @@ export declare class AssessmentPlayerDefaultElement extends HTMLElement implemen
|
|
|
43
108
|
private syncCurrentSectionSessionIntoAssessment;
|
|
44
109
|
private attachSectionControllerReadyListener;
|
|
45
110
|
private render;
|
|
111
|
+
/**
|
|
112
|
+
* Announce the new position, once the live region has been in the document long
|
|
113
|
+
* enough for the change to register as a change.
|
|
114
|
+
*/
|
|
115
|
+
private announceSectionChange;
|
|
46
116
|
private applyDebugFlag;
|
|
47
117
|
getSnapshot(): AssessmentPlayerSnapshot;
|
|
48
118
|
selectNavigation(): import('../contracts/runtime-host-contract.js').AssessmentPlayerNavigationSnapshot;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AssessmentDefinition, AssessmentPlayerHooks, AssessmentSession, AssessmentSectionInstance,
|
|
1
|
+
import { AssessmentDefinition, AssessmentPlayerHooks, AssessmentSession, AssessmentSectionInstance, SectionControllerSessionState } from '../types.js';
|
|
2
2
|
export interface AssessmentControllerRuntimeState {
|
|
3
3
|
readiness: "bootstrapping" | "hydrating" | "ready" | "error";
|
|
4
4
|
currentSectionIndex: number;
|
|
@@ -150,20 +150,20 @@ export interface AssessmentControllerHandle {
|
|
|
150
150
|
getSectionAt(index: number): AssessmentSectionInstance | null;
|
|
151
151
|
/**
|
|
152
152
|
* Return the persisted snapshot for a specific section
|
|
153
|
-
* (`
|
|
153
|
+
* (`SectionControllerSessionState`), or `null` if no snapshot has been
|
|
154
154
|
* recorded yet.
|
|
155
155
|
*
|
|
156
156
|
* This is the snapshot shape produced by the embedded
|
|
157
157
|
* `SectionControllerHandle.getSession()` for that section.
|
|
158
158
|
*/
|
|
159
|
-
getSectionSession(sectionId: string):
|
|
159
|
+
getSectionSession(sectionId: string): SectionControllerSessionState | null;
|
|
160
160
|
/**
|
|
161
161
|
* Persist (in-memory) a snapshot for a specific section into the
|
|
162
162
|
* assessment session and emit `assessment-session-changed`. Used by
|
|
163
163
|
* the per-section bridge to roll up `SectionController` state into
|
|
164
164
|
* the assessment session before the next `persist()`.
|
|
165
165
|
*/
|
|
166
|
-
updateSectionSession(sectionId: string, session:
|
|
166
|
+
updateSectionSession(sectionId: string, session: SectionControllerSessionState | null): void;
|
|
167
167
|
}
|
|
168
168
|
export declare class AssessmentController implements AssessmentControllerHandle {
|
|
169
169
|
private readonly args;
|
|
@@ -199,6 +199,6 @@ export declare class AssessmentController implements AssessmentControllerHandle
|
|
|
199
199
|
subscribe(listener: (event: AssessmentControllerEvent) => void): () => void;
|
|
200
200
|
getCurrentSection(): AssessmentSectionInstance | null;
|
|
201
201
|
getSectionAt(index: number): AssessmentSectionInstance | null;
|
|
202
|
-
getSectionSession(sectionId: string):
|
|
203
|
-
updateSectionSession(sectionId: string, session:
|
|
202
|
+
getSectionSession(sectionId: string): SectionControllerSessionState | null;
|
|
203
|
+
updateSectionSession(sectionId: string, session: SectionControllerSessionState | null): void;
|
|
204
204
|
}
|
|
@@ -0,0 +1,503 @@
|
|
|
1
|
+
var e = {
|
|
2
|
+
common: {
|
|
3
|
+
close: "Sluiten",
|
|
4
|
+
cancel: "Annuleren",
|
|
5
|
+
save: "Opslaan",
|
|
6
|
+
reset: "Herstellen",
|
|
7
|
+
retry: "Opnieuw proberen",
|
|
8
|
+
back: "Terug",
|
|
9
|
+
next: "Volgende",
|
|
10
|
+
previous: "Vorige",
|
|
11
|
+
submit: "Inleveren",
|
|
12
|
+
continue: "Doorgaan",
|
|
13
|
+
finish: "Afronden",
|
|
14
|
+
yes: "Ja",
|
|
15
|
+
no: "Nee",
|
|
16
|
+
ok: "OK",
|
|
17
|
+
any: "Alle",
|
|
18
|
+
off: "Uit",
|
|
19
|
+
auto: "Automatisch",
|
|
20
|
+
all: "Alle",
|
|
21
|
+
none: "Geen",
|
|
22
|
+
loading: "Laden…",
|
|
23
|
+
error: "Fout",
|
|
24
|
+
settings: "Instellingen",
|
|
25
|
+
language: "Taal",
|
|
26
|
+
theme: "Thema",
|
|
27
|
+
preview: "Voorbeeld",
|
|
28
|
+
author: "Bewerken",
|
|
29
|
+
unknown: "Onbekend",
|
|
30
|
+
untitled: "Zonder titel",
|
|
31
|
+
apply: "Toepassen",
|
|
32
|
+
enabled: "Aan",
|
|
33
|
+
disabled: "Uit",
|
|
34
|
+
closeA11y: "Sluiten",
|
|
35
|
+
settingsA11y: "Instellingenmenu openen"
|
|
36
|
+
},
|
|
37
|
+
player: {
|
|
38
|
+
passage: "Tekst",
|
|
39
|
+
passages: "Teksten",
|
|
40
|
+
question: "Vraag",
|
|
41
|
+
questionNumbered: "Vraag {position}",
|
|
42
|
+
questions: "Vragen",
|
|
43
|
+
items: "Vragen",
|
|
44
|
+
section: "Onderdeel",
|
|
45
|
+
loadingSection: "Onderdeel wordt geladen…",
|
|
46
|
+
loadingPassage: "Tekst wordt geladen…",
|
|
47
|
+
configurationError: "Configuratiefout",
|
|
48
|
+
playerError: "Fout in de speler",
|
|
49
|
+
authoringBackendError: "Configuratiefout in de bewerkomgeving",
|
|
50
|
+
itemLoadError: "De vraag kon niet worden geladen.",
|
|
51
|
+
sectionTabsA11y: "Tabbladen van dit onderdeel",
|
|
52
|
+
passagesRegionA11y: "Teksten",
|
|
53
|
+
itemsRegionA11y: "Vragen",
|
|
54
|
+
sectionToolsA11y: "Hulpmiddelen voor dit onderdeel",
|
|
55
|
+
scrollDownA11y: "Omlaag scrollen",
|
|
56
|
+
resizePanels: "Panelen verkleinen of vergroten",
|
|
57
|
+
resizePassagesAndItemsA11y: "Panelen met teksten en vragen verkleinen of vergroten",
|
|
58
|
+
resizeMediaRegion: "Mediagebied verkleinen of vergroten",
|
|
59
|
+
resizeQuestionAndMediaA11y: "Panelen met vraag en media verkleinen of vergroten",
|
|
60
|
+
resizePassageAndMediaA11y: "Panelen met tekst en media verkleinen of vergroten",
|
|
61
|
+
assessment: {
|
|
62
|
+
sectionPosition: "Onderdeel {position} van {total}",
|
|
63
|
+
noSections: "Geen onderdelen"
|
|
64
|
+
},
|
|
65
|
+
formative: {
|
|
66
|
+
checkAnswer: "Antwoord controleren",
|
|
67
|
+
tryAgain: "Opnieuw proberen",
|
|
68
|
+
answerRecorded: "Antwoord opgeslagen.",
|
|
69
|
+
correct: "Goed.",
|
|
70
|
+
partlyCorrect: "Gedeeltelijk goed.",
|
|
71
|
+
notCorrect: "Niet goed.",
|
|
72
|
+
notAutoScored: "Antwoord opgeslagen. Deze vraag wordt niet automatisch nagekeken.",
|
|
73
|
+
checkFailed: "Deze vraag kon niet worden nagekeken. Probeer het opnieuw.",
|
|
74
|
+
triesLeft: {
|
|
75
|
+
one: "Nog {count} poging over.",
|
|
76
|
+
other: "Nog {count} pogingen over."
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
timedMedia: {
|
|
80
|
+
waitingForMedia: "Vragen verschijnen terwijl de media speelt.",
|
|
81
|
+
questionAvailable: "Vraag {position} is nu beschikbaar.",
|
|
82
|
+
playbackPaused: "Weergave gepauzeerd. Beantwoord vraag {position} om verder te gaan.",
|
|
83
|
+
playbackAdvisory: "Beantwoord vraag {position} voordat je verder gaat met de media.",
|
|
84
|
+
playbackReleased: "Antwoord geaccepteerd. Speel de media verder."
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
toolkit: {
|
|
88
|
+
toolsA11y: "Hulpmiddelen",
|
|
89
|
+
toolbarInitError: "De hulpmiddelen konden niet worden gestart.",
|
|
90
|
+
settingsTitle: "Instellingen",
|
|
91
|
+
closeSettingsA11y: "Instellingen sluiten",
|
|
92
|
+
dragPanelA11y: "Paneel verplaatsen",
|
|
93
|
+
closePanelA11y: "Paneel sluiten",
|
|
94
|
+
resizeWindow: "Venster verkleinen of vergroten",
|
|
95
|
+
minimize: "Minimaliseren",
|
|
96
|
+
maximize: "Maximaliseren",
|
|
97
|
+
minimizePanelA11y: "Paneel minimaliseren",
|
|
98
|
+
maximizePanelA11y: "Paneel maximaliseren",
|
|
99
|
+
window: {
|
|
100
|
+
moveLeftA11y: "Hulpmiddel naar links verplaatsen",
|
|
101
|
+
moveRightA11y: "Hulpmiddel naar rechts verplaatsen",
|
|
102
|
+
moveUpA11y: "Hulpmiddel omhoog verplaatsen",
|
|
103
|
+
moveDownA11y: "Hulpmiddel omlaag verplaatsen",
|
|
104
|
+
shrinkA11y: "Venster verkleinen",
|
|
105
|
+
growA11y: "Venster vergroten",
|
|
106
|
+
centerA11y: "Venster centreren",
|
|
107
|
+
closeA11y: "Hulpmiddel sluiten"
|
|
108
|
+
},
|
|
109
|
+
announce: {
|
|
110
|
+
movedUp: "Omhoog verplaatst naar {position}",
|
|
111
|
+
movedDown: "Omlaag verplaatst naar {position}",
|
|
112
|
+
movedLeft: "Naar links verplaatst naar {position}",
|
|
113
|
+
movedRight: "Naar rechts verplaatst naar {position}",
|
|
114
|
+
rotatedTo: "Gedraaid naar {degrees} graden"
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
tools: {
|
|
118
|
+
calculator: {
|
|
119
|
+
name: "Rekenmachine",
|
|
120
|
+
nameBasic: "Eenvoudige rekenmachine",
|
|
121
|
+
nameScientific: "Wetenschappelijke rekenmachine",
|
|
122
|
+
nameGraphing: "Grafische rekenmachine",
|
|
123
|
+
description: "Rekenmachine (basis, wetenschappelijk, grafisch)",
|
|
124
|
+
openedBasic: "Eenvoudige rekenmachine geopend",
|
|
125
|
+
openedScientific: "Wetenschappelijke rekenmachine geopend",
|
|
126
|
+
openedGraphing: "Grafische rekenmachine geopend",
|
|
127
|
+
closedBasic: "Eenvoudige rekenmachine gesloten",
|
|
128
|
+
closedScientific: "Wetenschappelijke rekenmachine gesloten",
|
|
129
|
+
closedGraphing: "Grafische rekenmachine gesloten",
|
|
130
|
+
toolA11y: "Rekenmachine",
|
|
131
|
+
loading: "Rekenmachine wordt geladen…",
|
|
132
|
+
providerUnavailable: "De rekenmachine is niet beschikbaar."
|
|
133
|
+
},
|
|
134
|
+
graph: {
|
|
135
|
+
name: "Grafiek",
|
|
136
|
+
description: "Grafische rekenmachine en assenstelsel",
|
|
137
|
+
buttonA11y: "Grafiek, grafische rekenmachine",
|
|
138
|
+
tooltip: "Grafiek",
|
|
139
|
+
toolA11y: "Grafiekhulpmiddel — punten en lijnen tekenen in een assenstelsel",
|
|
140
|
+
canvasA11y: "Tekenvlak — gebruik de hulpmiddelen om punten toe te voegen en lijnen te tekenen",
|
|
141
|
+
grid: "Raster:",
|
|
142
|
+
gridOpacityA11y: "Zichtbaarheid van het raster",
|
|
143
|
+
pointA11y: "Punt {id}",
|
|
144
|
+
modeSelector: "Selecteren",
|
|
145
|
+
modeSelectorHint: "Selecteren: sleep punten om ze of de bijbehorende lijnen te verplaatsen.",
|
|
146
|
+
modePoint: "Punt",
|
|
147
|
+
modePointHint: "Punt: klik in het raster om punten toe te voegen.",
|
|
148
|
+
modeLine: "Lijn",
|
|
149
|
+
modeLineHint: "Lijn: klik eerst op een beginpunt en daarna op een eindpunt om een lijn te tekenen.",
|
|
150
|
+
modeDelete: "Verwijderen",
|
|
151
|
+
modeDeleteHint: "Verwijderen: klik op een punt om het te verwijderen, samen met de lijnen die eraan vastzitten."
|
|
152
|
+
},
|
|
153
|
+
periodicTable: {
|
|
154
|
+
name: "Periodiek systeem",
|
|
155
|
+
description: "Naslagwerk: het periodiek systeem der elementen",
|
|
156
|
+
buttonA11y: "Periodiek systeem, naslagwerk chemie",
|
|
157
|
+
tooltip: "Periodiek systeem",
|
|
158
|
+
toolA11y: "Periodiek systeem — selecteer een element voor meer gegevens",
|
|
159
|
+
elementsA11y: "Elementen in het periodiek systeem",
|
|
160
|
+
showAllA11y: "Alle elementen weergeven",
|
|
161
|
+
allElements: "Alle elementen",
|
|
162
|
+
atomicMass: "Atoommassa",
|
|
163
|
+
atomicNumber: "Atoomnummer",
|
|
164
|
+
electronConfig: "Elektronenconfiguratie",
|
|
165
|
+
phase: "Fase",
|
|
166
|
+
filterByA11y: "Filteren op {category}",
|
|
167
|
+
elementA11y: "{name}, symbool: {symbol}, atoomnummer: {number}, atoommassa: {mass}, categorie: {category}",
|
|
168
|
+
outsideFilterA11y: ", buiten het huidige filter",
|
|
169
|
+
category: {
|
|
170
|
+
unknown: "Onbekend",
|
|
171
|
+
alkaliMetal: "Alkalimetaal",
|
|
172
|
+
alkalineEarthMetal: "Aardalkalimetaal",
|
|
173
|
+
transitionMetal: "Overgangsmetaal",
|
|
174
|
+
postTransitionMetal: "Post-overgangsmetaal",
|
|
175
|
+
metalloid: "Metalloïde",
|
|
176
|
+
diatomicNonmetal: "Tweeatomig niet-metaal",
|
|
177
|
+
polyatomicNonmetal: "Meeratomig niet-metaal",
|
|
178
|
+
nobleGas: "Edelgas",
|
|
179
|
+
lanthanide: "Lanthanide",
|
|
180
|
+
actinide: "Actinide"
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
ruler: {
|
|
184
|
+
name: "Lineaal",
|
|
185
|
+
description: "Lineaal op het scherm om te meten",
|
|
186
|
+
buttonA11y: "Lineaal",
|
|
187
|
+
tooltip: "Lineaal",
|
|
188
|
+
toolA11y: "Verplaatsbare en draaibare lineaal",
|
|
189
|
+
unitSelectionA11y: "Maateenheid van de lineaal",
|
|
190
|
+
inches: "Inches",
|
|
191
|
+
centimeters: "Centimeters",
|
|
192
|
+
inchesInSentence: "inches",
|
|
193
|
+
centimetersInSentence: "centimeters",
|
|
194
|
+
switchToInchesA11y: "Overschakelen naar inches",
|
|
195
|
+
switchToCentimetersA11y: "Overschakelen naar centimeters",
|
|
196
|
+
switchedTo: "Overgeschakeld naar {unit}",
|
|
197
|
+
applicationA11y: "Lineaal. Verplaats met de pijltoetsen, draai met Shift+pijltoetsen, draai nauwkeurig met PageUp of PageDown, en wissel met U van eenheid. Huidige eenheid: {unit}",
|
|
198
|
+
imageAlt: "Lineaal met {unit}"
|
|
199
|
+
},
|
|
200
|
+
protractor: {
|
|
201
|
+
name: "Geodriehoek",
|
|
202
|
+
description: "Geodriehoek op het scherm om hoeken te meten",
|
|
203
|
+
buttonA11y: "Geodriehoek",
|
|
204
|
+
tooltip: "Geodriehoek",
|
|
205
|
+
toolA11y: "Geodriehoek. Verplaats met de pijltoetsen, draai met Shift+pijltoetsen, en draai nauwkeurig met PageUp of PageDown.",
|
|
206
|
+
roleA11y: "Verplaatsbare en draaibare geodriehoek",
|
|
207
|
+
imageAlt: "Geodriehoek met een halfronde schaal van 0 tot 180 graden in beide richtingen, met streepjes elke 10 graden"
|
|
208
|
+
},
|
|
209
|
+
dictionary: {
|
|
210
|
+
name: "Woordenboek",
|
|
211
|
+
description: "Betekenis van woorden opzoeken",
|
|
212
|
+
buttonA11y: "Woordenboek, betekenis van woorden opzoeken",
|
|
213
|
+
tooltip: "Woordenboek",
|
|
214
|
+
toolA11y: "Woordenboek"
|
|
215
|
+
},
|
|
216
|
+
pictureDictionary: {
|
|
217
|
+
name: "Beeldwoordenboek",
|
|
218
|
+
description: "Afbeeldingen bij woorden opzoeken",
|
|
219
|
+
buttonA11y: "Beeldwoordenboek, afbeeldingen bij woorden opzoeken",
|
|
220
|
+
tooltip: "Beeldwoordenboek",
|
|
221
|
+
toolA11y: "Beeldwoordenboek"
|
|
222
|
+
},
|
|
223
|
+
dictionarySpanish: {
|
|
224
|
+
name: "Spaans woordenboek",
|
|
225
|
+
description: "Betekenis van woorden in het Spaans opzoeken",
|
|
226
|
+
buttonA11y: "Spaans woordenboek, betekenis van woorden in het Spaans opzoeken",
|
|
227
|
+
tooltip: "Spaans woordenboek",
|
|
228
|
+
toolA11y: "Spaans woordenboek"
|
|
229
|
+
},
|
|
230
|
+
pictureDictionarySpanish: {
|
|
231
|
+
name: "Spaans beeldwoordenboek",
|
|
232
|
+
description: "Afbeeldingen bij woorden in het Spaans opzoeken",
|
|
233
|
+
buttonA11y: "Spaans beeldwoordenboek, afbeeldingen bij woorden in het Spaans opzoeken",
|
|
234
|
+
tooltip: "Spaans beeldwoordenboek",
|
|
235
|
+
toolA11y: "Spaans beeldwoordenboek"
|
|
236
|
+
},
|
|
237
|
+
lineReader: {
|
|
238
|
+
name: "Leeshulp",
|
|
239
|
+
description: "Leesvenster over de tekst",
|
|
240
|
+
buttonA11y: "Leeshulp, leesvenster",
|
|
241
|
+
tooltip: "Leeshulp",
|
|
242
|
+
roleA11y: "Verplaatsbaar en verstelbaar leesvenster",
|
|
243
|
+
close: "Leeshulp sluiten",
|
|
244
|
+
resizeWindowA11y: "Sleep om het leesvenster te verstellen",
|
|
245
|
+
resizeFrameA11y: "Sleep om de breedte van het kader en het venster te verstellen",
|
|
246
|
+
windowHeightAnnounce: "Hoogte leesvenster {pixels} pixels",
|
|
247
|
+
frameHeightAnnounce: "Hoogte kader {pixels} pixels",
|
|
248
|
+
widthAnnounce: "Breedte {pixels} pixels",
|
|
249
|
+
applicationA11y: "Leeshulp. Een doorzichtig leesvenster binnen een verduisterend kader. Verplaats met de pijltoetsen, verstel het leesvenster met + en -, en sluit met Escape. Hoogte leesvenster: {paneHeight} pixels, hoogte kader: {frameHeight} pixels",
|
|
250
|
+
resizeWindowFullA11y: "Verstel het leesvenster. Sleep, of verander de hoogte met de pijltoetsen omhoog en omlaag. Huidige hoogte {paneHeight} pixels",
|
|
251
|
+
resizeFrameFullA11y: "Verstel het kader. Sleep, verander de hoogte van het kader met de pijltoetsen omhoog en omlaag, en de breedte met de pijltoetsen links en rechts. Huidige hoogte kader {frameHeight} pixels, breedte {width} pixels"
|
|
252
|
+
},
|
|
253
|
+
answerEliminator: {
|
|
254
|
+
name: "Antwoorden wegstrepen",
|
|
255
|
+
description: "Antwoordopties doorstrepen",
|
|
256
|
+
buttonA11y: "Doorstrepen, antwoordopties wegstrepen",
|
|
257
|
+
tooltip: "Doorstrepen"
|
|
258
|
+
},
|
|
259
|
+
highlighter: {
|
|
260
|
+
name: "Markeerstift",
|
|
261
|
+
description: "Tekst markeren en van aantekeningen voorzien",
|
|
262
|
+
buttonA11y: "Tekst markeren",
|
|
263
|
+
tooltip: "Markeren"
|
|
264
|
+
},
|
|
265
|
+
annotationToolbar: {
|
|
266
|
+
name: "Aantekeningen",
|
|
267
|
+
description: "Tekst markeren en van aantekeningen voorzien",
|
|
268
|
+
buttonA11y: "Aantekenen, tekst markeren en bewerken",
|
|
269
|
+
tooltip: "Aantekenen",
|
|
270
|
+
toolbarA11y: "Werkbalk voor aantekeningen",
|
|
271
|
+
underline: "Onderstrepen",
|
|
272
|
+
underlineA11y: "Geselecteerde tekst onderstrepen",
|
|
273
|
+
readAloud: "Voorlezen",
|
|
274
|
+
readAloudA11y: "Geselecteerde tekst voorlezen",
|
|
275
|
+
remove: "Verwijderen",
|
|
276
|
+
removeA11y: "Deze aantekening verwijderen",
|
|
277
|
+
clearAll: "Alles wissen",
|
|
278
|
+
clearAllA11y: "Alle aantekeningen in het document wissen",
|
|
279
|
+
highlightYellowA11y: "Geel markeren",
|
|
280
|
+
highlightPinkA11y: "Roze markeren",
|
|
281
|
+
highlightBlueA11y: "Blauw markeren",
|
|
282
|
+
highlightGreenA11y: "Groen markeren"
|
|
283
|
+
},
|
|
284
|
+
theme: {
|
|
285
|
+
name: "Thema",
|
|
286
|
+
description: "Toegankelijke thema's en contrast",
|
|
287
|
+
buttonA11y: "Thema, kleuren en contrast aanpassen",
|
|
288
|
+
tooltip: "Thema",
|
|
289
|
+
selectorA11y: "Themakiezer",
|
|
290
|
+
hint: "Kies een thema dat prettiger leest en de ogen minder belast.",
|
|
291
|
+
selectA11y: "Thema kiezen",
|
|
292
|
+
selectCurrentA11y: "Thema kiezen. Huidig thema: {name}",
|
|
293
|
+
optionUnavailableA11y: "{name}, niet beschikbaar",
|
|
294
|
+
unavailableName: "Niet-beschikbaar thema: {id}",
|
|
295
|
+
unavailableDescription: "Het door PIE beheerde basisthema blijft actief totdat dit thema weer beschikbaar is.",
|
|
296
|
+
unavailableStatus: "Het gekozen thema is niet beschikbaar. Het door PIE beheerde basisthema is actief totdat het weer beschikbaar is."
|
|
297
|
+
},
|
|
298
|
+
textToSpeech: {
|
|
299
|
+
name: "Voorlezen",
|
|
300
|
+
description: "Inhoud laten voorlezen",
|
|
301
|
+
toolA11y: "Voorleeshulp",
|
|
302
|
+
title: "Voorlezen",
|
|
303
|
+
initializing: "Wordt gestart…",
|
|
304
|
+
initFailed: "Voorlezen kon niet worden gestart.",
|
|
305
|
+
selectText: "Selecteer tekst op de pagina om die te laten voorlezen.",
|
|
306
|
+
speed: "Snelheid:",
|
|
307
|
+
play: "Voorlezen",
|
|
308
|
+
pause: "Pauzeren",
|
|
309
|
+
resume: "Hervatten",
|
|
310
|
+
stop: "Stoppen",
|
|
311
|
+
speaking: "Aan het voorlezen…",
|
|
312
|
+
paused: "Gepauzeerd",
|
|
313
|
+
charactersSelected: {
|
|
314
|
+
one: "{count} teken geselecteerd",
|
|
315
|
+
other: "{count} tekens geselecteerd"
|
|
316
|
+
},
|
|
317
|
+
rate: {
|
|
318
|
+
slow: "Langzaam",
|
|
319
|
+
slower: "Langzamer",
|
|
320
|
+
normal: "Normaal",
|
|
321
|
+
faster: "Sneller",
|
|
322
|
+
fast: "Snel",
|
|
323
|
+
veryFast: "Zeer snel"
|
|
324
|
+
},
|
|
325
|
+
inline: {
|
|
326
|
+
controlsA11y: "Voorleesknoppen",
|
|
327
|
+
playbackSpeedA11y: "Voorleessnelheid",
|
|
328
|
+
rewindA11y: "Terugspoelen",
|
|
329
|
+
fastForwardA11y: "Vooruitspoelen",
|
|
330
|
+
stopA11y: "Voorlezen stoppen",
|
|
331
|
+
initializing: "Voorlezen wordt gestart",
|
|
332
|
+
initFailed: "Voorlezen kon niet worden gestart. Probeer het opnieuw.",
|
|
333
|
+
starting: "Voorlezen wordt gestart",
|
|
334
|
+
started: "Voorlezen gestart",
|
|
335
|
+
resumed: "Voorlezen hervat",
|
|
336
|
+
pausedAnnouncement: "Voorlezen gepauzeerd",
|
|
337
|
+
stopped: "Voorlezen gestopt",
|
|
338
|
+
switchedSection: "Het voorlezen is naar een ander onderdeel gegaan",
|
|
339
|
+
startFailed: "Voorlezen kon niet worden gestart",
|
|
340
|
+
skippedForward: "Vooruitgespoeld",
|
|
341
|
+
skipForwardFailed: "Vooruitspoelen is niet gelukt",
|
|
342
|
+
skippedBackward: "Teruggespoeld",
|
|
343
|
+
skipBackwardFailed: "Terugspoelen is niet gelukt",
|
|
344
|
+
speedChangeFailed: "De voorleessnelheid kon niet worden gewijzigd",
|
|
345
|
+
speedAnnounce: "Voorleessnelheid {label}",
|
|
346
|
+
playA11y: "Voorlezen starten",
|
|
347
|
+
pauseA11y: "Voorlezen pauzeren",
|
|
348
|
+
resumeA11y: "Voorlezen hervatten"
|
|
349
|
+
}
|
|
350
|
+
},
|
|
351
|
+
signLanguage: {
|
|
352
|
+
name: "Gebarentaal",
|
|
353
|
+
description: "Gebarentaalversie van de inhoud",
|
|
354
|
+
generic: "Gebarentaal",
|
|
355
|
+
unknown: "Gebarentaal ({code})",
|
|
356
|
+
ase: "Amerikaanse gebarentaal",
|
|
357
|
+
bfi: "Britse gebarentaal",
|
|
358
|
+
fsl: "Franse gebarentaal",
|
|
359
|
+
gss: "Griekse gebarentaal",
|
|
360
|
+
mfs: "Mexicaanse gebarentaal",
|
|
361
|
+
signedEnglish: "Engels met gebaren",
|
|
362
|
+
regionA11y: "Vertaling in {language}"
|
|
363
|
+
},
|
|
364
|
+
audioTranscript: {
|
|
365
|
+
name: "Audiotranscript",
|
|
366
|
+
description: "Tekstversie van de audio",
|
|
367
|
+
regionA11y: "Transcript"
|
|
368
|
+
}
|
|
369
|
+
},
|
|
370
|
+
debug: {
|
|
371
|
+
session: "Sessie",
|
|
372
|
+
sessionData: "Sessiegegevens",
|
|
373
|
+
sessionDataPersistent: "PIE-sessiegegevens (opgeslagen)",
|
|
374
|
+
noItemSessionYet: "Nog geen sessiegegevens. Werk aan de vraag om hier updates te zien.",
|
|
375
|
+
itemSessionsSnapshot: "Momentopname van de vraagsessies",
|
|
376
|
+
sectionControllerUnavailable: "De controller voor dit onderdeel is nog niet beschikbaar.",
|
|
377
|
+
filteredModel: "Gefilterd model",
|
|
378
|
+
environment: "Omgeving",
|
|
379
|
+
events: "Gebeurtenissen",
|
|
380
|
+
controllerEvents: "Controllergebeurtenissen",
|
|
381
|
+
instrumentation: "Instrumentatie",
|
|
382
|
+
databaseState: "Databasestatus",
|
|
383
|
+
sessionDb: "Sessiedatabase (server)",
|
|
384
|
+
noRows: "Geen rijen",
|
|
385
|
+
noRecords: "Nog geen instrumentatiegegevens.",
|
|
386
|
+
selectRecord: "Selecteer een record om de details te bekijken.",
|
|
387
|
+
selectEvent: "Selecteer een gebeurtenis om de payload te bekijken.",
|
|
388
|
+
showRawTables: "Ruwe tabellen weergeven",
|
|
389
|
+
showReconstructedSnapshots: "Gereconstrueerde momentopnamen weergeven",
|
|
390
|
+
showSectionRequest: "Aanvraag voor onderdeel weergeven",
|
|
391
|
+
showAssessmentRequest: "Aanvraag voor toets weergeven",
|
|
392
|
+
liveUpdatesUnsupported: "Live bijwerken wordt niet ondersteund in deze browser",
|
|
393
|
+
liveUpdatesDisconnected: "Live bijwerken onderbroken; nieuwe poging…",
|
|
394
|
+
fieldType: "Type:",
|
|
395
|
+
fieldTarget: "Doel:",
|
|
396
|
+
fieldItem: "Vraag:",
|
|
397
|
+
fieldCanonical: "Canoniek:",
|
|
398
|
+
fieldIntent: "Intentie:",
|
|
399
|
+
fieldDuplicates: "Duplicaten:",
|
|
400
|
+
fieldSemanticRepeats: "Semantische herhalingen:",
|
|
401
|
+
dragItemSessionPanelA11y: "Paneel met vraagsessie verplaatsen",
|
|
402
|
+
debuggerTabsA11y: "Tabbladen van de debugger",
|
|
403
|
+
sessionDataJsonA11y: "Sessiegegevens als JSON",
|
|
404
|
+
environmentJsonA11y: "Omgeving als JSON",
|
|
405
|
+
filteredModelJsonA11y: "Gefilterd model als JSON",
|
|
406
|
+
sectionSessionJsonA11y: "Momentopname van de onderdeelsessie als JSON",
|
|
407
|
+
eventLevelFilterA11y: "Filter op gebeurtenisniveau",
|
|
408
|
+
controllerEventDetailsA11y: "Details van controllergebeurtenis",
|
|
409
|
+
instrumentationFilterA11y: "Filteren op type instrumentatiegegeven",
|
|
410
|
+
instrumentationDetailsA11y: "Details van instrumentatiegegeven",
|
|
411
|
+
toggleSessionPanelA11y: "Sessiepaneel in- of uitschakelen",
|
|
412
|
+
toggleEventPanelA11y: "Gebeurtenissenpaneel in- of uitschakelen",
|
|
413
|
+
toggleDatabasePanelA11y: "Databasepaneel in- of uitschakelen",
|
|
414
|
+
toggleInstrumentationPanelA11y: "Instrumentatiepaneel in- of uitschakelen",
|
|
415
|
+
pnp: {
|
|
416
|
+
title: "PNP-profiel",
|
|
417
|
+
noAssessmentBound: "Geen toets gekoppeld",
|
|
418
|
+
determinationReadOnly: "Vaststelling (alleen lezen)",
|
|
419
|
+
toolsEditor: "Hulpmiddelen bewerken",
|
|
420
|
+
enforcement: "PNP-handhaving",
|
|
421
|
+
allAvailableTools: "Alle beschikbare hulpmiddelen",
|
|
422
|
+
clearPlacement: "Plaatsing wissen",
|
|
423
|
+
tool: "Hulpmiddel",
|
|
424
|
+
placement: "Plaatsing",
|
|
425
|
+
provider: "Aanbieder",
|
|
426
|
+
simulation: "PNP-simulatie",
|
|
427
|
+
resolvedTools: "Toegekende hulpmiddelen (toolkit)",
|
|
428
|
+
provenanceSummary: "Overzicht van herkomst van het hulpmiddelenbeleid",
|
|
429
|
+
perToolDecisions: "Beslissingen per hulpmiddel",
|
|
430
|
+
profileReadOnly: "PNP-profiel (alleen lezen)"
|
|
431
|
+
},
|
|
432
|
+
tts: {
|
|
433
|
+
title: "Voorleesinstellingen",
|
|
434
|
+
closeA11y: "Voorleesinstellingen sluiten",
|
|
435
|
+
toolbarLayoutMode: "Indeling van de werkbalk",
|
|
436
|
+
reservedRow: "Vaste rij",
|
|
437
|
+
expandingRow: "Uitklappende rij",
|
|
438
|
+
floatingOverlay: "Zwevend venster",
|
|
439
|
+
leftAlignedControls: "Knoppen links uitlijnen",
|
|
440
|
+
inlineSpeedButtons: "Snelheidsknoppen in de balk",
|
|
441
|
+
resetToDefaults: "Standaardwaarden herstellen",
|
|
442
|
+
mathHighlighting: "Formules markeren",
|
|
443
|
+
checkingAvailability: "Beschikbaarheid controleren…",
|
|
444
|
+
recheck: "Opnieuw controleren",
|
|
445
|
+
voice: "Stem",
|
|
446
|
+
bestAvailableVoice: "Best beschikbare stem (automatisch)",
|
|
447
|
+
unnamedVoice: "Stem zonder naam",
|
|
448
|
+
apiEndpoint: "API-eindpunt",
|
|
449
|
+
gender: "Geslacht",
|
|
450
|
+
any: "Alle",
|
|
451
|
+
male: "Man",
|
|
452
|
+
female: "Vrouw",
|
|
453
|
+
neutral: "Neutraal",
|
|
454
|
+
engine: "Engine",
|
|
455
|
+
neural: "Neuraal",
|
|
456
|
+
standard: "Standaard",
|
|
457
|
+
providerDefault: "Standaard van de aanbieder",
|
|
458
|
+
format: "Formaat",
|
|
459
|
+
sampleRate: "Samplefrequentie",
|
|
460
|
+
speechMarks: "Spraakmarkeringen",
|
|
461
|
+
word: "Woord",
|
|
462
|
+
wordAndSentence: "Woord + zin",
|
|
463
|
+
voiceType: "Type stem",
|
|
464
|
+
wavenetVoiceType: "WaveNet",
|
|
465
|
+
studioVoiceType: "Studio",
|
|
466
|
+
plainText: "Platte tekst",
|
|
467
|
+
sampleText: "Voorbeeldtekst",
|
|
468
|
+
resetSample: "Voorbeeldtekst herstellen",
|
|
469
|
+
providerAvailable: "Aanbieder beschikbaar.",
|
|
470
|
+
providerUnavailable: "Aanbieder niet beschikbaar.",
|
|
471
|
+
providerCheckFailed: "De beschikbaarheidscontrole is mislukt.",
|
|
472
|
+
providerNotChecked: "De beschikbaarheid is nog niet gecontroleerd.",
|
|
473
|
+
webSpeechUnavailable: "De Web Speech API is niet beschikbaar in deze browser.",
|
|
474
|
+
browserNoVoices: "Voorlezen door de browser is beschikbaar, maar er zijn nog geen stemmen doorgegeven.",
|
|
475
|
+
browserUnavailable: "Voorlezen door de browser is niet beschikbaar.",
|
|
476
|
+
googleUnavailable: "Google Cloud TTS is niet beschikbaar via de ingestelde API.",
|
|
477
|
+
pollyUnavailable: "AWS Polly is niet beschikbaar via de ingestelde API.",
|
|
478
|
+
recommendedVoices: "Aanbevolen stemmen",
|
|
479
|
+
allVoices: "Alle beschikbare stemmen",
|
|
480
|
+
previewVoice: "Stem beluisteren",
|
|
481
|
+
stopPreview: "Beluisteren stoppen",
|
|
482
|
+
applying: "Toepassen...",
|
|
483
|
+
ssmlPreviewUnsupported: "SSML-voorbeeld wordt niet ondersteund door de browser-backend.",
|
|
484
|
+
pollySsmlHint: "Sommige neurale Polly-stemmen weigeren bepaalde SSML-tags (bijvoorbeeld emphasis). Gebruik eenvoudige SSML-tags als het voorbeeld mislukt.",
|
|
485
|
+
mathHighlightParts: "Elk onderdeel van een formule wordt gemarkeerd terwijl het wordt voorgelezen; bij onzekere uitlijning wordt de hele formule gemarkeerd.",
|
|
486
|
+
mathHighlightBlock: "Elke formule wordt als één geheel gemarkeerd in plaats van in onderdelen opgesplitst.",
|
|
487
|
+
previewFailed: "Het voorbeeldfragment kon niet worden afgespeeld.",
|
|
488
|
+
previewNoAudio: "Het antwoord bevatte geen audio.",
|
|
489
|
+
previewEnterText: "Voer eerst voorbeeldtekst in.",
|
|
490
|
+
previewUnavailable: "Een voorbeeld is niet mogelijk zolang deze dienst niet beschikbaar is.",
|
|
491
|
+
browserSynthesisUnavailable: "Spraaksynthese van de browser is niet beschikbaar.",
|
|
492
|
+
browserSynthesisEndedEarly: "De spraaksynthese van de browser stopte voordat de audio begon. Start de browser opnieuw en probeer het nog eens.",
|
|
493
|
+
browserSynthesisQueueFailed: "De spraaksynthese van de browser kon het voorbeeldfragment niet in de wachtrij zetten.",
|
|
494
|
+
browserPreviewFailed: "Het voorbeeld van de browserstem kon niet worden afgespeeld.",
|
|
495
|
+
ssmlWordTrackingDisabled: "Bij een Google SSML-voorbeeld blijft de SSML uit de bron intact, waardoor woordmarkering is uitgeschakeld.",
|
|
496
|
+
applyUnavailable: "Instellingen toepassen is niet mogelijk zolang deze dienst niet beschikbaar is.",
|
|
497
|
+
coordinatorUnavailable: "De toolkitcoördinator is niet beschikbaar voor voorleesinstellingen."
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
};
|
|
501
|
+
export {
|
|
502
|
+
e as default
|
|
503
|
+
};
|