Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
6ce29b1
Fix error in bussproofs en.json
dpvc May 25, 2026
b0c5677
Update menu localization IDs (as per our developers' meeting) and sor…
dpvc May 25, 2026
e942d4d
Merge pull request #1479 from mathjax/feature/locale_finish_tex
zorkow May 27, 2026
e880b1c
Add message for error during copying (missed in initial menu localiza…
dpvc May 29, 2026
fc8cbf3
Fix German Menu
zorkow May 30, 2026
a72ec31
Merge branch 'fix/locale_de' into fix/menu-locale_de
zorkow Jun 3, 2026
def94b3
Merge branch 'feature/locale-components' into fix/menu-locale_de
zorkow Jun 3, 2026
a09aab6
Fix a number of submenu prefixes and improves German
zorkow Jun 3, 2026
55c61fc
more sub menu prefixing
zorkow Jun 3, 2026
b138e0a
improved German and removed not yet implemented disclaimer
zorkow Jun 3, 2026
48ba7c0
change title elements to prefix .Title/
zorkow Jun 3, 2026
2da2c48
fixes German menu localisation
zorkow Jun 3, 2026
67cfb3b
add as separate components
zorkow Jun 8, 2026
7273097
initial duplication of role descriptions
zorkow Jun 8, 2026
d1f5ef6
Merge branch 'fix/menu-locale_de_components' into fix/menu-locale_de
zorkow Jun 8, 2026
d495f1f
adds component a11y for localization of aria descriptions
zorkow Jun 8, 2026
2a0818a
changes title order and removes leading dot syntax
zorkow Jun 8, 2026
88a2c5b
fixes missing initialized field in Locale
zorkow Jun 8, 2026
ec0da78
fix de for German
zorkow Jun 10, 2026
d84971c
fix some tex errors in de
zorkow Jun 10, 2026
642e011
mathml de locale
zorkow Jun 10, 2026
99a83e9
worker de locale
zorkow Jun 10, 2026
abb3317
explorer locale de
zorkow Jun 10, 2026
57da349
tex locale de
zorkow Jun 10, 2026
11cdda8
Merge pull request #1498 from mathjax/fix/more_locale_de
zorkow Jun 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions components/mjs/a11y/a11y.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
import './lib/a11y.js';
import './en.js';
19 changes: 19 additions & 0 deletions components/mjs/a11y/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"build": {
"component": "a11y",
"targets": ["a11y/aria.ts"],
"excludeSubdirs": true
},
"copy": {
"to": "[bundle]/a11y",
"from": "[ts]/a11y",
"copy": ["__locales__"],
"excludes": ["__locales__/Component.ts"]
},
"webpack": {
"name": "a11y",
"libs": [
"components/src/a11y/lib"
]
}
}
5 changes: 5 additions & 0 deletions components/mjs/a11y/en.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { Locale } from '#js/util/Locale.js';
import { COMPONENT } from '#js/a11y/__locales__/Component.js';
import data from '#ts/a11y/__locales__/en.json' with {type: 'json'};

Locale.registerMessages(COMPONENT, 'en', data);
39 changes: 39 additions & 0 deletions ts/a11y/__locales__/Component.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*************************************************************
*
* Copyright (c) 2026 The MathJax Consortium
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/**
* @file Locale component registration for a11y/explorer
*
* @author dpvc@mathjax.org (Davide P. Cervone)
*/

import { Locale, namedData } from '../../util/Locale.js';

export const COMPONENT = 'a11y';

Locale.registerLocaleFiles(COMPONENT, '../ts/a11y');

/**
* Get a localized message for this component
*
* @param {string} id The id of the message
* @param {(string|namedData)[]} args The replacement arguments for the message, if any
* @returns {string} The localized message
*/
export function localize(id: string, ...args: (string | namedData)[]): string {
return Locale.message(COMPONENT, id, ...args);
}
8 changes: 8 additions & 0 deletions ts/a11y/__locales__/de.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"Aria/RoleDescription/MathJax expression": "MathJax Ausdruck",
"Aria/RoleDescription/MathJax": "MathJax",
"Aria/RoleDescription/clickable math": "anklickbare Mathematik",
"Aria/RoleDescription/explorable math": "erkundbare Mathematik",
"Aria/RoleDescription/math": "Mathematik",
"Aria/RoleDescription/none": "ohne Beschreibung"
}
8 changes: 8 additions & 0 deletions ts/a11y/__locales__/en.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"Aria/RoleDescription/MathJax expression": "MathJax expression",
"Aria/RoleDescription/MathJax": "MathJax",
"Aria/RoleDescription/clickable math": "clickable math",
"Aria/RoleDescription/explorable math": "explorable math",
"Aria/RoleDescription/math": "math",
"Aria/RoleDescription/none": "none"
}
60 changes: 60 additions & 0 deletions ts/a11y/aria.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
/*************************************************************
*
* Copyright (c) 2026 The MathJax Consortium
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/**
* @file Localizable ARIA constants.
*
* @author v.sorge@mathjax.org (Volker Sorge)
*/

import { localize } from './__locales__/Component.js';

/**
* Localization keys for ARIA role descriptions used by MathJax. Values are the
* strings expected in the locale files.
*/
export const AriaRoleDescription: Record<string, string> = {
EXPRESSION: 'Aria/RoleDescription/MathJax expression',
MATHJAX: 'Aria/RoleDescription/MathJax',
MATH: 'Aria/RoleDescription/math',
CLICKABLE: 'Aria/RoleDescription/clickable math',
EXPLORABLE: 'Aria/RoleDescription/explorable math',
NONE: 'Aria/RoleDescription/none',
};

/**
* Returns the localized string for a known ARIA role description ID.
*
* @param {string} id - The aria localization key to resolve.
* @returns {string | null} Localized string or null if id has no Aria prefix.
*/
export function localizeAria(id: string): string {
if (!hasAriaPrefix(id)) {
return null;
}
return localize(id);
}

/**
* Checks whether the given ID starts with the `Aria/` prefix.
*
* @param {string} id - The string to test.
* @returns {boolean} True if `id` begins with `Aria/`.
*/
function hasAriaPrefix(id: string): boolean {
return id.startsWith('Aria/');
}
7 changes: 4 additions & 3 deletions ts/a11y/explorer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ import { StyleJson } from '../util/StyleJson.js';
import { context } from '../util/context.js';

import { ExplorerPool, RegionPool } from './explorer/ExplorerPool.js';
import { AriaRoleDescription, localizeAria } from './aria.js';

import * as Sre from './sre.js';

Expand Down Expand Up @@ -135,7 +136,7 @@ export function ExplorerMathItemMixin<B extends Constructor<HTMLMATHITEM>>(
/**
* The aria-roleDescription to use for the math
*/
protected static roleDescription: string = 'math';
protected static roleDescription: string = AriaRoleDescription.MATH;

/**
* Decription to use when set to none
Expand All @@ -154,9 +155,9 @@ export function ExplorerMathItemMixin<B extends Constructor<HTMLMATHITEM>>(

public get roleDescription() {
const CLASS = this.constructor as typeof BaseClass;
return CLASS.roleDescription === 'none'
return CLASS.roleDescription === AriaRoleDescription.NONE
? CLASS.none
: CLASS.roleDescription;
: (localizeAria(CLASS.roleDescription) ?? CLASS.roleDescription);
}

public get none() {
Expand Down
8 changes: 4 additions & 4 deletions ts/a11y/explorer/__locales__/de.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
{
"ForHelp": "Drücke h für Hilfe",
"Help/Keys": "<ul>\n\n<li><kbd>Pfeil nach unten</kbd> springt eine Ebene tiefer in den Ausdruck, damit Sie den aktuellen Teilausdruck Term für Term untersuchen können.</li>\n\n<li><kbd>Pfeil nach oben</kbd> springt eine Ebene höher innerhalb des Ausdrucks. </li> <li><kbd>Pfeil nach rechts</kbd> springt zum nächsten Term im aktuellen Teilausdruck.</li>\n\n<li><kbd>Pfeil nach links</kbd> springt zum nächsten Term im aktuellen Teilausdruck.</li>\n\n<li><kbd>Umschalt</kbd>+<kbd>Pfeil</kbd> springt zu einer benachbarten Zelle innerhalb einer Tabelle.</li>\n\n<li><kbd>0-9</kbd>+<kbd>0-9</kbd> springt anhand des Indexes in der Tabelle zu einer Zelle, wobei 0 = 10 ist.</li>\n\n<li><kbd>Home</kbd> bringt Sie an den Anfang des Ausdrucks.</li>\n\n<li><kbd>Enter</kbd> oder <kbd>Return</kbd> klickt auf einen Link oder aktiviert einen aktiven Teilausdruck. </li>\n\n<li><kbd>Leertaste</kbd> öffnet das MathJax-Kontextmenü, in dem Sie das Quellformat des Ausdrucks anzeigen oder kopieren oder die MathJax-Einstellungen ändern können.</li>\n\n<li><kbd>Esc</kbd> verlässt den Ausdrucks-Explorer.</li>\n\n<li><kbd>x</kbd> Zeigt eine Zusammenfassung des aktuellen Teilausdrucks an.</li>\n\n<li><kbd>z</kbd> Zeigt den vollständigen Text eines ausgeblendeten Ausdrucks an.</li>\n\n<li><kbd>d</kbd> Zeigt die aktuelle Tiefe innerhalb des Ausdrucks an. </li>\n\n<li><kbd>s</kbd> startet oder stoppt die automatische Voicing-Anzeige mit synchronisierter Hervorhebung.</li>\n\n<li><kbd>v</kbd> markiert die aktuelle Position im Ausdruck.</li>\n\n<li><kbd>p</kbd> wechselt zwischen den markierten Positionen im Ausdruck hin und her.</li>\n\n<li><kbd>u</kbd>Löscht alle markierten Positionen und kehrt zur Startposition zurück.</li>\n\n<li><kbd>&gt;</kbd> Wechselt zwischen den verfügbaren Sprachregelsätzen (MathSpeak, ClearSpeak).</li>\n\n<li><kbd>&lt;</kbd> Wechselt zwischen den Ausführlichkeitsstufen für den aktuellen Regelsatz. </li>\n\n<li><kbd>b</kbd> schaltet um, ob Braille-Notation mit Sprachtext für taktile Braille-Geräte kombiniert wird, wie unten beschrieben.</li>\n\n<li><kbd>h</kbd> zeigt diese Hilfeauflistung an.</li>\n\n</ul>",
"Help/Text1": "<h2 role=\"heading\" aria-level=\"2\">Ausdrücke mit %1 erkunden</h2>\n\n<p>Die mathematischen Formeln auf dieser Seite werden von <a href=\"https://www.mathjax.org/\" target=\"_blank\">MathJax</a> dargestellt, das sowohl den von Bildschirmleseprogrammen vorgelesenen Text als auch das visuelle Layout für sehende Nutzer generiert. </p>\n\n<p>Von MathJax gesetzte Ausdrücke können interaktiv erkundet werden und sind fokussierbar. Sie können die <kbd>Tab</kbd>-Taste verwenden, um zu einem gesetzten Ausdruck zu springen%2%3. Zunächst wird der Ausdruck vollständig vorgelesen, aber Sie können die folgenden Tasten verwenden, um den Ausdruck weiter zu erkunden:</p>",
"Help/Text2": "<p>Über das MathJax-Kontextmenü können Sie die Sprach- oder Braille-Ausgabe für mathematische Ausdrücke aktivieren oder deaktivieren, die Sprache für die Sprachausgabe festlegen sowie weitere Funktionen von MathJax einstellen. Insbesondere können Sie im Untermenü „Explorer“ festlegen, wie die mathematischen Ausdrücke auf der Seite gekennzeichnet werden sollen (z. B. durch die Ansage „math“, wenn der Ausdruck vorgelesen wird) und ob eine Meldung darüber angezeigt werden soll, dass der Buchstabe „h“ dieses Dialogfeld öffnet. Wenn Sie die Sprachausgabe und die Braille-Anzeige deaktivieren, werden der Ausdrucks-Explorer, dessen Hervorhebung und das Hilfe-Symbol deaktiviert. </p>\n\n<p>Die Unterstützung für taktile Braille-Geräte variiert je nach Screenreader, Browser und Betriebssystem. Wenn Sie ein Braille-Ausgabegerät verwenden, müssen Sie möglicherweise die Option „Mit Sprachausgabe kombinieren“ im Untermenü „Braille“ des Kontextmenüs auswählen, um anstelle der Sprachausgabe auf Ihrem Braille-Gerät eine Nemeth- oder Euro-Braille-Ausgabe zu erhalten. %1</p>\n\n<p>Das Kontextmenü bietet außerdem Optionen zum Anzeigen oder Kopieren einer MathML-Version des Ausdrucks oder seines ursprünglichen Quellformats, zum Erstellen einer SVG-Version des Ausdrucks sowie zum Anzeigen verschiedener weiterer Informationen.</p>\n\n<p>Wenn Sie schließlich im Untermenü der Optionen den Eintrag „Insert Hidden MathML“ auswählen, wird die Sprach- und Braille-Generierung von MathJax deaktiviert und stattdessen visuell unsichtbares MathML verwendet, das von einigen Bildschirmleseprogrammen vorgelesen werden kann, wobei diese Funktion nicht von allen Bildschirmleseprogrammen und Betriebssystemen unterstützt wird. Durch Auswahl der Sprach- oder Braille-Generierung in den entsprechenden Untermenüs wird das unsichtbare MathML wieder entfernt.</p>\n\n<p>Weitere Hilfe finden Sie in der <a href=\"https://docs.mathjax.org/en/latest/basic/accessibility.html\" target=\"_blank\">MathJax-Dokumentation zur Barrierefreiheit.</a></p>",
"Help/Keys": "<ul>\n\n<li><kbd>Pfeil nach unten</kbd> springt eine Ebene tiefer in den Ausdruck, damit Sie den aktuellen Teilausdruck Term für Term untersuchen können.</li>\n\n<li><kbd>Pfeil nach oben</kbd> springt eine Ebene höher innerhalb des Ausdrucks. </li> <li><kbd>Pfeil nach rechts</kbd> springt zum nächsten Term im aktuellen Teilausdruck.</li>\n\n<li><kbd>Pfeil nach links</kbd> springt zum nächsten Term im aktuellen Teilausdruck.</li>\n\n<li><kbd>Umschalt</kbd>+<kbd>Pfeil</kbd> springt zu einer benachbarten Zelle innerhalb einer Tabelle.</li>\n\n<li><kbd>0-9</kbd>+<kbd>0-9</kbd> springt anhand des Index in der Tabelle zu einer Zelle, wobei 0 = 10 ist.</li>\n\n<li><kbd>Home</kbd> bringt Sie an den Anfang des Ausdrucks.</li>\n\n<li><kbd>Enter</kbd> oder <kbd>Return</kbd> klickt einen Link oder aktiviert einen aktiven Teilausdruck. </li>\n\n<li><kbd>Leertaste</kbd> öffnet das MathJax-Kontextmenü, in dem Sie das Quellformat des Ausdrucks anzeigen oder kopieren oder die MathJax-Einstellungen ändern können.</li>\n\n<li><kbd>Esc</kbd> verlässt den Ausdrucks-Explorer.</li>\n\n<li><kbd>x</kbd> Zeigt eine Zusammenfassung des aktuellen Teilausdrucks an.</li>\n\n<li><kbd>z</kbd> Zeigt den vollständigen Text eines ausgeblendeten Ausdrucks an.</li>\n\n<li><kbd>d</kbd> Zeigt die aktuelle Tiefe innerhalb des Ausdrucks an. </li>\n\n<li><kbd>s</kbd> startet oder stoppt die automatische Sprachausgabe mit synchronisiertem Highlighting.</li>\n\n<li><kbd>v</kbd> markiert die aktuelle Position im Ausdruck.</li>\n\n<li><kbd>p</kbd> wechselt zwischen den markierten Positionen im Ausdruck hin und her.</li>\n\n<li><kbd>u</kbd>Löscht alle markierten Positionen und kehrt zur Startposition zurück.</li>\n\n<li><kbd>&gt;</kbd> Wechselt zwischen den verfügbaren Sprachregelsätzen (MathSpeak, ClearSpeak).</li>\n\n<li><kbd>&lt;</kbd> Wechselt zwischen den Ausführlichkeitsstufen für den aktuellen Regelsatz. </li>\n\n<li><kbd>b</kbd> schaltet um, ob Braille-Notation mit Sprachtext für taktile Braille-Geräte kombiniert wird, wie unten beschrieben.</li>\n\n<li><kbd>h</kbd> zeigt diese Hilfeauflistung an.</li>\n\n</ul>",
"Help/Text1": "<h2 role=\"heading\" aria-level=\"2\">Ausdrücke mit %1 erkunden</h2>\n\n<p>Die mathematischen Formeln auf dieser Seite werden von <a href=\"https://www.mathjax.org/\" target=\"_blank\">MathJax</a> dargestellt, das sowohl den von Screenreadern vorgelesenen Text als auch das visuelle Layout für sehende Nutzer generiert. </p>\n\n<p>Von MathJax gesetzte Ausdrücke können interaktiv erkundet werden und sind fokussierbar. Sie können die <kbd>Tab</kbd>-Taste verwenden, um zu einem gesetzten Ausdruck zu springen%2%3. Zunächst wird der Ausdruck vollständig vorgelesen, aber Sie können die folgenden Tasten verwenden, um den Ausdruck weiter zu erkunden:</p>",
"Help/Text2": "<p>Über das MathJax-Kontextmenü können Sie die Sprach- oder Braille-Ausgabe für mathematische Ausdrücke aktivieren oder deaktivieren, die Sprache für die Sprachausgabe festlegen sowie weitere Funktionen von MathJax einstellen. Insbesondere können Sie im Untermenü „Explorer“ festlegen, wie die mathematischen Ausdrücke auf der Seite gekennzeichnet werden sollen (z. B. durch die Ansage „Mathematik“, wenn der Ausdruck vorgelesen wird) und ob eine Meldung darüber angezeigt werden soll, dass der Buchstabe „h“ dieses Dialogfeld öffnet. Wenn Sie die Sprachausgabe und die Braille-Anzeige deaktivieren, werden der Ausdrucks-Explorer, dessen Highlighting und das Hilfe-Symbol deaktiviert. </p>\n\n<p>Die Unterstützung für taktile Braille-Geräte variiert je nach Screenreader, Browser und Betriebssystem. Wenn Sie ein Braille-Ausgabegerät verwenden, müssen Sie möglicherweise die Option „Mit Sprachausgabe kombinieren“ im Untermenü „Braille“ des Kontextmenüs auswählen, um anstelle der Sprachausgabe auf Ihrem Braille-Gerät eine Nemeth- oder Euro-Braille-Ausgabe zu erhalten. %1</p>\n\n<p>Das Kontextmenü bietet außerdem Optionen zum Anzeigen oder Kopieren einer MathML-Version des Ausdrucks oder seines ursprünglichen Quellformats, zum Erstellen einer SVG-Version des Ausdrucks sowie zum Anzeigen verschiedener weiterer Informationen.</p>\n\n<p>Wenn Sie schließlich im Optionenmenü den Eintrag „MathML versteckt einbinden“ auswählen, wird die Sprach- und Braille-Generierung von MathJax deaktiviert und stattdessen visuell unsichtbares MathML verwendet, das von einigen Screenreadern vorgelesen werden kann, wobei diese Funktion nicht von allen Screenreadern und Betriebssystemen unterstützt wird. Durch Auswahl der Sprach- oder Braille-Generierung in den entsprechenden Untermenüs wird das unsichtbare MathML wieder entfernt.</p>\n\n<p>Weitere Hilfe finden Sie in der <a href=\"https://docs.mathjax.org/en/latest/basic/accessibility.html\" target=\"_blank\">MathJax-Dokumentation zur Barrierefreiheit.</a></p>",
"Help/Title": "Hilfe zum MathJax Expression Explorer",
"Mac/Select": "oder die VoiceOver-Pfeiltasten, um einen Ausdruck auszuwählen",
"Mac/Title": "macOS und iOS mit VoiceOver",
"JumpTo": "Springe zu Zeile %1 und Spalte",
"PositionMarked": "Position markiert",
"Unix/Select": "Orca sollte automatisch in den Fokusmodus wechseln. Ist dies nicht der Fall, kannst du den Fokusmodus mit der Tastenkombination „Orca+a“ ein- oder ausschalten. Beachte außerdem, dass du mit „Orca+Pfeiltasten“ Ausdrücke auch im Durchsichtmodus untersuchen kannst.",
"Unix/Title": "Unix mit Orca",
"Unknown/Title": "ein Bildschirmleseprogramm",
"Unknown/Title": "ein Screenreader",
"Win/Braille": "NVDA-Benutzer müssen diese Option auswählen, während JAWS-Benutzer die Braille-Ausgabe erhalten sollten, ohne diese Einstellung zu ändern.",
"Win/Select": "Der Screenreader sollte automatisch in den Fokus- oder Formularmodus wechseln, sobald der Ausdruck den Browserfokus erhält. Ist dies nicht der Fall, können Sie den Fokusmodus in NVDA mit NVDA+Leertaste umschalten; bei JAWS sollte die Eingabetaste den Formularmodus aktivieren, während die Plus-Taste des Ziffernblocks ihn beendet. Beachten Sie außerdem, dass Sie die NVDA- oder JAWS-Taste zusammen mit den Pfeiltasten verwenden können, um den Ausdruck auch im Browse-Modus zu erkunden, und dass Sie mit NVDA+Umschalt+Pfeiltasten aus einem Ausdruck herausnavigieren können, der in NVDA den Fokus hat.",
"Win/Title": "Windows mit NVDA oder JAWS"
Expand Down
10 changes: 5 additions & 5 deletions ts/a11y/speech/SpeechMenu.ts
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ function csSelectionBox(menu: MJContextMenu, locale: string): object {
});
}
const sb = new SelectionDialog(
localize('ClearspeakTitle'),
localize('Clearspeak/Title'),
'',
items,
SelectionOrder.ALPHABETICAL,
Expand All @@ -138,7 +138,7 @@ function csSelectionBox(menu: MJContextMenu, locale: string): object {
return {
type: 'command',
id: 'ClearspeakPreferences',
content: localize('SelectPrefs'),
content: localize('Clearspeak/SelectPrefs'),
action: () => sb.post(),
};
}
Expand All @@ -160,13 +160,13 @@ function basePreferences(previous: string): object[] {
const items = [
{
type: 'radio',
content: localize('NoPrefs'),
content: localize('Clearspeak/NoPrefs'),
id: 'clearspeak-default',
variable: 'speechRules',
},
{
type: 'radio',
content: localize('CurrentPrefs'),
content: localize('Clearspeak/CurrentPrefs'),
id: 'clearspeak-' + previous,
variable: 'speechRules',
},
Expand All @@ -192,7 +192,7 @@ function smartPreferences(
): object[] {
const loc = localePreferences.get(locale);
const items = [
{ type: 'label', content: localize('PrefsFor', smart) },
{ type: 'label', content: localize('Clearspeak/PrefsFor', smart) },
{ type: 'rule' },
];
return items.concat(
Expand Down
2 changes: 1 addition & 1 deletion ts/a11y/speech/__locales__/de.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"ProsodyError": "Beim Prosody-Abgleich ist ein Fehler aufgetreten",
"SpeechError": "Fehler bei der Sprachgenerierung:",
"Worker/Cancelled": "Aufgabe %1 abgebrochen",
"Worker/Cancelled": "Task %1 abgebrochen",
"Worker/NotStarted": "Worker wurde nicht gestartet",
"Worker/Started": "Worker bereits gestartet",
"Worker/Terminate": "%1 durch Beendigung des WorkerHandlers abgebrochen"
Expand Down
Loading