@pie-players/pie-players-shared 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.
Files changed (87) hide show
  1. package/README.md +59 -0
  2. package/dist/formative/index.d.ts +16 -0
  3. package/dist/formative/index.js +5 -0
  4. package/dist/formative/mastery.d.ts +16 -0
  5. package/dist/formative/mastery.js +43 -0
  6. package/dist/formative/outcome.d.ts +19 -0
  7. package/dist/formative/outcome.js +90 -0
  8. package/dist/formative/policy.d.ts +37 -0
  9. package/dist/formative/policy.js +86 -0
  10. package/dist/formative/session.d.ts +19 -0
  11. package/dist/formative/session.js +113 -0
  12. package/dist/formative/state.d.ts +60 -0
  13. package/dist/formative/state.js +140 -0
  14. package/dist/formative/types.d.ts +164 -0
  15. package/dist/formative/types.js +13 -0
  16. package/dist/i18n/catalogs.d.ts +38 -0
  17. package/dist/i18n/catalogs.js +47 -0
  18. package/dist/i18n/index.d.ts +28 -4
  19. package/dist/i18n/index.js +34 -3
  20. package/dist/i18n/language-tags.d.ts +51 -0
  21. package/dist/i18n/language-tags.js +84 -0
  22. package/dist/i18n/messages/en-US.d.ts +601 -0
  23. package/dist/i18n/messages/en-US.js +617 -0
  24. package/dist/i18n/messages/nl-NL.d.ts +516 -0
  25. package/dist/i18n/messages/nl-NL.js +516 -0
  26. package/dist/i18n/provider.d.ts +168 -0
  27. package/dist/i18n/provider.js +472 -0
  28. package/dist/i18n/types.d.ts +177 -28
  29. package/dist/i18n/types.js +6 -2
  30. package/dist/index.d.ts +3 -1
  31. package/dist/index.js +2 -0
  32. package/dist/pie/custom-element-define.d.ts +24 -0
  33. package/dist/pie/custom-element-define.js +36 -6
  34. package/dist/pie/index.d.ts +1 -1
  35. package/dist/pie/index.js +1 -1
  36. package/dist/pie/versioned-tag.js +3 -2
  37. package/dist/security/sanitize-forbidden-lists.d.ts +8 -0
  38. package/dist/security/sanitize-forbidden-lists.js +41 -0
  39. package/dist/security/sanitize-item-markup.js +3 -36
  40. package/dist/security/sanitize-svg-icon.js +3 -25
  41. package/dist/security/wrap-overwide-images.d.ts +5 -10
  42. package/dist/security/wrap-overwide-images.js +13 -62
  43. package/dist/security/wrap-overwide-tables.d.ts +5 -10
  44. package/dist/security/wrap-overwide-tables.js +13 -62
  45. package/dist/security/wrap-overwide.d.ts +51 -0
  46. package/dist/security/wrap-overwide.js +91 -0
  47. package/dist/server/npm-auth-env.d.ts +13 -0
  48. package/dist/server/npm-auth-env.js +64 -0
  49. package/dist/timed-media/index.d.ts +17 -0
  50. package/dist/timed-media/index.js +16 -0
  51. package/dist/timed-media/media-element-source.d.ts +36 -0
  52. package/dist/timed-media/media-element-source.js +121 -0
  53. package/dist/timed-media/policy.d.ts +36 -0
  54. package/dist/timed-media/policy.js +297 -0
  55. package/dist/timed-media/session.d.ts +21 -0
  56. package/dist/timed-media/session.js +85 -0
  57. package/dist/timed-media/state.d.ts +66 -0
  58. package/dist/timed-media/state.js +357 -0
  59. package/dist/timed-media/types.d.ts +343 -0
  60. package/dist/timed-media/types.js +12 -0
  61. package/dist/tools/term-lookup.d.ts +189 -0
  62. package/dist/tools/term-lookup.js +284 -0
  63. package/dist/types/index.d.ts +105 -1
  64. package/dist/ui/attribute-coercion.d.ts +1 -0
  65. package/dist/ui/attribute-coercion.js +19 -0
  66. package/dist/ui/first-focusable.d.ts +22 -0
  67. package/dist/ui/first-focusable.js +47 -0
  68. package/dist/ui/focus-trap.js +7 -2
  69. package/dist/ui/pointer-drag.d.ts +30 -0
  70. package/dist/ui/pointer-drag.js +34 -0
  71. package/package.json +35 -3
  72. package/dist/i18n/loader.d.ts +0 -35
  73. package/dist/i18n/loader.js +0 -132
  74. package/dist/i18n/simple-i18n.d.ts +0 -68
  75. package/dist/i18n/simple-i18n.js +0 -198
  76. package/dist/i18n/translations/ar/common.json +0 -36
  77. package/dist/i18n/translations/ar/toolkit.json +0 -48
  78. package/dist/i18n/translations/ar/tools.json +0 -103
  79. package/dist/i18n/translations/en/common.json +0 -36
  80. package/dist/i18n/translations/en/toolkit.json +0 -48
  81. package/dist/i18n/translations/en/tools.json +0 -103
  82. package/dist/i18n/translations/es/common.json +0 -36
  83. package/dist/i18n/translations/es/toolkit.json +0 -48
  84. package/dist/i18n/translations/es/tools.json +0 -103
  85. package/dist/i18n/translations/zh/common.json +0 -36
  86. package/dist/i18n/translations/zh/toolkit.json +0 -48
  87. package/dist/i18n/translations/zh/tools.json +0 -103
@@ -0,0 +1,601 @@
1
+ /**
2
+ * English (United States) message catalog — the source of truth.
3
+ *
4
+ * This catalog's *shape* generates `MessageKey`, so every other locale is
5
+ * checked against it and a mistyped key at a call site is a compile error. Add a
6
+ * key here first.
7
+ *
8
+ * A TypeScript module rather than JSON: `tsc` compiles it to real JS, which
9
+ * removes the `with { type: "json" }` import-attribute hazard that already broke
10
+ * every non-English locale once under Node's ESM loader, and it lets the key
11
+ * union be derived rather than maintained.
12
+ *
13
+ * Conventions:
14
+ * - `{placeholder}` slots interpolate; keep the names stable across locales.
15
+ * - A plural group is an object of CLDR categories; `other` is required and
16
+ * `Intl.PluralRules` picks the rest, so a locale may carry more forms than
17
+ * English has.
18
+ * - Keys ending `A11y` are for assistive technology only and are never rendered
19
+ * as visible text. They carry the operating instructions a sighted user reads
20
+ * from the layout.
21
+ * - Developer-facing diagnostics (`throw`/`console`) are deliberately absent.
22
+ * Only strings a learner, teacher or author can see belong here.
23
+ *
24
+ * @module @pie-players/pie-players-shared/i18n/messages/en-US
25
+ */
26
+ declare const enUS: {
27
+ /** Verbs and nouns reused across more than one package. */
28
+ common: {
29
+ close: string;
30
+ cancel: string;
31
+ save: string;
32
+ reset: string;
33
+ retry: string;
34
+ back: string;
35
+ next: string;
36
+ previous: string;
37
+ submit: string;
38
+ continue: string;
39
+ finish: string;
40
+ yes: string;
41
+ no: string;
42
+ ok: string;
43
+ any: string;
44
+ off: string;
45
+ auto: string;
46
+ all: string;
47
+ none: string;
48
+ loading: string;
49
+ error: string;
50
+ settings: string;
51
+ language: string;
52
+ theme: string;
53
+ preview: string;
54
+ author: string;
55
+ unknown: string;
56
+ untitled: string;
57
+ apply: string;
58
+ enabled: string;
59
+ disabled: string;
60
+ closeA11y: string;
61
+ settingsA11y: string;
62
+ };
63
+ /**
64
+ * Player chrome: the section, item and assessment players' own surfaces.
65
+ * Not the authored content, which carries its own language.
66
+ */
67
+ player: {
68
+ passage: string;
69
+ passages: string;
70
+ question: string;
71
+ questionNumbered: string;
72
+ questions: string;
73
+ items: string;
74
+ section: string;
75
+ loadingSection: string;
76
+ loadingPassage: string;
77
+ configurationError: string;
78
+ playerError: string;
79
+ authoringBackendError: string;
80
+ itemLoadError: string;
81
+ sectionTabsA11y: string;
82
+ passagesRegionA11y: string;
83
+ itemsRegionA11y: string;
84
+ sectionToolsA11y: string;
85
+ scrollDownA11y: string;
86
+ resizePanels: string;
87
+ resizePassagesAndItemsA11y: string;
88
+ resizeMediaRegion: string;
89
+ resizeQuestionAndMediaA11y: string;
90
+ resizePassageAndMediaA11y: string;
91
+ /**
92
+ * The assessment player's own section-to-section navigation. Its Back and
93
+ * Next controls take `common.back` / `common.next`.
94
+ */
95
+ assessment: {
96
+ sectionPosition: string;
97
+ noSections: string;
98
+ };
99
+ /** Formative delivery: check-answer control and its outcome announcements. */
100
+ formative: {
101
+ checkAnswer: string;
102
+ tryAgain: string;
103
+ answerRecorded: string;
104
+ correct: string;
105
+ partlyCorrect: string;
106
+ notCorrect: string;
107
+ notAutoScored: string;
108
+ checkFailed: string;
109
+ /**
110
+ * Appended after the outcome, so the announcement reads
111
+ * "Not correct. 2 tries left." Kept a separate plural group rather than
112
+ * folded into each outcome: the tries count varies independently of
113
+ * correctness, and cross-multiplying them is 4 x N strings.
114
+ */
115
+ triesLeft: {
116
+ one: string;
117
+ other: string;
118
+ };
119
+ };
120
+ /**
121
+ * Timed media: what the learner is told as the timeline reveals questions and
122
+ * a gate holds playback. Announced through a polite live region and shown as
123
+ * visible text, because a pause the learner did not ask for has to be
124
+ * perceivable without hearing it (WCAG 1.1.1, 4.1.3).
125
+ */
126
+ timedMedia: {
127
+ waitingForMedia: string;
128
+ questionAvailable: string;
129
+ /** Playback really is stopped: the media source reported it can pause. */
130
+ playbackPaused: string;
131
+ /**
132
+ * The same gate where the source cannot pause. Worded as a request rather
133
+ * than a statement, because claiming playback stopped when it did not is
134
+ * exactly the silent degradation this contract refuses.
135
+ */
136
+ playbackAdvisory: string;
137
+ playbackReleased: string;
138
+ };
139
+ };
140
+ /** Toolbar and tool-shell chrome owned by the assessment toolkit. */
141
+ toolkit: {
142
+ toolsA11y: string;
143
+ toolbarInitError: string;
144
+ settingsTitle: string;
145
+ closeSettingsA11y: string;
146
+ dragPanelA11y: string;
147
+ closePanelA11y: string;
148
+ resizeWindow: string;
149
+ minimize: string;
150
+ maximize: string;
151
+ minimizePanelA11y: string;
152
+ maximizePanelA11y: string;
153
+ /** Tool-window keyboard controls, exposed only to assistive technology. */
154
+ window: {
155
+ moveLeftA11y: string;
156
+ moveRightA11y: string;
157
+ moveUpA11y: string;
158
+ moveDownA11y: string;
159
+ shrinkA11y: string;
160
+ growA11y: string;
161
+ centerA11y: string;
162
+ closeA11y: string;
163
+ };
164
+ /**
165
+ * Live-region announcements shared by the draggable tools — ruler,
166
+ * protractor, line reader. Keyboard movement and rotation read the same in
167
+ * every one of them, so the strings live once here rather than per tool.
168
+ */
169
+ announce: {
170
+ movedUp: string;
171
+ movedDown: string;
172
+ movedLeft: string;
173
+ movedRight: string;
174
+ rotatedTo: string;
175
+ };
176
+ };
177
+ /**
178
+ * Per-capability strings, keyed by `toolId`.
179
+ *
180
+ * `name` and `description` back `ToolRegistration.nameKey` /
181
+ * `descriptionKey`, so the toolbar label and the registration contract read
182
+ * the same catalog entry.
183
+ */
184
+ tools: {
185
+ calculator: {
186
+ name: string;
187
+ nameBasic: string;
188
+ nameScientific: string;
189
+ nameGraphing: string;
190
+ description: string;
191
+ openedBasic: string;
192
+ openedScientific: string;
193
+ openedGraphing: string;
194
+ closedBasic: string;
195
+ closedScientific: string;
196
+ closedGraphing: string;
197
+ toolA11y: string;
198
+ loading: string;
199
+ providerUnavailable: string;
200
+ };
201
+ graph: {
202
+ name: string;
203
+ description: string;
204
+ buttonA11y: string;
205
+ tooltip: string;
206
+ toolA11y: string;
207
+ canvasA11y: string;
208
+ grid: string;
209
+ gridOpacityA11y: string;
210
+ pointA11y: string;
211
+ modeSelector: string;
212
+ modeSelectorHint: string;
213
+ modePoint: string;
214
+ modePointHint: string;
215
+ modeLine: string;
216
+ modeLineHint: string;
217
+ modeDelete: string;
218
+ modeDeleteHint: string;
219
+ };
220
+ periodicTable: {
221
+ name: string;
222
+ description: string;
223
+ buttonA11y: string;
224
+ tooltip: string;
225
+ toolA11y: string;
226
+ elementsA11y: string;
227
+ showAllA11y: string;
228
+ allElements: string;
229
+ atomicMass: string;
230
+ atomicNumber: string;
231
+ electronConfig: string;
232
+ phase: string;
233
+ filterByA11y: string;
234
+ /**
235
+ * Element cell label. Element *names* come from the periodic-table data
236
+ * file, not from here: they are content, and a locale that renames them
237
+ * needs a translated data file rather than 118 catalog keys.
238
+ */
239
+ elementA11y: string;
240
+ outsideFilterA11y: string;
241
+ /** IUPAC element categories. Chemistry nomenclature, translated per locale. */
242
+ category: {
243
+ unknown: string;
244
+ alkaliMetal: string;
245
+ alkalineEarthMetal: string;
246
+ transitionMetal: string;
247
+ postTransitionMetal: string;
248
+ metalloid: string;
249
+ diatomicNonmetal: string;
250
+ polyatomicNonmetal: string;
251
+ nobleGas: string;
252
+ lanthanide: string;
253
+ actinide: string;
254
+ };
255
+ };
256
+ ruler: {
257
+ name: string;
258
+ description: string;
259
+ buttonA11y: string;
260
+ tooltip: string;
261
+ toolA11y: string;
262
+ unitSelectionA11y: string;
263
+ inches: string;
264
+ centimeters: string;
265
+ inchesInSentence: string;
266
+ centimetersInSentence: string;
267
+ switchToInchesA11y: string;
268
+ switchToCentimetersA11y: string;
269
+ switchedTo: string;
270
+ applicationA11y: string;
271
+ imageAlt: string;
272
+ };
273
+ protractor: {
274
+ name: string;
275
+ description: string;
276
+ buttonA11y: string;
277
+ tooltip: string;
278
+ toolA11y: string;
279
+ roleA11y: string;
280
+ imageAlt: string;
281
+ };
282
+ /**
283
+ * The two dictionaries. `toolA11y` names the floating panel; the button
284
+ * names follow the toolbar rule — the tooltip verbatim, plus a purpose
285
+ * clause only where the tooltip alone does not identify the tool.
286
+ */
287
+ dictionary: {
288
+ name: string;
289
+ description: string;
290
+ buttonA11y: string;
291
+ tooltip: string;
292
+ toolA11y: string;
293
+ };
294
+ pictureDictionary: {
295
+ name: string;
296
+ description: string;
297
+ buttonA11y: string;
298
+ tooltip: string;
299
+ toolA11y: string;
300
+ };
301
+ /**
302
+ * The Spanish variants. Named in the interface locale like every other tool label —
303
+ * a Dutch-speaking proctor reading a Dutch interface still sees which language the
304
+ * dictionary looks words up in.
305
+ */
306
+ dictionarySpanish: {
307
+ name: string;
308
+ description: string;
309
+ buttonA11y: string;
310
+ tooltip: string;
311
+ toolA11y: string;
312
+ };
313
+ pictureDictionarySpanish: {
314
+ name: string;
315
+ description: string;
316
+ buttonA11y: string;
317
+ tooltip: string;
318
+ toolA11y: string;
319
+ };
320
+ lineReader: {
321
+ name: string;
322
+ description: string;
323
+ buttonA11y: string;
324
+ tooltip: string;
325
+ roleA11y: string;
326
+ close: string;
327
+ resizeWindowA11y: string;
328
+ resizeFrameA11y: string;
329
+ windowHeightAnnounce: string;
330
+ frameHeightAnnounce: string;
331
+ widthAnnounce: string;
332
+ applicationA11y: string;
333
+ resizeWindowFullA11y: string;
334
+ resizeFrameFullA11y: string;
335
+ };
336
+ answerEliminator: {
337
+ name: string;
338
+ description: string;
339
+ buttonA11y: string;
340
+ tooltip: string;
341
+ };
342
+ highlighter: {
343
+ name: string;
344
+ description: string;
345
+ buttonA11y: string;
346
+ tooltip: string;
347
+ };
348
+ annotationToolbar: {
349
+ name: string;
350
+ description: string;
351
+ buttonA11y: string;
352
+ tooltip: string;
353
+ toolbarA11y: string;
354
+ underline: string;
355
+ underlineA11y: string;
356
+ readAloud: string;
357
+ readAloudA11y: string;
358
+ remove: string;
359
+ removeA11y: string;
360
+ clearAll: string;
361
+ clearAllA11y: string;
362
+ highlightYellowA11y: string;
363
+ highlightPinkA11y: string;
364
+ highlightBlueA11y: string;
365
+ highlightGreenA11y: string;
366
+ };
367
+ theme: {
368
+ name: string;
369
+ description: string;
370
+ buttonA11y: string;
371
+ tooltip: string;
372
+ selectorA11y: string;
373
+ hint: string;
374
+ selectA11y: string;
375
+ selectCurrentA11y: string;
376
+ optionUnavailableA11y: string;
377
+ unavailableName: string;
378
+ unavailableDescription: string;
379
+ unavailableStatus: string;
380
+ };
381
+ textToSpeech: {
382
+ name: string;
383
+ description: string;
384
+ toolA11y: string;
385
+ title: string;
386
+ initializing: string;
387
+ initFailed: string;
388
+ selectText: string;
389
+ speed: string;
390
+ play: string;
391
+ pause: string;
392
+ resume: string;
393
+ stop: string;
394
+ speaking: string;
395
+ paused: string;
396
+ charactersSelected: {
397
+ one: string;
398
+ other: string;
399
+ };
400
+ rate: {
401
+ slow: string;
402
+ slower: string;
403
+ normal: string;
404
+ faster: string;
405
+ fast: string;
406
+ veryFast: string;
407
+ };
408
+ /** Inline reading controls and their live-region announcements. */
409
+ inline: {
410
+ controlsA11y: string;
411
+ playbackSpeedA11y: string;
412
+ rewindA11y: string;
413
+ fastForwardA11y: string;
414
+ stopA11y: string;
415
+ initializing: string;
416
+ initFailed: string;
417
+ starting: string;
418
+ started: string;
419
+ resumed: string;
420
+ pausedAnnouncement: string;
421
+ stopped: string;
422
+ switchedSection: string;
423
+ startFailed: string;
424
+ skippedForward: string;
425
+ skipForwardFailed: string;
426
+ skippedBackward: string;
427
+ skipBackwardFailed: string;
428
+ speedChangeFailed: string;
429
+ speedAnnounce: string;
430
+ playA11y: string;
431
+ pauseA11y: string;
432
+ resumeA11y: string;
433
+ };
434
+ };
435
+ signLanguage: {
436
+ name: string;
437
+ description: string;
438
+ /**
439
+ * Names of the signed language itself, keyed by its ISO 639-3 code.
440
+ *
441
+ * The name of the *adaptation*, never inferred from the item's content
442
+ * language. `signedEnglish` is not a distinct sign language; it rides
443
+ * the same card type tagged with a spoken-language code.
444
+ */
445
+ generic: string;
446
+ unknown: string;
447
+ ase: string;
448
+ bfi: string;
449
+ fsl: string;
450
+ gss: string;
451
+ mfs: string;
452
+ signedEnglish: string;
453
+ regionA11y: string;
454
+ };
455
+ audioTranscript: {
456
+ name: string;
457
+ description: string;
458
+ regionA11y: string;
459
+ };
460
+ };
461
+ /**
462
+ * Developer panel chrome.
463
+ *
464
+ * These packages ship as published custom elements, so their chrome is
465
+ * localized like any other. The JSON payloads they dump are data, not
466
+ * message content, and stay as authored.
467
+ */
468
+ debug: {
469
+ session: string;
470
+ sessionData: string;
471
+ sessionDataPersistent: string;
472
+ noItemSessionYet: string;
473
+ itemSessionsSnapshot: string;
474
+ sectionControllerUnavailable: string;
475
+ filteredModel: string;
476
+ environment: string;
477
+ events: string;
478
+ controllerEvents: string;
479
+ instrumentation: string;
480
+ databaseState: string;
481
+ sessionDb: string;
482
+ noRows: string;
483
+ noRecords: string;
484
+ selectRecord: string;
485
+ selectEvent: string;
486
+ showRawTables: string;
487
+ showReconstructedSnapshots: string;
488
+ showSectionRequest: string;
489
+ showAssessmentRequest: string;
490
+ liveUpdatesUnsupported: string;
491
+ liveUpdatesDisconnected: string;
492
+ fieldType: string;
493
+ fieldTarget: string;
494
+ fieldItem: string;
495
+ fieldCanonical: string;
496
+ fieldIntent: string;
497
+ fieldDuplicates: string;
498
+ fieldSemanticRepeats: string;
499
+ dragItemSessionPanelA11y: string;
500
+ debuggerTabsA11y: string;
501
+ sessionDataJsonA11y: string;
502
+ environmentJsonA11y: string;
503
+ filteredModelJsonA11y: string;
504
+ sectionSessionJsonA11y: string;
505
+ eventLevelFilterA11y: string;
506
+ controllerEventDetailsA11y: string;
507
+ instrumentationFilterA11y: string;
508
+ instrumentationDetailsA11y: string;
509
+ toggleSessionPanelA11y: string;
510
+ toggleEventPanelA11y: string;
511
+ toggleDatabasePanelA11y: string;
512
+ toggleInstrumentationPanelA11y: string;
513
+ /** PNP debugger. */
514
+ pnp: {
515
+ title: string;
516
+ noAssessmentBound: string;
517
+ determinationReadOnly: string;
518
+ toolsEditor: string;
519
+ enforcement: string;
520
+ allAvailableTools: string;
521
+ clearPlacement: string;
522
+ tool: string;
523
+ placement: string;
524
+ provider: string;
525
+ simulation: string;
526
+ resolvedTools: string;
527
+ provenanceSummary: string;
528
+ perToolDecisions: string;
529
+ profileReadOnly: string;
530
+ };
531
+ /** TTS settings panel. */
532
+ tts: {
533
+ title: string;
534
+ closeA11y: string;
535
+ toolbarLayoutMode: string;
536
+ reservedRow: string;
537
+ expandingRow: string;
538
+ floatingOverlay: string;
539
+ leftAlignedControls: string;
540
+ inlineSpeedButtons: string;
541
+ resetToDefaults: string;
542
+ mathHighlighting: string;
543
+ checkingAvailability: string;
544
+ recheck: string;
545
+ voice: string;
546
+ bestAvailableVoice: string;
547
+ unnamedVoice: string;
548
+ apiEndpoint: string;
549
+ gender: string;
550
+ any: string;
551
+ male: string;
552
+ female: string;
553
+ neutral: string;
554
+ engine: string;
555
+ neural: string;
556
+ standard: string;
557
+ providerDefault: string;
558
+ format: string;
559
+ sampleRate: string;
560
+ speechMarks: string;
561
+ word: string;
562
+ wordAndSentence: string;
563
+ voiceType: string;
564
+ wavenetVoiceType: string;
565
+ studioVoiceType: string;
566
+ plainText: string;
567
+ sampleText: string;
568
+ resetSample: string;
569
+ providerAvailable: string;
570
+ providerUnavailable: string;
571
+ providerCheckFailed: string;
572
+ providerNotChecked: string;
573
+ webSpeechUnavailable: string;
574
+ browserNoVoices: string;
575
+ browserUnavailable: string;
576
+ googleUnavailable: string;
577
+ pollyUnavailable: string;
578
+ recommendedVoices: string;
579
+ allVoices: string;
580
+ previewVoice: string;
581
+ stopPreview: string;
582
+ applying: string;
583
+ ssmlPreviewUnsupported: string;
584
+ pollySsmlHint: string;
585
+ mathHighlightParts: string;
586
+ mathHighlightBlock: string;
587
+ previewFailed: string;
588
+ previewNoAudio: string;
589
+ previewEnterText: string;
590
+ previewUnavailable: string;
591
+ browserSynthesisUnavailable: string;
592
+ browserSynthesisEndedEarly: string;
593
+ browserSynthesisQueueFailed: string;
594
+ browserPreviewFailed: string;
595
+ ssmlWordTrackingDisabled: string;
596
+ applyUnavailable: string;
597
+ coordinatorUnavailable: string;
598
+ };
599
+ };
600
+ };
601
+ export default enUS;