diff --git a/src/display/annotation_layer.js b/src/display/annotation_layer.js index 8c81be108..49f1ff95d 100644 --- a/src/display/annotation_layer.js +++ b/src/display/annotation_layer.js @@ -1943,14 +1943,10 @@ class PopupElement { // The modification date is shown in the popup instead of the creation // date if it is available and can be parsed correctly, which is // consistent with other viewers such as Adobe Acrobat. - this.#dateTimePromise = parent.l10n.get( - "annotation_date_string", - { - date: dateObject.toLocaleDateString(), - time: dateObject.toLocaleTimeString(), - }, - "{{date}}, {{time}}" - ); + this.#dateTimePromise = parent.l10n.get("annotation_date_string", { + date: dateObject.toLocaleDateString(), + time: dateObject.toLocaleTimeString(), + }); } this.trigger = elements.flatMap(e => e.getElementsToTriggerPopup()); @@ -1969,7 +1965,7 @@ class PopupElement { this.#toggle(); } - if (typeof PDFJSDev === "undefined" || PDFJSDev.test("TESTING")) { + if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("TESTING")) { // Since the popup is lazily created, we need to ensure that it'll be // created and displayed during reference tests. this.#parent.popupShow.push(async () => { @@ -2788,7 +2784,14 @@ class AnnotationLayer { this.viewport = viewport; this.zIndex = 0; - if (typeof PDFJSDev === "undefined" || PDFJSDev.test("TESTING")) { + if ( + typeof PDFJSDev !== "undefined" && + PDFJSDev.test("GENERIC && !TESTING") + ) { + const { NullL10n } = require("pdfjs-web/l10n_utils.js"); + this.l10n ||= NullL10n; + } + if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("TESTING")) { // For testing purposes. Object.defineProperty(this, "showPopups", { value: async () => { diff --git a/web/l10n_utils.js b/web/l10n_utils.js index 42e2d46de..c4931135b 100644 --- a/web/l10n_utils.js +++ b/web/l10n_utils.js @@ -13,6 +13,13 @@ * limitations under the License. */ +/** + * PLEASE NOTE: This file is currently imported in both the `web/` and + * `src/display/` folders, hence be EXTREMELY careful about + * introducing any dependencies here since that can lead to an + * unexpected/unnecessary size increase of the *built* files. + */ + /** * A subset of the l10n strings in the `l10n/en-US/viewer.properties` file. */ @@ -63,6 +70,8 @@ const DEFAULT_L10N_STRINGS = { unexpected_response_error: "Unexpected server response.", rendering_error: "An error occurred while rendering the page.", + annotation_date_string: "{{date}}, {{time}}", + printing_not_supported: "Warning: Printing is not fully supported by this browser.", printing_not_ready: "Warning: The PDF is not fully loaded for printing.",