1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-23 16:48:08 +02:00

Simplify localization of the "default-content" in FreeText editors

By using "data-l10n-attrs" it's possible to instruct Fluent to localize *custom* attributes, which means that we don't need to manually translate/update the "default-content" in FreeText editors.
This commit is contained in:
Jonas Jenwald 2024-10-19 12:34:58 +02:00
parent f9659f4635
commit 2ef3fd2a81
3 changed files with 6 additions and 15 deletions

View file

@ -209,7 +209,7 @@ class AnnotationEditor {
* Initialize the l10n stuff for this type of editor.
* @param {Object} l10n
*/
static initialize(l10n, _uiManager, options) {
static initialize(l10n, _uiManager) {
AnnotationEditor._l10nResizer ||= Object.freeze({
topLeft: "pdfjs-editor-resizer-top-left",
topMiddle: "pdfjs-editor-resizer-top-middle",
@ -236,11 +236,6 @@ class AnnotationEditor {
].map(str => [str, l10n.get.bind(l10n, str)]),
]);
if (options?.strings) {
for (const str of options.strings) {
AnnotationEditor._l10nPromise.set(str, l10n.get(str));
}
}
if (AnnotationEditor._borderLineWidth !== -1) {
return;
}

View file

@ -139,9 +139,7 @@ class FreeTextEditor extends AnnotationEditor {
/** @inheritdoc */
static initialize(l10n, uiManager) {
AnnotationEditor.initialize(l10n, uiManager, {
strings: ["pdfjs-free-text-default-content"],
});
AnnotationEditor.initialize(l10n, uiManager);
const style = getComputedStyle(document.documentElement);
if (typeof PDFJSDev === "undefined" || PDFJSDev.test("TESTING")) {
@ -563,12 +561,10 @@ class FreeTextEditor extends AnnotationEditor {
this.editorDiv.className = "internal";
this.editorDiv.setAttribute("id", this.#editorDivId);
this.editorDiv.setAttribute("data-l10n-id", "pdfjs-free-text");
this.editorDiv.setAttribute("data-l10n-id", "pdfjs-free-text2");
this.editorDiv.setAttribute("data-l10n-attrs", "default-content");
this.enableEditing();
AnnotationEditor._l10nPromise
.get("pdfjs-free-text-default-content")
.then(msg => this.editorDiv?.setAttribute("default-content", msg));
this.editorDiv.contentEditable = true;
const { style } = this.editorDiv;