Skip to content

Commit

Permalink
Merge pull request mozilla#18638 from Snuffleupagus/PDFDocumentProper…
Browse files Browse the repository at this point in the history
…ties-l10n-functions

Utilize Fluent to format numbers and dates in `PDFDocumentProperties`/`AnnotationLayer`
  • Loading branch information
timvandermeij authored Aug 25, 2024
2 parents de365b6 + 6ce9f97 commit cd99be0
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 42 deletions.
22 changes: 10 additions & 12 deletions l10n/en-US/viewer.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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:
Expand Down Expand Up @@ -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:
Expand Down
7 changes: 2 additions & 5 deletions src/display/annotation_layer.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
35 changes: 10 additions & 25 deletions web/pdf_document_properties.js
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -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) {
Expand Down

0 comments on commit cd99be0

Please sign in to comment.