From 2ef3fd2a81312ab9843572b1b657a2911b1b1c69 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Sat, 19 Oct 2024 12:34:58 +0200 Subject: [PATCH] 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. --- l10n/en-US/viewer.ftl | 4 ++-- src/display/editor/editor.js | 7 +------ src/display/editor/freetext.js | 10 +++------- 3 files changed, 6 insertions(+), 15 deletions(-) diff --git a/l10n/en-US/viewer.ftl b/l10n/en-US/viewer.ftl index 67be5cd587d21..f102f7790f568 100644 --- a/l10n/en-US/viewer.ftl +++ b/l10n/en-US/viewer.ftl @@ -348,9 +348,9 @@ pdfjs-editor-free-highlight-thickness-input = Thickness pdfjs-editor-free-highlight-thickness-title = .title = Change thickness when highlighting items other than text -pdfjs-free-text = +pdfjs-free-text2 = .aria-label = Text Editor -pdfjs-free-text-default-content = Start typing… + .default-content = Start typing… pdfjs-ink = .aria-label = Draw Editor pdfjs-ink-canvas = diff --git a/src/display/editor/editor.js b/src/display/editor/editor.js index e4d3c21521386..d345c21a9befb 100644 --- a/src/display/editor/editor.js +++ b/src/display/editor/editor.js @@ -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; } diff --git a/src/display/editor/freetext.js b/src/display/editor/freetext.js index 3977f9e62620d..0e1f1d435f63c 100644 --- a/src/display/editor/freetext.js +++ b/src/display/editor/freetext.js @@ -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;