Merge pull request #18638 from Snuffleupagus/PDFDocumentProperties-l10n-functions

Utilize Fluent to format numbers and dates in `PDFDocumentProperties`/`AnnotationLayer`
This commit is contained in:
Tim van der Meij 2024-08-25 12:44:15 +02:00 committed by GitHub
commit cd99be0aa5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 22 additions and 42 deletions

View file

@ -113,14 +113,14 @@ pdfjs-document-properties-file-name = File name:
pdfjs-document-properties-file-size = File size:
# Variables:
# $size_kb (Number) - the PDF file size in kilobytes
# $size_b (Number) - the PDF file size in bytes
pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } bytes)
# $kb (Number) - the PDF file size in kilobytes
# $b (Number) - the PDF file size in bytes
pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) } KB ({ $b } bytes)
# Variables:
# $size_mb (Number) - the PDF file size in megabytes
# $size_b (Number) - the PDF file size in bytes
pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } bytes)
# $mb (Number) - the PDF file size in megabytes
# $b (Number) - the PDF file size in bytes
pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)
pdfjs-document-properties-title = Title:
pdfjs-document-properties-author = Author:
@ -130,9 +130,8 @@ pdfjs-document-properties-creation-date = Creation Date:
pdfjs-document-properties-modification-date = Modification Date:
# Variables:
# $date (Date) - the creation/modification date of the PDF file
# $time (Time) - the creation/modification time of the PDF file
pdfjs-document-properties-date-string = { $date }, { $time }
# $dateObj (Date) - the creation/modification date and time of the PDF file
pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
pdfjs-document-properties-creator = Creator:
pdfjs-document-properties-producer = PDF Producer:
@ -284,9 +283,8 @@ pdfjs-rendering-error = An error occurred while rendering the page.
## Annotations
# Variables:
# $date (Date) - the modification date of the annotation
# $time (Time) - the modification time of the annotation
pdfjs-annotation-date-string = { $date }, { $time }
# $dateObj (Date) - the modification date and time of the annotation
pdfjs-annotation-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
# .alt: This is used as a tooltip.
# Variables:

View file

@ -2242,14 +2242,11 @@ class PopupElement {
modificationDate.classList.add("popupDate");
modificationDate.setAttribute(
"data-l10n-id",
"pdfjs-annotation-date-string"
"pdfjs-annotation-date-time-string"
);
modificationDate.setAttribute(
"data-l10n-args",
JSON.stringify({
date: this.#dateObj.toLocaleDateString(),
time: this.#dateObj.toLocaleTimeString(),
})
JSON.stringify({ dateObj: this.#dateObj.valueOf() })
);
header.append(modificationDate);
}

View file

@ -239,17 +239,12 @@ class PDFDocumentProperties {
return this.l10n.get(`pdfjs-document-properties-${id}`, args);
}
async #parseFileSize(fileSize = 0) {
const kb = fileSize / 1024,
async #parseFileSize(b = 0) {
const kb = b / 1024,
mb = kb / 1024;
if (!kb) {
return undefined;
}
return this.#getL10nStr(mb >= 1 ? "mb" : "kb", {
size_mb: mb >= 1 && (+mb.toPrecision(3)).toLocaleString(),
size_kb: mb < 1 && (+kb.toPrecision(3)).toLocaleString(),
size_b: fileSize.toLocaleString(),
});
return kb
? this.#getL10nStr(`size-${mb >= 1 ? "mb" : "kb"}`, { mb, kb, b })
: undefined;
}
async #parsePageSize(pageSizeInches, pagesRotation) {
@ -329,25 +324,15 @@ class PDFDocumentProperties {
return this.#getL10nStr(
`page-size-dimension-${name ? "name-" : ""}string`,
{
width: width.toLocaleString(),
height: height.toLocaleString(),
unit,
name,
orientation,
}
{ width, height, unit, name, orientation }
);
}
async #parseDate(inputDate) {
const dateObject = PDFDateString.toDateObject(inputDate);
if (!dateObject) {
return undefined;
}
return this.#getL10nStr("date-string", {
date: dateObject.toLocaleDateString(),
time: dateObject.toLocaleTimeString(),
});
const dateObj = PDFDateString.toDateObject(inputDate);
return dateObj
? this.#getL10nStr("date-time-string", { dateObj })
: undefined;
}
#parseLinearization(isLinearized) {