diff --git a/assets/scripts/features/embedpdf/index.js b/assets/scripts/features/embedpdf/index.js
new file mode 100644
index 0000000..f499350
--- /dev/null
+++ b/assets/scripts/features/embedpdf/index.js
@@ -0,0 +1,171 @@
+import { insertScript } from '../../core';
+
+const PDFJS_BUNDLE = "https://cdn.jsdelivr.net/npm/pdfjs-dist@3.0.279/build/pdf.min.js";
+const WORKER_BUNDLE = "https://cdn.jsdelivr.net/npm/pdfjs-dist@3.0.279/build/pdf.worker.min.js";
+
+class PDFViewer {
+ constructor(el) {
+ const {
+ url,
+ hidePaginator,
+ hideLoader,
+ scale,
+ pageNum
+ } = el.dataset;
+
+ if(url == null) {
+ throw new Error('Cannot load PDF! Attribute `data-url` is not set.');
+ }
+
+ // props
+ this.url = url;
+ this.hidePaginator = hidePaginator !== 'false';
+ this.hideLoader = hideLoader !== 'false';
+ this.scale = scale || 3;
+
+ // initial state
+ this.pageNum = parseInt(pageNum ,10) || 1;
+ this.loaded = false;
+ this.pageRendering = false;
+ this.pageNumPending = null;
+
+ // DOM elements
+ this.$canvas = el.getElementsByClassName('pdf-canvas')[0];
+ if(this.$canvas == null) {
+ throw new Error('canvas element not found!');
+ };
+ this.$paginator = el.getElementsByClassName("paginator")[0];
+ this.$loadingWrapper = el.getElementsByClassName('loading-wrapper')[0];
+ this.$next = el.getElementsByClassName('next')[0];
+ this.$prev = el.getElementsByClassName('prev')[0];
+ this.$pageNum = el.getElementsByClassName('page-num')[0];
+ this.$pageCount = el.getElementsByClassName('page-count')[0];
+
+ // context
+ this.ctx = this.$canvas.getContext('2d');
+
+ // events
+ this.$next.addEventListener('click', this.handleNextPage.bind(this));
+ this.$prev.addEventListener('click', this.handlePrevPage.bind(this));
+
+ this.showPaginator();
+ this.showLoader();
+ this.loadPDF();
+ }
+
+ /**
+ * If we haven't disabled the loader, show loader and hide canvas
+ */
+ showLoader() {
+ if(this.hideLoader) return;
+ this.$loadingWrapper.style.display = 'flex';
+ this.$canvas.style.display = 'none';
+ }
+
+ /**
+ * If we haven't disabled the paginator, show paginator
+ */
+ showPaginator() {
+ if(this.hidePaginator) return;
+ this.$paginator.style.display = 'block';
+ }
+
+ /**
+ * Hides loader and shows canvas
+ */
+ showContent() {
+ this.$loadingWrapper.style.display = 'none';
+ this.$canvas.style.display = 'block';
+ }
+
+ /**
+ * Asynchronously downloads PDF.
+ */
+ async loadPDF() {
+ this.pdfDoc = await window.pdfjsLib.getDocument(this.url).promise;
+
+ this.$pageCount.textContent = this.pdfDoc.numPages;
+
+ // If the user passed in a number that is out of range, render the last page.
+ if(this.pageNum > this.pdfDoc.numPages) {
+ this.pageNum = this.pdfDoc.numPages
+ }
+
+ this.renderPage(this.pageNum);
+ }
+
+ /**
+ * Get page info from document, resize canvas accordingly, and render page.
+ * @param num Page number.
+ */
+ async renderPage(num) {
+ this.pageRendering = true;
+
+ const page = await this.pdfDoc.getPage(num);
+ const viewport = page.getViewport({ scale: this.scale });
+ this.$canvas.height = viewport.height;
+ this.$canvas.width = viewport.width;
+
+ // Wait for rendering to finish
+ await page.render({
+ canvasContext: this.ctx,
+ viewport,
+ }).promise;
+
+ this.pageRendering = false;
+ this.showContent();
+
+ if (this.pageNumPending !== null) {
+ // New page rendering is pending
+ this.renderPage(this.pageNumPending);
+ this.pageNumPending = null;
+ }
+ // Update page counters
+ this.$pageNum.textContent = num;
+ }
+
+ /**
+ * If another page rendering in progress, waits until the rendering is
+ * finished. Otherwise, executes rendering immediately.
+ */
+ queueRenderPage(num) {
+ if (this.pageRendering) {
+ this.pageNumPending = num;
+ } else {
+ this.renderPage(num);
+ }
+ }
+
+ /**
+ * Displays previous page.
+ */
+ handlePrevPage() {
+ if (this.pageNum <= 1) {
+ return;
+ }
+ this.pageNum--;
+ this.queueRenderPage(this.pageNum);
+ }
+
+ /**
+ * Displays next page.
+ */
+ handleNextPage() {
+ if (this.pageNum >= this.pdfDoc.numPages) {
+ return;
+ }
+ this.pageNum++;
+ this.queueRenderPage(this.pageNum);
+ }
+}
+
+insertScript('pdfjs', PDFJS_BUNDLE, () => {
+ window.pdfjsLib.GlobalWorkerOptions.workerSrc = WORKER_BUNDLE;
+
+ Array.from(document.getElementsByClassName('pdf-viewer')).forEach(el => {
+ console.log(el);
+ new PDFViewer(el);
+ });
+});
+
+
diff --git a/assets/scripts/features/index.js b/assets/scripts/features/index.js
index 781c066..19e7414 100644
--- a/assets/scripts/features/index.js
+++ b/assets/scripts/features/index.js
@@ -21,3 +21,7 @@ if (process.env.FEATURE_SYNTAXHIGHLIGHT) {
if (process.env.FEATURE_MATH) {
import('./math');
}
+
+if (process.env.FEATURE_EMBEDPDF) {
+ import('./embedpdf');
+}
diff --git a/layouts/shortcodes/embed-pdf.html b/layouts/shortcodes/embed-pdf.html
index 8a44695..2847a15 100755
--- a/layouts/shortcodes/embed-pdf.html
+++ b/layouts/shortcodes/embed-pdf.html
@@ -1,185 +1,32 @@
-
-
-
-
-
-
-
-
-
-
-
Page: /
+
-
-
-
-
-
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/loading-icon.gif b/static/js/pdf-js/web/images/loading-icon.gif
deleted file mode 100644
index 1c72ebb..0000000
Binary files a/static/js/pdf-js/web/images/loading-icon.gif and /dev/null differ
diff --git a/static/js/pdf-js/web/images/loading.svg b/static/js/pdf-js/web/images/loading.svg
deleted file mode 100644
index 0a15ff6..0000000
--- a/static/js/pdf-js/web/images/loading.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/secondaryToolbarButton-documentProperties.svg b/static/js/pdf-js/web/images/secondaryToolbarButton-documentProperties.svg
deleted file mode 100644
index 6bd55cd..0000000
--- a/static/js/pdf-js/web/images/secondaryToolbarButton-documentProperties.svg
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/secondaryToolbarButton-firstPage.svg b/static/js/pdf-js/web/images/secondaryToolbarButton-firstPage.svg
deleted file mode 100644
index 2fa0fa6..0000000
--- a/static/js/pdf-js/web/images/secondaryToolbarButton-firstPage.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/secondaryToolbarButton-handTool.svg b/static/js/pdf-js/web/images/secondaryToolbarButton-handTool.svg
deleted file mode 100644
index 3d038fa..0000000
--- a/static/js/pdf-js/web/images/secondaryToolbarButton-handTool.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/secondaryToolbarButton-lastPage.svg b/static/js/pdf-js/web/images/secondaryToolbarButton-lastPage.svg
deleted file mode 100644
index 53fa9a6..0000000
--- a/static/js/pdf-js/web/images/secondaryToolbarButton-lastPage.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/secondaryToolbarButton-rotateCcw.svg b/static/js/pdf-js/web/images/secondaryToolbarButton-rotateCcw.svg
deleted file mode 100644
index c71ea8e..0000000
--- a/static/js/pdf-js/web/images/secondaryToolbarButton-rotateCcw.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/secondaryToolbarButton-rotateCw.svg b/static/js/pdf-js/web/images/secondaryToolbarButton-rotateCw.svg
deleted file mode 100644
index e1e19e7..0000000
--- a/static/js/pdf-js/web/images/secondaryToolbarButton-rotateCw.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/secondaryToolbarButton-scrollHorizontal.svg b/static/js/pdf-js/web/images/secondaryToolbarButton-scrollHorizontal.svg
deleted file mode 100644
index 8693eec..0000000
--- a/static/js/pdf-js/web/images/secondaryToolbarButton-scrollHorizontal.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/secondaryToolbarButton-scrollPage.svg b/static/js/pdf-js/web/images/secondaryToolbarButton-scrollPage.svg
deleted file mode 100644
index bea2f0d..0000000
--- a/static/js/pdf-js/web/images/secondaryToolbarButton-scrollPage.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/secondaryToolbarButton-scrollVertical.svg b/static/js/pdf-js/web/images/secondaryToolbarButton-scrollVertical.svg
deleted file mode 100644
index ee1cf22..0000000
--- a/static/js/pdf-js/web/images/secondaryToolbarButton-scrollVertical.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/secondaryToolbarButton-scrollWrapped.svg b/static/js/pdf-js/web/images/secondaryToolbarButton-scrollWrapped.svg
deleted file mode 100644
index 804e746..0000000
--- a/static/js/pdf-js/web/images/secondaryToolbarButton-scrollWrapped.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/secondaryToolbarButton-selectTool.svg b/static/js/pdf-js/web/images/secondaryToolbarButton-selectTool.svg
deleted file mode 100644
index 43e9789..0000000
--- a/static/js/pdf-js/web/images/secondaryToolbarButton-selectTool.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/secondaryToolbarButton-spreadEven.svg b/static/js/pdf-js/web/images/secondaryToolbarButton-spreadEven.svg
deleted file mode 100644
index ddec5e6..0000000
--- a/static/js/pdf-js/web/images/secondaryToolbarButton-spreadEven.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/secondaryToolbarButton-spreadNone.svg b/static/js/pdf-js/web/images/secondaryToolbarButton-spreadNone.svg
deleted file mode 100644
index 63318c5..0000000
--- a/static/js/pdf-js/web/images/secondaryToolbarButton-spreadNone.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/secondaryToolbarButton-spreadOdd.svg b/static/js/pdf-js/web/images/secondaryToolbarButton-spreadOdd.svg
deleted file mode 100644
index 29909e9..0000000
--- a/static/js/pdf-js/web/images/secondaryToolbarButton-spreadOdd.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/shadow.png b/static/js/pdf-js/web/images/shadow.png
deleted file mode 100644
index a00061a..0000000
Binary files a/static/js/pdf-js/web/images/shadow.png and /dev/null differ
diff --git a/static/js/pdf-js/web/images/toolbarButton-bookmark.svg b/static/js/pdf-js/web/images/toolbarButton-bookmark.svg
deleted file mode 100644
index 79d39b0..0000000
--- a/static/js/pdf-js/web/images/toolbarButton-bookmark.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/toolbarButton-currentOutlineItem.svg b/static/js/pdf-js/web/images/toolbarButton-currentOutlineItem.svg
deleted file mode 100644
index c1c72b2..0000000
--- a/static/js/pdf-js/web/images/toolbarButton-currentOutlineItem.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/toolbarButton-download.svg b/static/js/pdf-js/web/images/toolbarButton-download.svg
deleted file mode 100644
index 2cdb5db..0000000
--- a/static/js/pdf-js/web/images/toolbarButton-download.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/toolbarButton-editorFreeText.svg b/static/js/pdf-js/web/images/toolbarButton-editorFreeText.svg
deleted file mode 100644
index f0f11b4..0000000
--- a/static/js/pdf-js/web/images/toolbarButton-editorFreeText.svg
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
diff --git a/static/js/pdf-js/web/images/toolbarButton-editorInk.svg b/static/js/pdf-js/web/images/toolbarButton-editorInk.svg
deleted file mode 100644
index 2b37e85..0000000
--- a/static/js/pdf-js/web/images/toolbarButton-editorInk.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
diff --git a/static/js/pdf-js/web/images/toolbarButton-menuArrow.svg b/static/js/pdf-js/web/images/toolbarButton-menuArrow.svg
deleted file mode 100644
index 46e41e1..0000000
--- a/static/js/pdf-js/web/images/toolbarButton-menuArrow.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/toolbarButton-openFile.svg b/static/js/pdf-js/web/images/toolbarButton-openFile.svg
deleted file mode 100644
index cb35980..0000000
--- a/static/js/pdf-js/web/images/toolbarButton-openFile.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/toolbarButton-pageDown.svg b/static/js/pdf-js/web/images/toolbarButton-pageDown.svg
deleted file mode 100644
index c5d8b0f..0000000
--- a/static/js/pdf-js/web/images/toolbarButton-pageDown.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/toolbarButton-pageUp.svg b/static/js/pdf-js/web/images/toolbarButton-pageUp.svg
deleted file mode 100644
index aa0160a..0000000
--- a/static/js/pdf-js/web/images/toolbarButton-pageUp.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/toolbarButton-presentationMode.svg b/static/js/pdf-js/web/images/toolbarButton-presentationMode.svg
deleted file mode 100644
index 3f1f832..0000000
--- a/static/js/pdf-js/web/images/toolbarButton-presentationMode.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/toolbarButton-print.svg b/static/js/pdf-js/web/images/toolbarButton-print.svg
deleted file mode 100644
index d521c9a..0000000
--- a/static/js/pdf-js/web/images/toolbarButton-print.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/toolbarButton-search.svg b/static/js/pdf-js/web/images/toolbarButton-search.svg
deleted file mode 100644
index 28b7774..0000000
--- a/static/js/pdf-js/web/images/toolbarButton-search.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/toolbarButton-secondaryToolbarToggle.svg b/static/js/pdf-js/web/images/toolbarButton-secondaryToolbarToggle.svg
deleted file mode 100644
index dbef238..0000000
--- a/static/js/pdf-js/web/images/toolbarButton-secondaryToolbarToggle.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/toolbarButton-sidebarToggle.svg b/static/js/pdf-js/web/images/toolbarButton-sidebarToggle.svg
deleted file mode 100644
index 691c41c..0000000
--- a/static/js/pdf-js/web/images/toolbarButton-sidebarToggle.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/toolbarButton-viewAttachments.svg b/static/js/pdf-js/web/images/toolbarButton-viewAttachments.svg
deleted file mode 100644
index e914ec0..0000000
--- a/static/js/pdf-js/web/images/toolbarButton-viewAttachments.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/toolbarButton-viewLayers.svg b/static/js/pdf-js/web/images/toolbarButton-viewLayers.svg
deleted file mode 100644
index e8687b7..0000000
--- a/static/js/pdf-js/web/images/toolbarButton-viewLayers.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/toolbarButton-viewOutline.svg b/static/js/pdf-js/web/images/toolbarButton-viewOutline.svg
deleted file mode 100644
index 030c28d..0000000
--- a/static/js/pdf-js/web/images/toolbarButton-viewOutline.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/toolbarButton-viewThumbnail.svg b/static/js/pdf-js/web/images/toolbarButton-viewThumbnail.svg
deleted file mode 100644
index b997ec4..0000000
--- a/static/js/pdf-js/web/images/toolbarButton-viewThumbnail.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/toolbarButton-zoomIn.svg b/static/js/pdf-js/web/images/toolbarButton-zoomIn.svg
deleted file mode 100644
index 480d2ce..0000000
--- a/static/js/pdf-js/web/images/toolbarButton-zoomIn.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/toolbarButton-zoomOut.svg b/static/js/pdf-js/web/images/toolbarButton-zoomOut.svg
deleted file mode 100644
index 527f521..0000000
--- a/static/js/pdf-js/web/images/toolbarButton-zoomOut.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/treeitem-collapsed.svg b/static/js/pdf-js/web/images/treeitem-collapsed.svg
deleted file mode 100644
index 831cddf..0000000
--- a/static/js/pdf-js/web/images/treeitem-collapsed.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/images/treeitem-expanded.svg b/static/js/pdf-js/web/images/treeitem-expanded.svg
deleted file mode 100644
index 2d45f0c..0000000
--- a/static/js/pdf-js/web/images/treeitem-expanded.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/pdf-js/web/locale/ach/viewer.properties b/static/js/pdf-js/web/locale/ach/viewer.properties
deleted file mode 100644
index 3a74d76..0000000
--- a/static/js/pdf-js/web/locale/ach/viewer.properties
+++ /dev/null
@@ -1,199 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pot buk mukato
-previous_label=Mukato
-next.title=Pot buk malubo
-next_label=Malubo
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pot buk
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=pi {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} me {{pagesCount}})
-
-zoom_out.title=Jwik Matidi
-zoom_out_label=Jwik Matidi
-zoom_in.title=Kwot Madit
-zoom_in_label=Kwot Madit
-zoom.title=Kwoti
-presentation_mode.title=Lokke i kit me tyer
-presentation_mode_label=Kit me tyer
-open_file.title=Yab Pwail
-open_file_label=Yab
-print.title=Go
-print_label=Go
-download.title=Gam
-download_label=Gam
-bookmark.title=Neno ma kombedi (lok onyo yab i dirica manyen)
-bookmark_label=Neno ma kombedi
-
-# Secondary toolbar and context menu
-tools.title=Gintic
-tools_label=Gintic
-first_page.title=Cit i pot buk mukwongo
-first_page_label=Cit i pot buk mukwongo
-last_page.title=Cit i pot buk magiko
-last_page_label=Cit i pot buk magiko
-page_rotate_cw.title=Wire i tung lacuc
-page_rotate_cw_label=Wire i tung lacuc
-page_rotate_ccw.title=Wire i tung lacam
-page_rotate_ccw_label=Wire i tung lacam
-
-cursor_text_select_tool.title=Cak gitic me yero coc
-cursor_text_select_tool_label=Gitic me yero coc
-cursor_hand_tool.title=Cak gitic me cing
-cursor_hand_tool_label=Gitic cing
-
-
-
-# Document properties dialog box
-document_properties.title=Jami me gin acoya…
-document_properties_label=Jami me gin acoya…
-document_properties_file_name=Nying pwail:
-document_properties_file_size=Dit pa pwail:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Wiye:
-document_properties_author=Ngat mucoyo:
-document_properties_subject=Subjek:
-document_properties_keywords=Lok mapire tek:
-document_properties_creation_date=Nino dwe me cwec:
-document_properties_modification_date=Nino dwe me yub:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Lacwec:
-document_properties_producer=Layub PDF:
-document_properties_version=Kit PDF:
-document_properties_page_count=Kwan me pot buk:
-document_properties_page_size=Dit pa potbuk:
-document_properties_page_size_unit_inches=i
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=atir
-document_properties_page_size_orientation_landscape=arii
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Waraga
-document_properties_page_size_name_legal=Cik
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized_yes=Eyo
-document_properties_linearized_no=Pe
-document_properties_close=Lor
-
-print_progress_message=Yubo coc me agoya…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Juki
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Lok gintic ma inget
-toggle_sidebar_label=Lok gintic ma inget
-document_outline.title=Nyut Wiyewiye me Gin acoya (dii-kiryo me yaro/kano jami weng)
-document_outline_label=Pek pa gin acoya
-attachments.title=Nyut twec
-attachments_label=Twec
-thumbs.title=Nyut cal
-thumbs_label=Cal
-findbar.title=Nong iye gin acoya
-findbar_label=Nong
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pot buk {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Cal me pot buk {{page}}
-
-# Find panel button title and messages
-find_input.title=Nong
-find_input.placeholder=Nong i dokumen…
-find_previous.title=Nong timme pa lok mukato
-find_previous_label=Mukato
-find_next.title=Nong timme pa lok malubo
-find_next_label=Malubo
-find_highlight=Wer weng
-find_match_case_label=Lok marwate
-find_reached_top=Oo iwi gin acoya, omede ki i tere
-find_reached_bottom=Oo i agiki me gin acoya, omede ki iwiye
-find_not_found=Lok pe ononge
-
-# Error panel labels
-error_more_info=Ngec Mukene
-error_less_info=Ngec Manok
-error_close=Lor
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Kwena: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Can kikore {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Pwail: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Rek: {{line}}
-rendering_error=Bal otime i kare me nyuto pot buk.
-
-# Predefined zoom values
-page_scale_width=Lac me iye pot buk
-page_scale_fit=Porre me pot buk
-page_scale_auto=Kwot pire kene
-page_scale_actual=Dite kikome
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=Bal otime kun cano PDF.
-invalid_file_error=Pwail me PDF ma pe atir onyo obale woko.
-missing_file_error=Pwail me PDF tye ka rem.
-unexpected_response_error=Lagam mape kigeno pa lapok tic.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Lok angea manok]
-password_label=Ket mung me donyo me yabo pwail me PDF man.
-password_invalid=Mung me donyo pe atir. Tim ber i tem doki.
-password_ok=OK
-password_cancel=Juki
-
-printing_not_supported=Ciko: Layeny ma pe teno goyo liweng.
-printing_not_ready=Ciko: PDF pe ocane weng me agoya.
-web_fonts_disabled=Kijuko dit pa coc me kakube woko: pe romo tic ki dit pa coc me PDF ma kiketo i kine.
diff --git a/static/js/pdf-js/web/locale/af/viewer.properties b/static/js/pdf-js/web/locale/af/viewer.properties
deleted file mode 100644
index 9bd5476..0000000
--- a/static/js/pdf-js/web/locale/af/viewer.properties
+++ /dev/null
@@ -1,176 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Vorige bladsy
-previous_label=Vorige
-next.title=Volgende bladsy
-next_label=Volgende
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Bladsy
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=van {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} van {{pagesCount}})
-
-zoom_out.title=Zoem uit
-zoom_out_label=Zoem uit
-zoom_in.title=Zoem in
-zoom_in_label=Zoem in
-zoom.title=Zoem
-presentation_mode.title=Wissel na voorleggingsmodus
-presentation_mode_label=Voorleggingsmodus
-open_file.title=Open lêer
-open_file_label=Open
-print.title=Druk
-print_label=Druk
-download.title=Laai af
-download_label=Laai af
-bookmark.title=Huidige aansig (kopieer of open in nuwe venster)
-bookmark_label=Huidige aansig
-
-# Secondary toolbar and context menu
-tools.title=Nutsgoed
-tools_label=Nutsgoed
-first_page.title=Gaan na eerste bladsy
-first_page_label=Gaan na eerste bladsy
-last_page.title=Gaan na laaste bladsy
-last_page_label=Gaan na laaste bladsy
-page_rotate_cw.title=Roteer kloksgewys
-page_rotate_cw_label=Roteer kloksgewys
-page_rotate_ccw.title=Roteer anti-kloksgewys
-page_rotate_ccw_label=Roteer anti-kloksgewys
-
-cursor_text_select_tool.title=Aktiveer gereedskap om teks te merk
-cursor_text_select_tool_label=Teksmerkgereedskap
-cursor_hand_tool.title=Aktiveer handjie
-cursor_hand_tool_label=Handjie
-
-# Document properties dialog box
-document_properties.title=Dokumenteienskappe…
-document_properties_label=Dokumenteienskappe…
-document_properties_file_name=Lêernaam:
-document_properties_file_size=Lêergrootte:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} kG ({{size_b}} grepe)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MG ({{size_b}} grepe)
-document_properties_title=Titel:
-document_properties_author=Outeur:
-document_properties_subject=Onderwerp:
-document_properties_keywords=Sleutelwoorde:
-document_properties_creation_date=Skeppingsdatum:
-document_properties_modification_date=Wysigingsdatum:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Skepper:
-document_properties_producer=PDF-vervaardiger:
-document_properties_version=PDF-weergawe:
-document_properties_page_count=Aantal bladsye:
-document_properties_close=Sluit
-
-print_progress_message=Berei tans dokument voor om te druk…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Kanselleer
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Sypaneel aan/af
-toggle_sidebar_label=Sypaneel aan/af
-document_outline.title=Wys dokumentskema (dubbelklik om alle items oop/toe te vou)
-document_outline_label=Dokumentoorsig
-attachments.title=Wys aanhegsels
-attachments_label=Aanhegsels
-thumbs.title=Wys duimnaels
-thumbs_label=Duimnaels
-findbar.title=Soek in dokument
-findbar_label=Vind
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Bladsy {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Duimnael van bladsy {{page}}
-
-# Find panel button title and messages
-find_input.title=Vind
-find_input.placeholder=Soek in dokument…
-find_previous.title=Vind die vorige voorkoms van die frase
-find_previous_label=Vorige
-find_next.title=Vind die volgende voorkoms van die frase
-find_next_label=Volgende
-find_highlight=Verlig almal
-find_match_case_label=Kassensitief
-find_reached_top=Bokant van dokument is bereik; gaan voort van onder af
-find_reached_bottom=Einde van dokument is bereik; gaan voort van bo af
-find_not_found=Frase nie gevind nie
-
-# Error panel labels
-error_more_info=Meer inligting
-error_less_info=Minder inligting
-error_close=Sluit
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (ID: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Boodskap: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stapel: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Lêer: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Lyn: {{line}}
-rendering_error='n Fout het voorgekom toe die bladsy weergegee is.
-
-# Predefined zoom values
-page_scale_width=Bladsywydte
-page_scale_fit=Pas bladsy
-page_scale_auto=Outomatiese zoem
-page_scale_actual=Werklike grootte
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error='n Fout het voorgekom met die laai van die PDF.
-invalid_file_error=Ongeldige of korrupte PDF-lêer.
-missing_file_error=PDF-lêer is weg.
-unexpected_response_error=Onverwagse antwoord van bediener.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}}-annotasie]
-password_label=Gee die wagwoord om dié PDF-lêer mee te open.
-password_invalid=Ongeldige wagwoord. Probeer gerus weer.
-password_ok=OK
-password_cancel=Kanselleer
-
-printing_not_supported=Waarskuwing: Dié blaaier ondersteun nie drukwerk ten volle nie.
-printing_not_ready=Waarskuwing: Die PDF is nog nie volledig gelaai vir drukwerk nie.
-web_fonts_disabled=Webfonte is gedeaktiveer: kan nie PDF-fonte wat ingebed is, gebruik nie.
diff --git a/static/js/pdf-js/web/locale/an/viewer.properties b/static/js/pdf-js/web/locale/an/viewer.properties
deleted file mode 100644
index 16028f3..0000000
--- a/static/js/pdf-js/web/locale/an/viewer.properties
+++ /dev/null
@@ -1,242 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pachina anterior
-previous_label=Anterior
-next.title=Pachina siguient
-next_label=Siguient
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pachina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Achiquir
-zoom_out_label=Achiquir
-zoom_in.title=Agrandir
-zoom_in_label=Agrandir
-zoom.title=Grandaria
-presentation_mode.title=Cambear t'o modo de presentación
-presentation_mode_label=Modo de presentación
-open_file.title=Ubrir o fichero
-open_file_label=Ubrir
-print.title=Imprentar
-print_label=Imprentar
-download.title=Descargar
-download_label=Descargar
-bookmark.title=Vista actual (copiar u ubrir en una nueva finestra)
-bookmark_label=Vista actual
-
-# Secondary toolbar and context menu
-tools.title=Ferramientas
-tools_label=Ferramientas
-first_page.title=Ir ta la primer pachina
-first_page_label=Ir ta la primer pachina
-last_page.title=Ir ta la zaguer pachina
-last_page_label=Ir ta la zaguer pachina
-page_rotate_cw.title=Chirar enta la dreita
-page_rotate_cw_label=Chira enta la dreita
-page_rotate_ccw.title=Chirar enta la zurda
-page_rotate_ccw_label=Chirar enta la zurda
-
-cursor_text_select_tool.title=Activar la ferramienta de selección de texto
-cursor_text_select_tool_label=Ferramienta de selección de texto
-cursor_hand_tool.title=Activar la ferramienta man
-cursor_hand_tool_label=Ferramienta man
-
-scroll_vertical.title=Usar lo desplazamiento vertical
-scroll_vertical_label=Desplazamiento vertical
-scroll_horizontal.title=Usar lo desplazamiento horizontal
-scroll_horizontal_label=Desplazamiento horizontal
-scroll_wrapped.title=Activaar lo desplazamiento contino
-scroll_wrapped_label=Desplazamiento contino
-
-spread_none.title=No unir vistas de pachinas
-spread_none_label=Una pachina nomás
-spread_odd.title=Mostrar vista de pachinas, con as impars a la zurda
-spread_odd_label=Doble pachina, impar a la zurda
-spread_even.title=Amostrar vista de pachinas, con as pars a la zurda
-spread_even_label=Doble pachina, para a la zurda
-
-# Document properties dialog box
-document_properties.title=Propiedatz d'o documento...
-document_properties_label=Propiedatz d'o documento...
-document_properties_file_name=Nombre de fichero:
-document_properties_file_size=Grandaria d'o fichero:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Titol:
-document_properties_author=Autor:
-document_properties_subject=Afer:
-document_properties_keywords=Parolas clau:
-document_properties_creation_date=Calendata de creyación:
-document_properties_modification_date=Calendata de modificación:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creyador:
-document_properties_producer=Creyador de PDF:
-document_properties_version=Versión de PDF:
-document_properties_page_count=Numero de pachinas:
-document_properties_page_size=Mida de pachina:
-document_properties_page_size_unit_inches=pulgadas
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=vertical
-document_properties_page_size_orientation_landscape=horizontal
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Carta
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} x {{height}} {{unit}} {{orientation}}
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} x {{height}} {{unit}} {{name}}, {{orientation}}
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista web rapida:
-document_properties_linearized_yes=SÃ
-document_properties_linearized_no=No
-document_properties_close=Zarrar
-
-print_progress_message=Se ye preparando la documentación pa imprentar…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancelar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Amostrar u amagar a barra lateral
-toggle_sidebar_notification2.title=Cambiar barra lateral (lo documento contiene esquema/adchuntos/capas)
-toggle_sidebar_label=Amostrar a barra lateral
-document_outline.title=Amostrar esquema d'o documento (fer doble clic pa expandir/compactar totz los items)
-document_outline_label=Esquema d'o documento
-attachments.title=Amostrar os adchuntos
-attachments_label=Adchuntos
-layers.title=Amostrar capas (doble clic para reiniciar totas las capas a lo estau per defecto)
-layers_label=Capas
-thumbs.title=Amostrar as miniaturas
-thumbs_label=Miniaturas
-findbar.title=Trobar en o documento
-findbar_label=Trobar
-
-additional_layers=Capas adicionals
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pachina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura d'a pachina {{page}}
-
-# Find panel button title and messages
-find_input.title=Trobar
-find_input.placeholder=Trobar en o documento…
-find_previous.title=Trobar l'anterior coincidencia d'a frase
-find_previous_label=Anterior
-find_next.title=Trobar a siguient coincidencia d'a frase
-find_next_label=Siguient
-find_highlight=Resaltar-lo tot
-find_match_case_label=Coincidencia de mayusclas/minusclas
-find_entire_word_label=Parolas completas
-find_reached_top=S'ha plegau a l'inicio d'o documento, se contina dende baixo
-find_reached_bottom=S'ha plegau a la fin d'o documento, se contina dende alto
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} de {{total}} coincidencia
-find_match_count[two]={{current}} de {{total}} coincidencias
-find_match_count[few]={{current}} de {{total}} coincidencias
-find_match_count[many]={{current}} de {{total}} coincidencias
-find_match_count[other]={{current}} de {{total}} coincidencias
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Mas de {{limit}} coincidencias
-find_match_count_limit[one]=Mas de {{limit}} coincidencias
-find_match_count_limit[two]=Mas que {{limit}} coincidencias
-find_match_count_limit[few]=Mas que {{limit}} coincidencias
-find_match_count_limit[many]=Mas que {{limit}} coincidencias
-find_match_count_limit[other]=Mas que {{limit}} coincidencias
-find_not_found=No s'ha trobau a frase
-
-# Error panel labels
-error_more_info=Mas información
-error_less_info=Menos información
-error_close=Zarrar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mensache: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fichero: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linia: {{line}}
-rendering_error=Ha ocurriu una error en renderizar a pachina.
-
-# Predefined zoom values
-page_scale_width=Amplaria d'a pachina
-page_scale_fit=Achuste d'a pachina
-page_scale_auto=Grandaria automatica
-page_scale_actual=Grandaria actual
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=S'ha produciu una error en cargar o PDF.
-invalid_file_error=O PDF no ye valido u ye estorbau.
-missing_file_error=No i ha fichero PDF.
-unexpected_response_error=Respuesta a lo servicio inasperada.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotación {{type}}]
-password_label=Introduzca a clau ta ubrir iste fichero PDF.
-password_invalid=Clau invalida. Torna a intentar-lo.
-password_ok=Acceptar
-password_cancel=Cancelar
-
-printing_not_supported=Pare cuenta: Iste navegador no maneya totalment as impresions.
-printing_not_ready=Aviso: Encara no se ha cargau completament o PDF ta imprentar-lo.
-web_fonts_disabled=As fuents web son desactivadas: no se puet incrustar fichers PDF.
diff --git a/static/js/pdf-js/web/locale/ar/viewer.properties b/static/js/pdf-js/web/locale/ar/viewer.properties
deleted file mode 100644
index 082816f..0000000
--- a/static/js/pdf-js/web/locale/ar/viewer.properties
+++ /dev/null
@@ -1,246 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Ø§Ù„ØµÙØØ© السابقة
-previous_label=السابقة
-next.title=Ø§Ù„ØµÙØØ© التالية
-next_label=التالية
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=ØµÙØØ©
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=من {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} من {{pagesCount}})
-
-zoom_out.title=بعّد
-zoom_out_label=بعّد
-zoom_in.title=قرّب
-zoom_in_label=قرّب
-zoom.title=التقريب
-presentation_mode.title=انتقل لوضع العرض التقديمي
-presentation_mode_label=وضع العرض التقديمي
-open_file.title=Ø§ÙØªØ ملÙًا
-open_file_label=Ø§ÙØªØ
-print.title=اطبع
-print_label=اطبع
-download.title=نزّل
-download_label=نزّل
-bookmark.title=المنظور Ø§Ù„ØØ§Ù„ÙŠ (انسخ أو Ø§ÙØªØ ÙÙŠ Ù†Ø§ÙØ°Ø© جديدة)
-bookmark_label=المنظور Ø§Ù„ØØ§Ù„ÙŠ
-
-# Secondary toolbar and context menu
-tools.title=الأدوات
-tools_label=الأدوات
-first_page.title=انتقل إلى Ø§Ù„ØµÙØØ© الأولى
-first_page_label=انتقل إلى Ø§Ù„ØµÙØØ© الأولى
-last_page.title=انتقل إلى Ø§Ù„ØµÙØØ© الأخيرة
-last_page_label=انتقل إلى Ø§Ù„ØµÙØØ© الأخيرة
-page_rotate_cw.title=أدر باتجاه عقارب الساعة
-page_rotate_cw_label=أدر باتجاه عقارب الساعة
-page_rotate_ccw.title=أدر بعكس اتجاه عقارب الساعة
-page_rotate_ccw_label=أدر بعكس اتجاه عقارب الساعة
-
-cursor_text_select_tool.title=ÙØ¹Ù‘Ù„ أداة اختيار النص
-cursor_text_select_tool_label=أداة اختيار النص
-cursor_hand_tool.title=ÙØ¹Ù‘Ù„ أداة اليد
-cursor_hand_tool_label=أداة اليد
-
-scroll_vertical.title=استخدم التمرير الرأسي
-scroll_vertical_label=التمرير الرأسي
-scroll_horizontal.title=استخدم التمرير الأÙقي
-scroll_horizontal_label=التمرير الأÙقي
-scroll_wrapped.title=استخدم التمرير الملتÙ
-scroll_wrapped_label=التمرير الملتÙ
-
-spread_none.title=لا تدمج هوامش Ø§Ù„ØµÙØØ§Øª مع بعضها البعض
-spread_none_label=بلا هوامش
-spread_odd.title=ادمج هوامش Ø§Ù„ØµÙØØ§Øª Ø§Ù„ÙØ±Ø¯ÙŠØ©
-spread_odd_label=هوامش Ø§Ù„ØµÙØØ§Øª Ø§Ù„ÙØ±Ø¯ÙŠØ©
-spread_even.title=ادمج هوامش Ø§Ù„ØµÙØØ§Øª الزوجية
-spread_even_label=هوامش Ø§Ù„ØµÙØØ§Øª الزوجية
-
-# Document properties dialog box
-document_properties.title=خصائص المستند…
-document_properties_label=خصائص المستند…
-document_properties_file_name=اسم الملÙ:
-document_properties_file_size=ØØ¬Ù… الملÙ:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} ك.بايت ({{size_b}} بايت)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} م.بايت ({{size_b}} بايت)
-document_properties_title=العنوان:
-document_properties_author=المؤلÙ:
-document_properties_subject=الموضوع:
-document_properties_keywords=الكلمات الأساسية:
-document_properties_creation_date=تاريخ الإنشاء:
-document_properties_modification_date=تاريخ التعديل:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}، {{time}}
-document_properties_creator=المنشئ:
-document_properties_producer=منتج PDF:
-document_properties_version=إصدارة PDF:
-document_properties_page_count=عدد Ø§Ù„ØµÙØØ§Øª:
-document_properties_page_size=مقاس الورقة:
-document_properties_page_size_unit_inches=بوصة
-document_properties_page_size_unit_millimeters=ملم
-document_properties_page_size_orientation_portrait=طوليّ
-document_properties_page_size_orientation_landscape=عرضيّ
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=خطاب
-document_properties_page_size_name_legal=قانونيّ
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string=â€{{width}} × â€{{height}} â€{{unit}} (â€{{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string=â€{{width}} × â€{{height}} â€{{unit}} (â€{{name}}ØŒ {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=العرض السريع عبر Ø§Ù„ÙˆÙØ¨:
-document_properties_linearized_yes=نعم
-document_properties_linearized_no=لا
-document_properties_close=أغلق
-
-print_progress_message=ÙŠÙØØ¶Ù‘Ø± المستند للطباعة…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}Ùª
-print_progress_close=ألغÙ
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=بدّل ظهور الشريط الجانبي
-toggle_sidebar_notification2.title=بدّل ظهور الشريط الجانبي (ÙŠØØªÙˆÙŠ Ø§Ù„Ù…Ø³ØªÙ†Ø¯ على مخطط أو مرÙقات أو طبقات)
-toggle_sidebar_label=بدّل ظهور الشريط الجانبي
-document_outline.title=اعرض Ùهرس المستند (نقر مزدوج لتمديد أو تقليص كل العناصر)
-document_outline_label=مخطط المستند
-attachments.title=اعرض المرÙقات
-attachments_label=Ø§Ù„Ù…ÙØ±Ùقات
-layers.title=اعرض الطبقات (انقر مرتين لتصÙير كل الطبقات إلى Ø§Ù„ØØ§Ù„Ø© المبدئية)
-layers_label=â€â€Ø§Ù„طبقات
-thumbs.title=اعرض Ù…ÙØµØºØ±Ø§Øª
-thumbs_label=Ù…ÙØµØºÙ‘رات
-findbar.title=Ø§Ø¨ØØ« ÙÙŠ المستند
-findbar_label=Ø§Ø¨ØØ«
-
-additional_layers=الطبقات الإضاÙية
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=ØµÙØØ© {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=ØµÙØØ© {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=مصغّرة ØµÙØØ© {{page}}
-
-# Find panel button title and messages
-find_input.title=Ø§Ø¨ØØ«
-find_input.placeholder=Ø§Ø¨ØØ« ÙÙŠ المستند…
-find_previous.title=Ø§Ø¨ØØ« عن التّواجد السّابق للعبارة
-find_previous_label=السابق
-find_next.title=Ø§Ø¨ØØ« عن التّواجد التّالي للعبارة
-find_next_label=التالي
-find_highlight=Ø£Ø¨Ø±ÙØ² الكل
-find_match_case_label=طابق ØØ§Ù„Ø© Ø§Ù„Ø£ØØ±Ù
-find_entire_word_label=كلمات كاملة
-find_reached_top=تابعت من الأسÙÙ„ بعدما وصلت إلى بداية المستند
-find_reached_bottom=تابعت من الأعلى بعدما وصلت إلى نهاية المستند
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} من أصل مطابقة ÙˆØ§ØØ¯Ø©
-find_match_count[two]={{current}} من أصل مطابقتين
-find_match_count[few]={{current}} من أصل {{total}} مطابقات
-find_match_count[many]={{current}} من أصل {{total}} مطابقة
-find_match_count[other]={{current}} من أصل {{total}} مطابقة
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Ùقط
-find_match_count_limit[one]=أكثر من مطابقة ÙˆØ§ØØ¯Ø©
-find_match_count_limit[two]=أكثر من مطابقتين
-find_match_count_limit[few]=أكثر من {{limit}} مطابقات
-find_match_count_limit[many]=أكثر من {{limit}} مطابقة
-find_match_count_limit[other]=أكثر من {{limit}} مطابقة
-find_not_found=لا وجود للعبارة
-
-# Error panel labels
-error_more_info=معلومات أكثر
-error_less_info=معلومات أقل
-error_close=أغلق
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=â€PDF.js Ù†{{version}} â€(بناء: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=الرسالة: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=الرصّة: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=الملÙ: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=السطر: {{line}}
-rendering_error=ØØ¯Ø« خطأ أثناء عرض Ø§Ù„ØµÙØØ©.
-
-# Predefined zoom values
-page_scale_width=عرض Ø§Ù„ØµÙØØ©
-page_scale_fit=ملائمة Ø§Ù„ØµÙØØ©
-page_scale_auto=تقريب تلقائي
-page_scale_actual=Ø§Ù„ØØ¬Ù… Ø§Ù„ÙØ¹Ù„ÙŠ
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}Ùª
-
-# Loading indicator messages
-loading=ÙŠØÙ…ّل…
-loading_error=ØØ¯Ø« عطل أثناء تØÙ…يل مل٠PDF.
-invalid_file_error=مل٠PDF تال٠أو غير صØÙŠØ.
-missing_file_error=مل٠PDF غير موجود.
-unexpected_response_error=استجابة خادوم غير متوقعة.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}، {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[تعليق {{type}}]
-password_label=أدخل لكلمة السر Ù„ÙØªØ هذا الملÙ.
-password_invalid=كلمة سر خطأ. من ÙØ¶Ù„Ùƒ أعد Ø§Ù„Ù…ØØ§ÙˆÙ„Ø©.
-password_ok=ØØ³Ù†Ø§
-password_cancel=ألغÙ
-
-printing_not_supported=ØªØØ°ÙŠØ±: لا يدعم هذا Ø§Ù„Ù…ØªØµÙØ الطباعة بشكل كامل.
-printing_not_ready=ØªØØ°ÙŠØ±: مل٠PDF لم ÙŠÙØÙ…Ù‘Ù„ كاملًا للطباعة.
-web_fonts_disabled=خطوط الوب Ù…ÙØ¹Ø·Ù‘لة: تعذّر استخدام خطوط PDF Ø§Ù„Ù…ÙØ¶Ù…ّنة.
diff --git a/static/js/pdf-js/web/locale/ast/viewer.properties b/static/js/pdf-js/web/locale/ast/viewer.properties
deleted file mode 100644
index 1f8bb2e..0000000
--- a/static/js/pdf-js/web/locale/ast/viewer.properties
+++ /dev/null
@@ -1,207 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Páxina anterior
-previous_label=Anterior
-next.title=Páxina siguiente
-next_label=Siguiente
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Páxina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Alloñar
-zoom_out_label=Alloña
-zoom_in.title=Averar
-zoom_in_label=Avera
-zoom.title=Zoom
-presentation_mode.title=Cambiar al mou de presentación
-presentation_mode_label=Mou de presentación
-open_file_label=Abrir
-print.title=Imprentar
-print_label=Imprentar
-download.title=Baxar
-download_label=Baxar
-bookmark_label=Vista actual
-
-# Secondary toolbar and context menu
-tools.title=Ferramientes
-tools_label=Ferramientes
-first_page_label=Dir a la primer páxina
-last_page_label=Dir a la última páxina
-page_rotate_cw.title=Voltia a la derecha
-page_rotate_cw_label=Voltiar a la derecha
-page_rotate_ccw.title=Voltia a la esquierda
-page_rotate_ccw_label=Voltiar a la esquierda
-
-cursor_text_select_tool.title=Activa la ferramienta d'esbilla de testu
-cursor_text_select_tool_label=Ferramienta d'esbilla de testu
-cursor_hand_tool.title=Activa la ferramienta de mano
-cursor_hand_tool_label=Ferramienta de mano
-
-scroll_vertical.title=Usa'l desplazamientu vertical
-scroll_vertical_label=Desplazamientu vertical
-scroll_horizontal.title=Usa'l desplazamientu horizontal
-scroll_horizontal_label=Desplazamientu horizontal
-scroll_wrapped.title=Usa'l desplazamientu continuu
-scroll_wrapped_label=Desplazamientu continuu
-
-spread_none_label=Fueyes individuales
-spread_odd_label=Fueyes pares
-spread_even_label=Fueyes impares
-
-# Document properties dialog box
-document_properties.title=Propiedaes del documentu…
-document_properties_label=Propiedaes del documentu…
-document_properties_file_name=Nome del ficheru:
-document_properties_file_size=Tamañu del ficheru:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=TÃtulu:
-document_properties_keywords=Pallabres clave:
-document_properties_creation_date=Data de creación:
-document_properties_modification_date=Data de modificación:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_producer=Productor del PDF:
-document_properties_version=Versión del PDF:
-document_properties_page_count=Númberu de páxines:
-document_properties_page_size=Tamañu de páxina:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=vertical
-document_properties_page_size_orientation_landscape=horizontal
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista web rápida:
-document_properties_linearized_yes=SÃ
-document_properties_linearized_no=Non
-document_properties_close=Zarrar
-
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Encaboxar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Alternar la barra llateral
-attachments.title=Amosar los axuntos
-attachments_label=Axuntos
-layers_label=Capes
-thumbs.title=Amosar les miniatures
-thumbs_label=Miniatures
-findbar_label=Atopar
-
-additional_layers=Capes adicionales
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Páxina {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Páxina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-
-# Find panel button title and messages
-find_previous_label=Anterior
-find_next_label=Siguiente
-find_entire_word_label=Pallabres completes
-find_reached_top=Algamóse'l comienzu de la páxina, sÃguese dende abaxo
-find_reached_bottom=Algamóse la fin del documentu, sÃguese dende arriba
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count[one]={{current}} de {{total}} coincidencia
-find_match_count[two]={{current}} de {{total}} coincidencies
-find_match_count[few]={{current}} de {{total}} coincidencies
-find_match_count[many]={{current}} de {{total}} coincidencies
-find_match_count[other]={{current}} de {{total}} coincidencies
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit[zero]=Más de {{limit}} coincidencies
-find_match_count_limit[one]=Más de {{limit}} coincidencia
-find_match_count_limit[two]=Más de {{limit}} coincidencies
-find_match_count_limit[few]=Más de {{limit}} coincidencies
-find_match_count_limit[many]=Más de {{limit}} coincidencies
-find_match_count_limit[other]=Más de {{limit}} coincidencies
-
-# Error panel labels
-error_more_info=Más información
-error_less_info=Menos información
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (compilación: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mensaxe: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Ficheru: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Llinia: {{line}}
-
-# Predefined zoom values
-page_scale_auto=Zoom automáticu
-page_scale_actual=Tamañu real
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Cargando…
-loading_error=Asocedió un fallu mentanto se cargaba'l PDF.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-password_ok=Aceptar
-password_cancel=Encaboxar
-
-# LOCALIZATION NOTE (unsupported_feature_signatures): Should contain the same
-# exact string as in the `chrome.properties` file.
-
diff --git a/static/js/pdf-js/web/locale/az/viewer.properties b/static/js/pdf-js/web/locale/az/viewer.properties
deleted file mode 100644
index bdc0ce6..0000000
--- a/static/js/pdf-js/web/locale/az/viewer.properties
+++ /dev/null
@@ -1,242 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=ÆvvÉ™lki sÉ™hifÉ™
-previous_label=ÆvvÉ™lkini tap
-next.title=Növbəti səhifə
-next_label=İrəli
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Səhifə
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=/ {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} / {{pagesCount}})
-
-zoom_out.title=UzaqlaÅŸ
-zoom_out_label=UzaqlaÅŸ
-zoom_in.title=Yaxınlaş
-zoom_in_label=Yaxınlaş
-zoom.title=Yaxınlaşdırma
-presentation_mode.title=Təqdimat Rejiminə Keç
-presentation_mode_label=Təqdimat Rejimi
-open_file.title=Fayl Aç
-open_file_label=Aç
-print.title=Yazdır
-print_label=Yazdır
-download.title=Endir
-download_label=Endir
-bookmark.title=Hazırkı görünüş (köçür və ya yeni pəncərədə aç)
-bookmark_label=Hazırkı görünüş
-
-# Secondary toolbar and context menu
-tools.title=Alətlər
-tools_label=Alətlər
-first_page.title=İlk Səhifəyə get
-first_page_label=İlk Səhifəyə get
-last_page.title=Son Səhifəyə get
-last_page_label=Son Səhifəyə get
-page_rotate_cw.title=Saat İstiqamətində Fırlat
-page_rotate_cw_label=Saat İstiqamətində Fırlat
-page_rotate_ccw.title=Saat İstiqamÉ™tinin ÆksinÉ™ Fırlat
-page_rotate_ccw_label=Saat İstiqamÉ™tinin ÆksinÉ™ Fırlat
-
-cursor_text_select_tool.title=Yazı seçmə alətini aktivləşdir
-cursor_text_select_tool_label=Yazı seçmə aləti
-cursor_hand_tool.title=Æl alÉ™tini aktivləşdir
-cursor_hand_tool_label=Æl alÉ™ti
-
-scroll_vertical.title=Şaquli sürüşdürmə işlət
-scroll_vertical_label=Şaquli sürüşdürmə
-scroll_horizontal.title=Üfüqi sürüşdürmə işlət
-scroll_horizontal_label=Üfüqi sürüşdürmə
-scroll_wrapped.title=Bükülü sürüşdürmə işlət
-scroll_wrapped_label=Bükülü sürüşdürmə
-
-spread_none.title=Yan-yana birləşdirilmiş səhifələri işlətmə
-spread_none_label=Birləşdirmə
-spread_odd.title=Yan-yana birləşdirilmiş səhifələri tək nömrəli səhifələrdən başlat
-spread_odd_label=Tək nömrəli
-spread_even.title=Yan-yana birləşdirilmiş səhifələri cüt nömrəli səhifələrdən başlat
-spread_even_label=Cüt nömrəli
-
-# Document properties dialog box
-document_properties.title=Sənəd xüsusiyyətləri…
-document_properties_label=Sənəd xüsusiyyətləri…
-document_properties_file_name=Fayl adı:
-document_properties_file_size=Fayl ölçüsü:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bayt)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bayt)
-document_properties_title=Başlık:
-document_properties_author=Müəllif:
-document_properties_subject=Mövzu:
-document_properties_keywords=Açar sözlər:
-document_properties_creation_date=Yaradılış Tarixi :
-document_properties_modification_date=Dəyişdirilmə Tarixi :
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Yaradan:
-document_properties_producer=PDF yaradıcısı:
-document_properties_version=PDF versiyası:
-document_properties_page_count=Səhifə sayı:
-document_properties_page_size=Səhifə Ölçüsü:
-document_properties_page_size_unit_inches=inç
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portret
-document_properties_page_size_orientation_landscape=albom
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Məktub
-document_properties_page_size_name_legal=Hüquqi
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=Bəli
-document_properties_linearized_no=Xeyr
-document_properties_close=Qapat
-
-print_progress_message=Sənəd çap üçün hazırlanır…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Ləğv et
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Yan Paneli Aç/Bağla
-toggle_sidebar_notification2.title=Yan paneli çevir (sənəddə icmal/bağlamalar/laylar mövcuddur)
-toggle_sidebar_label=Yan Paneli Aç/Bağla
-document_outline.title=Sənədin eskizini göstər (bütün bəndləri açmaq/yığmaq üçün iki dəfə klikləyin)
-document_outline_label=Sənəd strukturu
-attachments.title=Bağlamaları göstər
-attachments_label=BaÄŸlamalar
-layers.title=Layları göstər (bütün layları ilkin halına sıfırlamaq üçün iki dəfə klikləyin)
-layers_label=Laylar
-thumbs.title=Kiçik şəkilləri göstər
-thumbs_label=Kiçik şəkillər
-findbar.title=Sənəddə Tap
-findbar_label=Tap
-
-additional_layers=ÆlavÉ™ laylar
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Səhifə{{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} səhifəsinin kiçik vəziyyəti
-
-# Find panel button title and messages
-find_input.title=Tap
-find_input.placeholder=Sənəddə tap…
-find_previous.title=Bir öncəki uyğun gələn sözü tapır
-find_previous_label=Geri
-find_next.title=Bir sonrakı uyğun gələn sözü tapır
-find_next_label=İrəli
-find_highlight=İşarələ
-find_match_case_label=Böyük/kiçik hərfə həssaslıq
-find_entire_word_label=Tam sözlər
-find_reached_top=Sənədin yuxarısına çatdı, aşağıdan davam edir
-find_reached_bottom=Sənədin sonuna çatdı, yuxarıdan davam edir
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} / {{total}} uyÄŸunluq
-find_match_count[two]={{current}} / {{total}} uyÄŸunluq
-find_match_count[few]={{current}} / {{total}} uyÄŸunluq
-find_match_count[many]={{current}} / {{total}} uyÄŸunluq
-find_match_count[other]={{current}} / {{total}} uyÄŸunluq
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}}-dan çox uyğunluq
-find_match_count_limit[one]={{limit}}-dən çox uyğunluq
-find_match_count_limit[two]={{limit}}-dən çox uyğunluq
-find_match_count_limit[few]={{limit}} uyğunluqdan daha çox
-find_match_count_limit[many]={{limit}} uyğunluqdan daha çox
-find_match_count_limit[other]={{limit}} uyğunluqdan daha çox
-find_not_found=Uyğunlaşma tapılmadı
-
-# Error panel labels
-error_more_info=Daha çox məlumati
-error_less_info=Daha az məlumat
-error_close=Qapat
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (yığma: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=İsmarıc: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stek: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fayl: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Sətir: {{line}}
-rendering_error=Səhifə göstərilərkən səhv yarandı.
-
-# Predefined zoom values
-page_scale_width=Səhifə genişliyi
-page_scale_fit=Səhifəni sığdır
-page_scale_auto=Avtomatik yaxınlaşdır
-page_scale_actual=Hazırkı Həcm
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=PDF yüklenərkən bir səhv yarandı.
-invalid_file_error=Səhv və ya zədələnmiş olmuş PDF fayl.
-missing_file_error=PDF fayl yoxdur.
-unexpected_response_error=Gözlənilməz server cavabı.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotasiyası]
-password_label=Bu PDF faylı açmaq üçün parolu daxil edin.
-password_invalid=Parol səhvdir. Bir daha yoxlayın.
-password_ok=Tamam
-password_cancel=Ləğv et
-
-printing_not_supported=Xəbərdarlıq: Çap bu səyyah tərəfindən tam olaraq dəstəklənmir.
-printing_not_ready=Xəbərdarlıq: PDF çap üçün tam yüklənməyib.
-web_fonts_disabled=Web Şriftlər söndürülüb: yerləşdirilmiş PDF şriftlərini istifadə etmək mümkün deyil.
diff --git a/static/js/pdf-js/web/locale/be/viewer.properties b/static/js/pdf-js/web/locale/be/viewer.properties
deleted file mode 100644
index 5c006b9..0000000
--- a/static/js/pdf-js/web/locale/be/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=ПапÑÑ€ÑднÑÑ Ñтаронка
-previous_label=ПапÑÑ€ÑднÑÑ
-next.title=ÐаÑÑ‚ÑƒÐ¿Ð½Ð°Ñ Ñтаронка
-next_label=ÐаÑтупнаÑ
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Старонка
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=з {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} з {{pagesCount}})
-
-zoom_out.title=Паменшыць
-zoom_out_label=Паменшыць
-zoom_in.title=ПавÑлічыць
-zoom_in_label=ПавÑлічыць
-zoom.title=ПавÑлічÑнне Ñ‚ÑкÑту
-presentation_mode.title=Пераключыцца Ñž Ñ€Ñжым паказу
-presentation_mode_label=Ð Ñжым паказу
-open_file.title=Ðдкрыць файл
-open_file_label=Ðдкрыць
-print.title=Друкаваць
-print_label=Друкаваць
-download.title=СцÑгнуць
-download_label=СцÑгнуць
-bookmark.title=ЦÑперашнÑÑ Ð¿Ñ€Ð°Ñва (ÑкапіÑваць або адчыніць у новым акне)
-bookmark_label=ЦÑперашнÑÑ Ð¿Ñ€Ð°Ñва
-
-# Secondary toolbar and context menu
-tools.title=Прылады
-tools_label=Прылады
-first_page.title=ПерайÑці на першую Ñтаронку
-first_page_label=ПерайÑці на першую Ñтаронку
-last_page.title=ПерайÑці на апошнюю Ñтаронку
-last_page_label=ПерайÑці на апошнюю Ñтаронку
-page_rotate_cw.title=ПавÑрнуць па Ñонцу
-page_rotate_cw_label=ПавÑрнуць па Ñонцу
-page_rotate_ccw.title=ПавÑрнуць Ñупраць Ñонца
-page_rotate_ccw_label=ПавÑрнуць Ñупраць Ñонца
-
-cursor_text_select_tool.title=Уключыць прыладу выбару Ñ‚ÑкÑту
-cursor_text_select_tool_label=Прылада выбару Ñ‚ÑкÑту
-cursor_hand_tool.title=Уключыць ручную прыладу
-cursor_hand_tool_label=Ð ÑƒÑ‡Ð½Ð°Ñ Ð¿Ñ€Ñ‹Ð»Ð°Ð´Ð°
-
-scroll_page.title=ВыкарыÑтоўваць пракрутку Ñтаронкi
-scroll_page_label=Пракрутка Ñтаронкi
-scroll_vertical.title=Ужываць вертыкальную пракрутку
-scroll_vertical_label=Ð’ÐµÑ€Ñ‚Ñ‹ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð°ÐºÑ€ÑƒÑ‚ÐºÐ°
-scroll_horizontal.title=Ужываць гарызантальную пракрутку
-scroll_horizontal_label=Ð“Ð°Ñ€Ñ‹Ð·Ð°Ð½Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð°ÐºÑ€ÑƒÑ‚ÐºÐ°
-scroll_wrapped.title=Ужываць маштабавальную пракрутку
-scroll_wrapped_label=ÐœÐ°ÑˆÑ‚Ð°Ð±Ð°Ð²Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð°ÐºÑ€ÑƒÑ‚ÐºÐ°
-
-spread_none.title=Ðе выкарыÑтоўваць Ñ€Ð°Ð·Ð³Ð¾Ñ€Ð½ÑƒÑ‚Ñ‹Ñ Ñтаронкі
-spread_none_label=Без разгорнутых Ñтаронак
-spread_odd.title=Ð Ð°Ð·Ð³Ð¾Ñ€Ð½ÑƒÑ‚Ñ‹Ñ Ñтаронкі пачынаючы з нÑцотных нумароў
-spread_odd_label=ÐÑÑ†Ð¾Ñ‚Ð½Ñ‹Ñ Ñтаронкі злева
-spread_even.title=Ð Ð°Ð·Ð³Ð¾Ñ€Ð½ÑƒÑ‚Ñ‹Ñ Ñтаронкі пачынаючы з цотных нумароў
-spread_even_label=Ð¦Ð¾Ñ‚Ð½Ñ‹Ñ Ñтаронкі злева
-
-# Document properties dialog box
-document_properties.title=УлаÑціваÑці дакумента…
-document_properties_label=УлаÑціваÑці дакумента…
-document_properties_file_name=Ðазва файла:
-document_properties_file_size=Памер файла:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} КБ ({{size_b}} байт)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} МБ ({{size_b}} байт)
-document_properties_title=Загаловак:
-document_properties_author=Ðўтар:
-document_properties_subject=ТÑма:
-document_properties_keywords=ÐšÐ»ÑŽÑ‡Ð°Ð²Ñ‹Ñ Ñловы:
-document_properties_creation_date=Дата ÑтварÑннÑ:
-document_properties_modification_date=Дата змÑненнÑ:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Стваральнік:
-document_properties_producer=Вырабнік PDF:
-document_properties_version=ВерÑÑ–Ñ PDF:
-document_properties_page_count=КолькаÑць Ñтаронак:
-document_properties_page_size=Памер Ñтаронкі:
-document_properties_page_size_unit_inches=цалÑÑž
-document_properties_page_size_unit_millimeters=мм
-document_properties_page_size_orientation_portrait=кніжнаÑ
-document_properties_page_size_orientation_landscape=альбомнаÑ
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Хуткі праглÑд у ІнтÑрнÑце:
-document_properties_linearized_yes=Так
-document_properties_linearized_no=Ðе
-document_properties_close=Закрыць
-
-print_progress_message=Падрыхтоўка дакумента да друку…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=СкаÑаваць
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Паказаць/Ñхаваць бакавую панÑль
-toggle_sidebar_notification2.title=Паказаць/Ñхаваць бакавую панÑль (дакумент мае змеÑÑ‚/укладанні/плаÑты)
-toggle_sidebar_label=Паказаць/Ñхаваць бакавую панÑль
-document_outline.title=Паказаць Ñтруктуру дакумента (Ð´Ð²Ð°Ð¹Ð½Ð°Ñ Ð¿Ñтрычка, каб разгарнуць /згарнуць уÑе Ñлементы)
-document_outline_label=Структура дакумента
-attachments.title=Паказаць далучÑнні
-attachments_label=ДалучÑнні
-layers.title=Паказаць плаÑты (двойчы пÑтрыкніце, каб Ñкінуць уÑе плаÑты да прадвызначанага Ñтану)
-layers_label=ПлаÑты
-thumbs.title=Паказ мініÑцюр
-thumbs_label=МініÑцюры
-current_outline_item.title=ЗнайÑці бÑгучы Ñлемент Ñтруктуры
-current_outline_item_label=БÑгучы Ñлемент Ñтруктуры
-findbar.title=Пошук у дакуменце
-findbar_label=ЗнайÑці
-
-additional_layers=Ð”Ð°Ð´Ð°Ñ‚ÐºÐ¾Ð²Ñ‹Ñ Ð¿Ð»Ð°Ñты
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Старонка {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Старонка {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=МініÑцюра Ñтаронкі {{page}}
-
-# Find panel button title and messages
-find_input.title=Шукаць
-find_input.placeholder=Шукаць у дакуменце…
-find_previous.title=ЗнайÑці папÑÑ€Ñдні выпадак выразу
-find_previous_label=ПапÑÑ€Ñдні
-find_next.title=ЗнайÑці наÑтупны выпадак выразу
-find_next_label=ÐаÑтупны
-find_highlight=Падфарбаваць уÑе
-find_match_case_label=Ðдрозніваць вÑлікіÑ/Ð¼Ð°Ð»Ñ‹Ñ Ð»Ñ–Ñ‚Ð°Ñ€Ñ‹
-find_match_diacritics_label=З улікам дыÑкрытык
-find_entire_word_label=Словы цалкам
-find_reached_top=ДаÑÑгнуты пачатак дакумента, працÑг з канца
-find_reached_bottom=ДаÑÑгнуты канец дакумента, працÑг з пачатку
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} з {{total}} ÑупадзеннÑ
-find_match_count[two]={{current}} з {{total}} ÑупадзеннÑÑž
-find_match_count[few]={{current}} з {{total}} ÑупадзеннÑÑž
-find_match_count[many]={{current}} з {{total}} ÑупадзеннÑÑž
-find_match_count[other]={{current}} з {{total}} ÑупадзеннÑÑž
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Больш за {{limit}} ÑупадзеннÑÑž
-find_match_count_limit[one]=Больш за {{limit}} Ñупадзенне
-find_match_count_limit[two]=Больш за {{limit}} ÑупадзеннÑÑž
-find_match_count_limit[few]=Больш за {{limit}} ÑупадзеннÑÑž
-find_match_count_limit[many]=Больш за {{limit}} ÑупадзеннÑÑž
-find_match_count_limit[other]=Больш за {{limit}} ÑупадзеннÑÑž
-find_not_found=Выраз не знойдзены
-
-# Error panel labels
-error_more_info=ПадрабÑзней
-error_less_info=СціÑла
-error_close=Закрыць
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js в{{version}} (зборка: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Паведамленне: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=СтоÑ: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Файл: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Радок: {{line}}
-rendering_error=ЗдарылаÑÑ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ° Ð¿Ð°Ð´Ñ‡Ð°Ñ Ð°Ð´Ð»ÑŽÑÑ‚Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ñтаронкі.
-
-# Predefined zoom values
-page_scale_width=Ð¨Ñ‹Ñ€Ñ‹Ð½Ñ Ñтаронкі
-page_scale_fit=УціÑненне Ñтаронкі
-page_scale_auto=Ðўтаматычнае павелічÑнне
-page_scale_actual=Сапраўдны памер
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Чытаецца…
-loading_error=ЗдарылаÑÑ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ° ў чаÑе загрузкі PDF.
-invalid_file_error=ÐÑÑпраўны або пашкоджаны файл PDF.
-missing_file_error=ÐдÑутны файл PDF.
-unexpected_response_error=Ðечаканы адказ Ñервера.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=УвÑдзіце пароль, каб адкрыць гÑты файл PDF.
-password_invalid=ÐÑдзейÑны пароль. ПаÑпрабуйце зноў.
-password_ok=Добра
-password_cancel=СкаÑаваць
-
-printing_not_supported=ПапÑÑ€Ñджанне: друк не падтрымліваецца цалкам гÑтым браўзерам.
-printing_not_ready=Увага: PDF не ÑцÑгнуты цалкам Ð´Ð»Ñ Ð´Ñ€ÑƒÐºÐ°Ð²Ð°Ð½Ð½Ñ.
-web_fonts_disabled=Шрыфты Сеціва забаронены: немагчыма ўжываць ÑƒÐºÐ»Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ ÑˆÑ€Ñ‹Ñ„Ñ‚Ñ‹ PDF.
-
-# Editor
-editor_none.title=Ðдключыць Ñ€Ñдагаванне анатацый
-editor_none_label=Ðдключыць Ñ€Ñдагаванне
-editor_free_text.title=Дадаць анатацыю FreeText
-editor_free_text_label=ÐÐ½Ð°Ñ‚Ð°Ñ†Ñ‹Ñ FreeText
-editor_ink.title=Дадаць анатацыю чарнілам
-editor_ink_label=ÐÐ½Ð°Ñ‚Ð°Ñ†Ñ‹Ñ Ñ‡Ð°Ñ€Ð½Ñ–Ð»Ð°Ð¼
-
-freetext_default_content=УвÑдзіце Ñ‚ÑкÑт…
-
-free_text_default_content=УвÑдзіце Ñ‚ÑкÑт…
-
-# Editor Parameters
-editor_free_text_font_color=Колер шрыфту
-editor_free_text_font_size=Памер шрыфту
-editor_ink_line_color=Колер лініі
-editor_ink_line_thickness=Ð¢Ð°ÑžÑˆÑ‡Ñ‹Ð½Ñ Ð»Ñ–Ð½Ñ–Ñ–
-
-# Editor Parameters
-editor_free_text_color=Колер
-editor_free_text_size=Памер
-editor_ink_color=Колер
-editor_ink_thickness=ТаўшчынÑ
-editor_ink_opacity=ÐепразрыÑтаÑць
-
-# Editor aria
-editor_free_text_aria_label=Ð Ñдактар FreeText
-editor_ink_aria_label=Ð Ñдактар чарнілаў
-editor_ink_canvas_aria_label=ВідарыÑ, Ñтвораны карыÑтальнікам
diff --git a/static/js/pdf-js/web/locale/bg/viewer.properties b/static/js/pdf-js/web/locale/bg/viewer.properties
deleted file mode 100644
index 0ec7649..0000000
--- a/static/js/pdf-js/web/locale/bg/viewer.properties
+++ /dev/null
@@ -1,234 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Предишна Ñтраница
-previous_label=Предишна
-next.title=Следваща Ñтраница
-next_label=Следваща
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Страница
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=от {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} от {{pagesCount}})
-
-zoom_out.title=ÐамалÑване
-zoom_out_label=ÐамалÑване
-zoom_in.title=Увеличаване
-zoom_in_label=Увеличаване
-zoom.title=Мащабиране
-presentation_mode.title=Превключване към режим на предÑтавÑне
-presentation_mode_label=Режим на предÑтавÑне
-open_file.title=ОтварÑне на файл
-open_file_label=ОтварÑне
-print.title=Отпечатване
-print_label=Отпечатване
-download.title=ИзтеглÑне
-download_label=ИзтеглÑне
-bookmark.title=Текущ изглед (копиране или отварÑне в нов прозорец)
-bookmark_label=Текущ изглед
-
-# Secondary toolbar and context menu
-tools.title=ИнÑтрументи
-tools_label=ИнÑтрументи
-first_page.title=Към първата Ñтраница
-first_page_label=Към първата Ñтраница
-last_page.title=Към поÑледната Ñтраница
-last_page_label=Към поÑледната Ñтраница
-page_rotate_cw.title=Завъртане по чаÑ. Ñтрелка
-page_rotate_cw_label=Завъртане по чаÑовниковата Ñтрелка
-page_rotate_ccw.title=Завъртане обратно на чаÑ. Ñтрелка
-page_rotate_ccw_label=Завъртане обратно на чаÑовниковата Ñтрелка
-
-cursor_text_select_tool.title=Включване на инÑтрумента за избор на текÑÑ‚
-cursor_text_select_tool_label=ИнÑтрумент за избор на текÑÑ‚
-cursor_hand_tool.title=Включване на инÑтрумента ръка
-cursor_hand_tool_label=ИнÑтрумент ръка
-
-scroll_vertical.title=Използване на вертикално плъзгане
-scroll_vertical_label=Вертикално плъзгане
-scroll_horizontal.title=Използване на хоризонтално
-scroll_horizontal_label=Хоризонтално плъзгане
-scroll_wrapped.title=Използване на мащабируемо плъзгане
-scroll_wrapped_label=Мащабируемо плъзгане
-
-spread_none.title=Режимът на ÑдвоÑване е изключен
-spread_none_label=Без ÑдвоÑване
-spread_odd.title=СдвоÑване, започвайки от нечетните Ñтраници
-spread_odd_label=Ðечетните отлÑво
-spread_even.title=СдвоÑване, започвайки от четните Ñтраници
-spread_even_label=Четните отлÑво
-
-# Document properties dialog box
-document_properties.title=СвойÑтва на документа…
-document_properties_label=СвойÑтва на документа…
-document_properties_file_name=Име на файл:
-document_properties_file_size=Големина на файл:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} КБ ({{size_b}} байта)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} МБ ({{size_b}} байта)
-document_properties_title=Заглавие:
-document_properties_author=Ðвтор:
-document_properties_subject=Тема:
-document_properties_keywords=Ключови думи:
-document_properties_creation_date=Дата на Ñъздаване:
-document_properties_modification_date=Дата на промÑна:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Създател:
-document_properties_producer=PDF произведен от:
-document_properties_version=Издание на PDF:
-document_properties_page_count=Брой Ñтраници:
-document_properties_page_size=Размер на Ñтраницата:
-document_properties_page_size_unit_inches=инч
-document_properties_page_size_unit_millimeters=мм
-document_properties_page_size_orientation_portrait=портрет
-document_properties_page_size_orientation_landscape=пейзаж
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Правни въпроÑи
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Бърз преглед:
-document_properties_linearized_yes=Да
-document_properties_linearized_no=Ðе
-document_properties_close=ЗатварÑне
-
-print_progress_message=ПодготвÑне на документа за отпечатване…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Отказ
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Превключване на Ñтраничната лента
-toggle_sidebar_label=Превключване на Ñтраничната лента
-document_outline.title=Показване на Ñтруктурата на документа (двукратно щракване за Ñвиване/разгъване на вÑичко)
-document_outline_label=Структура на документа
-attachments.title=Показване на притурките
-attachments_label=Притурки
-thumbs.title=Показване на миниатюрите
-thumbs_label=Миниатюри
-findbar.title=Ðамиране в документа
-findbar_label=ТърÑене
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Страница {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Миниатюра на Ñтраница {{page}}
-
-# Find panel button title and messages
-find_input.title=ТърÑене
-find_input.placeholder=ТърÑене в документа…
-find_previous.title=Ðамиране на предишно Ñъвпадение на фразата
-find_previous_label=Предишна
-find_next.title=Ðамиране на Ñледващо Ñъвпадение на фразата
-find_next_label=Следваща
-find_highlight=ОткроÑване на вÑички
-find_match_case_label=Съвпадение на региÑтъра
-find_entire_word_label=Цели думи
-find_reached_top=ДоÑтигнато е началото на документа, продължаване от краÑ
-find_reached_bottom=ДоÑтигнат е краÑÑ‚ на документа, продължаване от началото
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} от {{total}} Ñъвпадение
-find_match_count[two]={{current}} от {{total}} ÑъвпадениÑ
-find_match_count[few]={{current}} от {{total}} ÑъвпадениÑ
-find_match_count[many]={{current}} от {{total}} ÑъвпадениÑ
-find_match_count[other]={{current}} от {{total}} ÑъвпадениÑ
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Повече от {{limit}} ÑъвпадениÑ
-find_match_count_limit[one]=Повече от {{limit}} Ñъвпадение
-find_match_count_limit[two]=Повече от {{limit}} ÑъвпадениÑ
-find_match_count_limit[few]=Повече от {{limit}} ÑъвпадениÑ
-find_match_count_limit[many]=Повече от {{limit}} ÑъвпадениÑ
-find_match_count_limit[other]=Повече от {{limit}} ÑъвпадениÑ
-find_not_found=Фразата не е намерена
-
-# Error panel labels
-error_more_info=Повече информациÑ
-error_less_info=По-малко информациÑ
-error_close=ЗатварÑне
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=Издание на PDF.js {{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Съобщение: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Стек: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Файл: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Ред: {{line}}
-rendering_error=Грешка при изчертаване на Ñтраницата.
-
-# Predefined zoom values
-page_scale_width=Ширина на Ñтраницата
-page_scale_fit=ВмеÑтване в Ñтраницата
-page_scale_auto=Ðвтоматично мащабиране
-page_scale_actual=ДейÑтвителен размер
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=Получи Ñе грешка при зареждане на PDF-а.
-invalid_file_error=Ðевалиден или повреден PDF файл.
-missing_file_error=ЛипÑващ PDF файл.
-unexpected_response_error=Ðеочакван отговор от Ñървъра.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[ÐÐ½Ð¾Ñ‚Ð°Ñ†Ð¸Ñ {{type}}]
-password_label=Въведете парола за отварÑне на този PDF файл.
-password_invalid=Ðевалидна парола. МолÑ, опитайте отново.
-password_ok=Добре
-password_cancel=Отказ
-
-printing_not_supported=Внимание: Този четец нÑма пълна поддръжка на отпечатване.
-printing_not_ready=Внимание: Този PDF файл не е напълно зареден за печат.
-web_fonts_disabled=Уеб-шрифтовете Ñа забранени: разрешаване на използването на вградените PDF шрифтове.
diff --git a/static/js/pdf-js/web/locale/bn/viewer.properties b/static/js/pdf-js/web/locale/bn/viewer.properties
deleted file mode 100644
index e31c135..0000000
--- a/static/js/pdf-js/web/locale/bn/viewer.properties
+++ /dev/null
@@ -1,238 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=পূরà§à¦¬à¦¬à¦°à§à¦¤à§€ পাতা
-previous_label=পূরà§à¦¬à¦¬à¦°à§à¦¤à§€
-next.title=পরবরà§à¦¤à§€ পাতা
-next_label=পরবরà§à¦¤à§€
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=পাতা
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} à¦à¦°
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pagesCount}} à¦à¦° {{pageNumber}})
-
-zoom_out.title=ছোট আকারে পà§à¦°à¦¦à¦°à§à¦¶à¦¨
-zoom_out_label=ছোট আকারে পà§à¦°à¦¦à¦°à§à¦¶à¦¨
-zoom_in.title=বড় আকারে পà§à¦°à¦¦à¦°à§à¦¶à¦¨
-zoom_in_label=বড় আকারে পà§à¦°à¦¦à¦°à§à¦¶à¦¨
-zoom.title=বড় আকারে পà§à¦°à¦¦à¦°à§à¦¶à¦¨
-presentation_mode.title=উপসà§à¦¥à¦¾à¦ªà¦¨à¦¾ মোডে সà§à¦¯à§à¦‡à¦š করà§à¦¨
-presentation_mode_label=উপসà§à¦¥à¦¾à¦ªà¦¨à¦¾ মোড
-open_file.title=ফাইল খà§à¦²à§à¦¨
-open_file_label=খà§à¦²à§à¦¨
-print.title=মà§à¦¦à§à¦°à¦£
-print_label=মà§à¦¦à§à¦°à¦£
-download.title=ডাউনলোড
-download_label=ডাউনলোড
-bookmark.title=বরà§à¦¤à¦®à¦¾à¦¨ অবসà§à¦¥à¦¾ (অনà§à¦²à¦¿à¦ªà¦¿ অথবা নতà§à¦¨ উইনà§à¦¡à§‹ তে খà§à¦²à§à¦¨)
-bookmark_label=বরà§à¦¤à¦®à¦¾à¦¨ অবসà§à¦¥à¦¾
-
-# Secondary toolbar and context menu
-tools.title=টà§à¦²
-tools_label=টà§à¦²
-first_page.title=পà§à¦°à¦¥à¦® পাতায় যাও
-first_page_label=পà§à¦°à¦¥à¦® পাতায় যাও
-last_page.title=শেষ পাতায় যাও
-last_page_label=শেষ পাতায় যাও
-page_rotate_cw.title=ঘড়ির কাà¦à¦Ÿà¦¾à¦° দিকে ঘোরাও
-page_rotate_cw_label=ঘড়ির কাà¦à¦Ÿà¦¾à¦° দিকে ঘোরাও
-page_rotate_ccw.title=ঘড়ির কাà¦à¦Ÿà¦¾à¦° বিপরীতে ঘোরাও
-page_rotate_ccw_label=ঘড়ির কাà¦à¦Ÿà¦¾à¦° বিপরীতে ঘোরাও
-
-cursor_text_select_tool.title=লেখা নিরà§à¦¬à¦¾à¦šà¦• টà§à¦² সকà§à¦°à¦¿à§Ÿ করà§à¦¨
-cursor_text_select_tool_label=লেখা নিরà§à¦¬à¦¾à¦šà¦• টà§à¦²
-cursor_hand_tool.title=হà§à¦¯à¦¾à¦¨à§à¦¡ টà§à¦² সকà§à¦°à¦¿à¦¯à¦¼ করà§à¦¨
-cursor_hand_tool_label=হà§à¦¯à¦¾à¦¨à§à¦¡ টà§à¦²
-
-scroll_vertical.title=উলমà§à¦¬ সà§à¦•à§à¦°à¦²à¦¿à¦‚ বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨
-scroll_vertical_label=উলমà§à¦¬ সà§à¦•à§à¦°à¦²à¦¿à¦‚
-scroll_horizontal.title=অনà§à¦à§‚মিক সà§à¦•à§à¦°à¦²à¦¿à¦‚ বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨
-scroll_horizontal_label=অনà§à¦à§‚মিক সà§à¦•à§à¦°à¦²à¦¿à¦‚
-scroll_wrapped.title=Wrapped সà§à¦•à§à¦°à§‹à¦²à¦¿à¦‚ বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨
-scroll_wrapped_label=Wrapped সà§à¦•à§à¦°à§‹à¦²à¦¿à¦‚
-
-spread_none.title=পেজ সà§à¦ªà§à¦°à§‡à¦¡à¦—à§à¦²à§‹à¦¤à§‡ যোগদান করবেন না
-spread_none_label=Spreads নেই
-spread_odd_label=বিজোড় Spreads
-spread_even_label=জোড় Spreads
-
-# Document properties dialog box
-document_properties.title=নথি বৈশিষà§à¦Ÿà§à¦¯â€¦
-document_properties_label=নথি বৈশিষà§à¦Ÿà§à¦¯â€¦
-document_properties_file_name=ফাইলের নাম:
-document_properties_file_size=ফাইলের আকার:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} কেবি ({{size_b}} বাইট)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} à¦à¦®à¦¬à¦¿ ({{size_b}} বাইট)
-document_properties_title=শিরোনাম:
-document_properties_author=লেখক:
-document_properties_subject=বিষয়:
-document_properties_keywords=কীওয়ারà§à¦¡:
-document_properties_creation_date=তৈরির তারিখ:
-document_properties_modification_date=পরিবরà§à¦¤à¦¨à§‡à¦° তারিখ:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=পà§à¦°à¦¸à§à¦¤à§à¦¤à¦•ারক:
-document_properties_producer=পিডিà¦à¦« পà§à¦°à¦¸à§à¦¤à§à¦¤à¦•ারক:
-document_properties_version=পিডিà¦à¦« সংষà§à¦•রণ:
-document_properties_page_count=মোট পাতা:
-document_properties_page_size=পাতার সাইজ:
-document_properties_page_size_unit_inches=à¦à¦° মধà§à¦¯à§‡
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=উলমà§à¦¬
-document_properties_page_size_orientation_landscape=অনà§à¦à§‚মিক
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=লেটার
-document_properties_page_size_name_legal=লীগাল
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=হà§à¦¯à¦¾à¦
-document_properties_linearized_no=না
-document_properties_close=বনà§à¦§
-
-print_progress_message=মà§à¦¦à§à¦°à¦£à§‡à¦° জনà§à¦¯ নথি পà§à¦°à¦¸à§à¦¤à§à¦¤ করা হচà§à¦›à§‡â€¦
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=বাতিল
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=সাইডবার টগল করà§à¦¨
-toggle_sidebar_label=সাইডবার টগল করà§à¦¨
-document_outline.title=নথির আউটলাইন দেখাও (সব আইটেম পà§à¦°à¦¸à¦¾à¦°à¦¿à¦¤/সঙà§à¦•à§à¦šà¦¿à¦¤ করতে ডবল কà§à¦²à¦¿à¦• করà§à¦¨)
-document_outline_label=নথির রূপরেখা
-attachments.title=সংযà§à¦•à§à¦¤à¦¿ দেখাও
-attachments_label=সংযà§à¦•à§à¦¤à¦¿
-thumbs.title=থামà§à¦¬à¦¨à§‡à¦‡à¦² সমূহ পà§à¦°à¦¦à¦°à§à¦¶à¦¨ করà§à¦¨
-thumbs_label=থামà§à¦¬à¦¨à§‡à¦‡à¦² সমূহ
-findbar.title=নথির মধà§à¦¯à§‡ খà§à¦à¦œà§à¦¨
-findbar_label=খà§à¦à¦œà§à¦¨
-
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=পাতা {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} পাতার থামà§à¦¬à¦¨à§‡à¦‡à¦²
-
-# Find panel button title and messages
-find_input.title=খà§à¦à¦œà§à¦¨
-find_input.placeholder=নথির মধà§à¦¯à§‡ খà§à¦à¦œà§à¦¨â€¦
-find_previous.title=বাকà§à¦¯à¦¾à¦‚শের পূরà§à¦¬à¦¬à¦°à§à¦¤à§€ উপসà§à¦¥à¦¿à¦¤à¦¿ অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨
-find_previous_label=পূরà§à¦¬à¦¬à¦°à§à¦¤à§€
-find_next.title=বাকà§à¦¯à¦¾à¦‚শের পরবরà§à¦¤à§€ উপসà§à¦¥à¦¿à¦¤à¦¿ অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨
-find_next_label=পরবরà§à¦¤à§€
-find_highlight=সব হাইলাইট করà§à¦¨
-find_match_case_label=অকà§à¦·à¦°à§‡à¦° ছাà¦à¦¦ মেলানো
-find_entire_word_label=সমà§à¦ªà§‚রà§à¦£ শবà§à¦¦
-find_reached_top=পাতার শà§à¦°à§à¦¤à§‡ পৌছে গেছে, নীচ থেকে আরমà§à¦ করা হয়েছে
-find_reached_bottom=পাতার শেষে পৌছে গেছে, উপর থেকে আরমà§à¦ করা হয়েছে
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{total}} à¦à¦° {{current}} মিল
-find_match_count[two]={{total}} à¦à¦° {{current}} মিল
-find_match_count[few]={{total}} à¦à¦° {{current}} মিল
-find_match_count[many]={{total}} à¦à¦° {{current}} মিল
-find_match_count[other]={{total}} à¦à¦° {{current}} মিল
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}} à¦à¦° বেশি মিল
-find_match_count_limit[one]={{limit}} à¦à¦° বেশি মিল
-find_match_count_limit[two]={{limit}} à¦à¦° বেশি মিল
-find_match_count_limit[few]={{limit}} à¦à¦° বেশি মিল
-find_match_count_limit[many]={{limit}} à¦à¦° বেশি মিল
-find_match_count_limit[other]={{limit}} à¦à¦° বেশি মিল
-find_not_found=বাকà§à¦¯à¦¾à¦‚শ পাওয়া যায়নি
-
-# Error panel labels
-error_more_info=আরও তথà§à¦¯
-error_less_info=কম তথà§à¦¯
-error_close=বনà§à¦§
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=বারà§à¦¤à¦¾: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=নথি: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=লাইন: {{line}}
-rendering_error=পাতা উপসà§à¦¥à¦¾à¦ªà¦¨à¦¾à¦° সময় তà§à¦°à§à¦Ÿà¦¿ দেখা দিয়েছে।
-
-# Predefined zoom values
-page_scale_width=পাতার পà§à¦°à¦¸à§à¦¥
-page_scale_fit=পাতা ফিট করà§à¦¨
-page_scale_auto=সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿ জà§à¦®
-page_scale_actual=পà§à¦°à¦•ৃত আকার
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error=পিডিà¦à¦« লোড করার সময় তà§à¦°à§à¦Ÿà¦¿ দেখা দিয়েছে।
-invalid_file_error=অকারà§à¦¯à¦•র অথবা কà§à¦·à¦¤à¦¿à¦—à§à¦°à¦¸à§à¦¤ পিডিà¦à¦« ফাইল।
-missing_file_error=নিখোà¦à¦œ PDF ফাইল।
-unexpected_response_error=অপà§à¦°à¦¤à§à¦¯à¦¾à¦¶à§€à¦¤ সারà§à¦à¦¾à¦° পà§à¦°à¦¤à¦¿à¦•à§à¦°à¦¿à§Ÿà¦¾à¥¤
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} টীকা]
-password_label=পিডিà¦à¦« ফাইলটি ওপেন করতে পাসওয়ারà§à¦¡ দিন।
-password_invalid=à¦à§à¦² পাসওয়ারà§à¦¡à¥¤ অনà§à¦—à§à¦°à¦¹ করে আবার চেষà§à¦Ÿà¦¾ করà§à¦¨à¥¤
-password_ok=ঠিক আছে
-password_cancel=বাতিল
-
-printing_not_supported=সতরà§à¦•তা: à¦à¦‡ বà§à¦°à¦¾à¦‰à¦œà¦¾à¦°à§‡ মà§à¦¦à§à¦°à¦£ সমà§à¦ªà§‚রà§à¦£à¦à¦¾à¦¬à§‡ সমরà§à¦¥à¦¿à¦¤ নয়।
-printing_not_ready=সতরà§à¦•ীকরণ: পিডিà¦à¦«à¦Ÿà¦¿ মà§à¦¦à§à¦°à¦£à§‡à¦° জনà§à¦¯ সমà§à¦ªà§‚রà§à¦£ লোড হয়নি।
-web_fonts_disabled=ওয়েব ফনà§à¦Ÿ নিষà§à¦•à§à¦°à¦¿à§Ÿ: সংযà§à¦•à§à¦¤ পিডিà¦à¦« ফনà§à¦Ÿ বà§à¦¯à¦¬à¦¹à¦¾à¦° করা যাচà§à¦›à§‡ না।
diff --git a/static/js/pdf-js/web/locale/bo/viewer.properties b/static/js/pdf-js/web/locale/bo/viewer.properties
deleted file mode 100644
index bba0490..0000000
--- a/static/js/pdf-js/web/locale/bo/viewer.properties
+++ /dev/null
@@ -1,237 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=དྲ་ངོས་སྔོན་མ
-previous_label=སྔོན་མ
-next.title=དྲ་ངོས་རྗེས་མ
-next_label=རྗེས་མ
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=ཤོག་ངོས
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=of {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} of {{pagesCount}})
-
-zoom_out.title=Zoom Out
-zoom_out_label=Zoom Out
-zoom_in.title=Zoom In
-zoom_in_label=Zoom In
-zoom.title=Zoom
-presentation_mode.title=Switch to Presentation Mode
-presentation_mode_label=Presentation Mode
-open_file.title=Open File
-open_file_label=Open
-print.title=Print
-print_label=Print
-download.title=Download
-download_label=Download
-bookmark.title=Current view (copy or open in new window)
-bookmark_label=Current View
-
-# Secondary toolbar and context menu
-tools.title=Tools
-tools_label=Tools
-first_page.title=Go to First Page
-first_page_label=Go to First Page
-last_page.title=Go to Last Page
-last_page_label=Go to Last Page
-page_rotate_cw.title=Rotate Clockwise
-page_rotate_cw_label=Rotate Clockwise
-page_rotate_ccw.title=Rotate Counterclockwise
-page_rotate_ccw_label=Rotate Counterclockwise
-
-cursor_text_select_tool.title=Enable Text Selection Tool
-cursor_text_select_tool_label=Text Selection Tool
-cursor_hand_tool.title=Enable Hand Tool
-cursor_hand_tool_label=Hand Tool
-
-scroll_vertical.title=Use Vertical Scrolling
-scroll_vertical_label=Vertical Scrolling
-scroll_horizontal.title=Use Horizontal Scrolling
-scroll_horizontal_label=Horizontal Scrolling
-scroll_wrapped.title=Use Wrapped Scrolling
-scroll_wrapped_label=Wrapped Scrolling
-
-spread_none.title=Do not join page spreads
-spread_none_label=No Spreads
-spread_odd.title=Join page spreads starting with odd-numbered pages
-spread_odd_label=Odd Spreads
-spread_even.title=Join page spreads starting with even-numbered pages
-spread_even_label=Even Spreads
-
-# Document properties dialog box
-document_properties.title=Document Properties…
-document_properties_label=Document Properties…
-document_properties_file_name=File name:
-document_properties_file_size=File size:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Title:
-document_properties_author=Author:
-document_properties_subject=Subject:
-document_properties_keywords=Keywords:
-document_properties_creation_date=Creation Date:
-document_properties_modification_date=Modification Date:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creator:
-document_properties_producer=PDF Producer:
-document_properties_version=PDF Version:
-document_properties_page_count=Page Count:
-document_properties_page_size=Page Size:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portrait
-document_properties_page_size_orientation_landscape=landscape
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=Yes
-document_properties_linearized_no=No
-document_properties_close=Close
-
-print_progress_message=Preparing document for printing…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancel
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Toggle Sidebar
-toggle_sidebar_label=Toggle Sidebar
-document_outline.title=Show Document Outline (double-click to expand/collapse all items)
-document_outline_label=Document Outline
-attachments.title=Show Attachments
-attachments_label=Attachments
-thumbs.title=Show Thumbnails
-thumbs_label=Thumbnails
-findbar.title=Find in Document
-findbar_label=Find
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Page {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Thumbnail of Page {{page}}
-
-# Find panel button title and messages
-find_input.title=Find
-find_input.placeholder=Find in document…
-find_previous.title=Find the previous occurrence of the phrase
-find_previous_label=Previous
-find_next.title=Find the next occurrence of the phrase
-find_next_label=Next
-find_highlight=Highlight all
-find_match_case_label=Match case
-find_entire_word_label=Whole words
-find_reached_top=Reached top of document, continued from bottom
-find_reached_bottom=Reached end of document, continued from top
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} of {{total}} match
-find_match_count[two]={{current}} of {{total}} matches
-find_match_count[few]={{current}} of {{total}} matches
-find_match_count[many]={{current}} of {{total}} matches
-find_match_count[other]={{current}} of {{total}} matches
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=More than {{limit}} matches
-find_match_count_limit[one]=More than {{limit}} match
-find_match_count_limit[two]=More than {{limit}} matches
-find_match_count_limit[few]=More than {{limit}} matches
-find_match_count_limit[many]=More than {{limit}} matches
-find_match_count_limit[other]=More than {{limit}} matches
-find_not_found=Phrase not found
-
-# Error panel labels
-error_more_info=More Information
-error_less_info=Less Information
-error_close=Close
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Message: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=File: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Line: {{line}}
-rendering_error=An error occurred while rendering the page.
-
-# Predefined zoom values
-page_scale_width=Page Width
-page_scale_fit=Page Fit
-page_scale_auto=Automatic Zoom
-page_scale_actual=Actual Size
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=An error occurred while loading the PDF.
-invalid_file_error=Invalid or corrupted PDF file.
-missing_file_error=Missing PDF file.
-unexpected_response_error=Unexpected server response.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=Enter the password to open this PDF file.
-password_invalid=Invalid password. Please try again.
-password_ok=OK
-password_cancel=Cancel
-
-printing_not_supported=Warning: Printing is not fully supported by this browser.
-printing_not_ready=Warning: The PDF is not fully loaded for printing.
-web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts.
diff --git a/static/js/pdf-js/web/locale/br/viewer.properties b/static/js/pdf-js/web/locale/br/viewer.properties
deleted file mode 100644
index c26ca68..0000000
--- a/static/js/pdf-js/web/locale/br/viewer.properties
+++ /dev/null
@@ -1,246 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pajenn a-raok
-previous_label=A-raok
-next.title=Pajenn war-lerc'h
-next_label=War-lerc'h
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pajenn
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=eus {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} war {{pagesCount}})
-
-zoom_out.title=Zoum bihanaat
-zoom_out_label=Zoum bihanaat
-zoom_in.title=Zoum brasaat
-zoom_in_label=Zoum brasaat
-zoom.title=Zoum
-presentation_mode.title=Trec'haoliñ etrezek ar mod kinnigadenn
-presentation_mode_label=Mod kinnigadenn
-open_file.title=Digeriñ ur restr
-open_file_label=Digeriñ ur restr
-print.title=Moullañ
-print_label=Moullañ
-download.title=Pellgargañ
-download_label=Pellgargañ
-bookmark.title=Gwel bremanel (eilañ pe zigeriñ e-barzh ur prenestr nevez)
-bookmark_label=Gwel bremanel
-
-# Secondary toolbar and context menu
-tools.title=Ostilhoù
-tools_label=Ostilhoù
-first_page.title=Mont d'ar bajenn gentañ
-first_page_label=Mont d'ar bajenn gentañ
-last_page.title=Mont d'ar bajenn diwezhañ
-last_page_label=Mont d'ar bajenn diwezhañ
-page_rotate_cw.title=C'hwelañ gant roud ar bizied
-page_rotate_cw_label=C'hwelañ gant roud ar bizied
-page_rotate_ccw.title=C'hwelañ gant roud gin ar bizied
-page_rotate_ccw_label=C'hwelañ gant roud gin ar bizied
-
-cursor_text_select_tool.title=Gweredekaat an ostilh diuzañ testenn
-cursor_text_select_tool_label=Ostilh diuzañ testenn
-cursor_hand_tool.title=Gweredekaat an ostilh dorn
-cursor_hand_tool_label=Ostilh dorn
-
-scroll_vertical.title=Arverañ an dibunañ a-blom
-scroll_vertical_label=Dibunañ a-serzh
-scroll_horizontal.title=Arverañ an dibunañ a-blaen
-scroll_horizontal_label=Dibunañ a-blaen
-scroll_wrapped.title=Arverañ an dibunañ paket
-scroll_wrapped_label=Dibunañ paket
-
-spread_none.title=Chom hep stagañ ar skignadurioù
-spread_none_label=Skignadenn ebet
-spread_odd.title=Lakaat ar pajennadoù en ur gregiñ gant ar pajennoù ampar
-spread_odd_label=Pajennoù ampar
-spread_even.title=Lakaat ar pajennadoù en ur gregiñ gant ar pajennoù par
-spread_even_label=Pajennoù par
-
-# Document properties dialog box
-document_properties.title=Perzhioù an teul…
-document_properties_label=Perzhioù an teul…
-document_properties_file_name=Anv restr:
-document_properties_file_size=Ment ar restr:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} Ke ({{size_b}} eizhbit)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} Me ({{size_b}} eizhbit)
-document_properties_title=Titl:
-document_properties_author=Aozer:
-document_properties_subject=Danvez:
-document_properties_keywords=Gerioù-alc'hwez:
-document_properties_creation_date=Deiziad krouiñ:
-document_properties_modification_date=Deiziad kemmañ:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Krouer:
-document_properties_producer=Kenderc'her PDF:
-document_properties_version=Handelv PDF:
-document_properties_page_count=Niver a bajennoù:
-document_properties_page_size=Ment ar bajenn:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=poltred
-document_properties_page_size_orientation_landscape=gweledva
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Lizher
-document_properties_page_size_name_legal=Lezennel
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Gwel Web Herrek:
-document_properties_linearized_yes=Ya
-document_properties_linearized_no=Ket
-document_properties_close=Serriñ
-
-print_progress_message=O prientiñ an teul evit moullañ...
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Nullañ
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Diskouez/kuzhat ar varrenn gostez
-toggle_sidebar_notification2.title=Trec'haoliñ ar varrenn-gostez (ur steuñv pe stagadennoù a zo en teul)
-toggle_sidebar_label=Diskouez/kuzhat ar varrenn gostez
-document_outline.title=Diskouez steuñv an teul (daouglikit evit brasaat/bihanaat an holl elfennoù)
-document_outline_label=Sinedoù an teuliad
-attachments.title=Diskouez ar c'henstagadurioù
-attachments_label=Kenstagadurioù
-layers.title=Diskouez ar gwiskadoù (daou-glikañ evit adderaouekaat an holl gwiskadoù d'o stad dre ziouer)
-layers_label=Gwiskadoù
-thumbs.title=Diskouez ar melvennoù
-thumbs_label=Melvennoù
-findbar.title=Klask e-barzh an teuliad
-findbar_label=Klask
-
-additional_layers=Gwiskadoù ouzhpenn
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Pajenn {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pajenn {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Melvenn ar bajenn {{page}}
-
-# Find panel button title and messages
-find_input.title=Klask
-find_input.placeholder=Klask e-barzh an teuliad
-find_previous.title=Kavout an tamm frazenn kent o klotañ ganti
-find_previous_label=Kent
-find_next.title=Kavout an tamm frazenn war-lerc'h o klotañ ganti
-find_next_label=War-lerc'h
-find_highlight=Usskediñ pep tra
-find_match_case_label=Teurel evezh ouzh ar pennlizherennoù
-find_entire_word_label=Gerioù a-bezh
-find_reached_top=Tizhet eo bet derou ar bajenn, kenderc'hel diouzh an diaz
-find_reached_bottom=Tizhet eo bet dibenn ar bajenn, kenderc'hel diouzh ar c'hrec'h
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]=Klotadenn {{current}} war {{total}}
-find_match_count[two]=Klotadenn {{current}} war {{total}}
-find_match_count[few]=Klotadenn {{current}} war {{total}}
-find_match_count[many]=Klotadenn {{current}} war {{total}}
-find_match_count[other]=Klotadenn {{current}} war {{total}}
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Muioc'h eget {{limit}} a glotadennoù
-find_match_count_limit[one]=Muioc'h eget {{limit}} a glotadennoù
-find_match_count_limit[two]=Muioc'h eget {{limit}} a glotadennoù
-find_match_count_limit[few]=Muioc'h eget {{limit}} a glotadennoù
-find_match_count_limit[many]=Muioc'h eget {{limit}} a glotadennoù
-find_match_count_limit[other]=Muioc'h eget {{limit}} a glotadennoù
-find_not_found=N'haller ket kavout ar frazenn
-
-# Error panel labels
-error_more_info=Muioc'h a ditouroù
-error_less_info=Nebeutoc'h a ditouroù
-error_close=Serriñ
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js handelv {{version}} (kempunadur: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Kemennadenn: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Torn: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Restr: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linenn: {{line}}
-rendering_error=Degouezhet ez eus bet ur fazi e-pad skrammañ ar bajennad.
-
-# Predefined zoom values
-page_scale_width=Led ar bajenn
-page_scale_fit=Pajenn a-bezh
-page_scale_auto=Zoum emgefreek
-page_scale_actual=Ment wir
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=O kargañ…
-loading_error=Degouezhet ez eus bet ur fazi e-pad kargañ ar PDF.
-invalid_file_error=Restr PDF didalvoudek pe kontronet.
-missing_file_error=Restr PDF o vankout.
-unexpected_response_error=Respont dic'hortoz a-berzh an dafariad
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Notennañ]
-password_label=Enankit ar ger-tremen evit digeriñ ar restr PDF-mañ.
-password_invalid=Ger-tremen didalvoudek. Klaskit en-dro mar plij.
-password_ok=Mat eo
-password_cancel=Nullañ
-
-printing_not_supported=Kemenn: N'eo ket skoret penn-da-benn ar moullañ gant ar merdeer-mañ.
-printing_not_ready=Kemenn: N'hall ket bezañ moullet ar restr PDF rak n'eo ket karget penn-da-benn.
-web_fonts_disabled=Diweredekaet eo an nodrezhoù web: n'haller ket arverañ an nodrezhoù PDF enframmet.
diff --git a/static/js/pdf-js/web/locale/brx/viewer.properties b/static/js/pdf-js/web/locale/brx/viewer.properties
deleted file mode 100644
index 3d1c92d..0000000
--- a/static/js/pdf-js/web/locale/brx/viewer.properties
+++ /dev/null
@@ -1,204 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=आगोलनि बिलाइ
-previous_label=आगोलनि
-next.title=उननि बिलाइ
-next_label=उननि
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=बिलाइ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} नि
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pagesCount}} नि {{pageNumber}})
-
-zoom_out.title=फिसायै जà¥à¤® खालाम
-zoom_out_label=फिसायै जà¥à¤® खालाम
-zoom_in.title=गेदेरै जà¥à¤® खालाम
-zoom_in_label=गेदेरै जà¥à¤® खालाम
-zoom.title=जà¥à¤® खालाम
-presentation_mode.title=दिनà¥à¤¥à¤¿à¤«à¥à¤‚नाय म'डआव थां
-presentation_mode_label=दिनà¥à¤¥à¤¿à¤«à¥à¤‚नाय म'ड
-open_file.title=फाइलखौ खेव
-open_file_label=खेव
-print.title=साफाय
-print_label=साफाय
-download.title=डाउनल'ड खालाम
-download_label=डाउनल'ड खालाम
-bookmark.title=दानि नà¥à¤¥à¤¾à¤¯ (गोदान उइनà¥à¤¡'आव कपि खालाम à¤à¤¬à¤¾ खेव)
-bookmark_label=दानि नà¥à¤¥à¤¾à¤¯
-
-# Secondary toolbar and context menu
-tools.title=टà¥à¤²
-tools_label=टà¥à¤²
-first_page.title=गिबि बिलाइआव थां
-first_page_label=गिबि बिलाइआव थां
-last_page.title=जोबथा बिलाइआव थां
-last_page_label=जोबथा बिलाइआव थां
-page_rotate_cw.title=घरि गिदिंनाय फारà¥à¤¸à¥‡ फिदिं
-page_rotate_cw_label=घरि गिदिंनाय फारà¥à¤¸à¥‡ फिदिं
-page_rotate_ccw.title=घरि गिदिंनाय उलà¥à¤¥à¤¾ फारà¥à¤¸à¥‡ फिदिं
-page_rotate_ccw_label=घरि गिदिंनाय उलà¥à¤¥à¤¾ फारà¥à¤¸à¥‡ फिदिं
-
-
-
-
-# Document properties dialog box
-document_properties.title=फोरमान बिलाइनि आखà¥à¤¥à¤¾à¤¯...
-document_properties_label=फोरमान बिलाइनि आखà¥à¤¥à¤¾à¤¯...
-document_properties_file_name=फाइलनि मà¥à¤‚:
-document_properties_file_size=फाइलनि महर:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} बाइट)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} बाइट)
-document_properties_title=बिमà¥à¤‚:
-document_properties_author=लिरगिरि:
-document_properties_subject=आयदा:
-document_properties_keywords=गाहाय सोदोब:
-document_properties_creation_date=सोरजिनाय अकà¥à¤Ÿ':
-document_properties_modification_date=सà¥à¤¦à¥à¤°à¤¾à¤¯à¤¨à¤¾à¤¯ अकà¥à¤Ÿ':
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=सोरजिगà¥à¤°à¤¾:
-document_properties_producer=PDF दिहà¥à¤¨à¤—à¥à¤°à¤¾:
-document_properties_version=PDF बिसान:
-document_properties_page_count=बिलाइनि हिसाब:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=प'रà¥à¤Ÿà¥à¤°à¥‡à¤Ÿ
-document_properties_page_size_orientation_landscape=लेणà¥à¤¡à¤¸à¥à¤•ेप
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=लायजाम
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized_yes=नंगौ
-document_properties_linearized_no=नङा
-document_properties_close=बनà¥à¤¦ खालाम
-
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=नेवसि
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=टगà¥à¤—ल साइडबार
-toggle_sidebar_label=टगà¥à¤—ल साइडबार
-document_outline_label=फोरमान बिलाइ सिमा हांखो
-attachments.title=नांजाब होनायखौ दिनà¥à¤¥à¤¿
-attachments_label=नांजाब होनाय
-thumbs.title=थामनेइलखौ दिनà¥à¤¥à¤¿
-thumbs_label=थामनेइल
-findbar.title=फोरमान बिलाइआव नागिरना दिहà¥à¤¨
-findbar_label=नायगिरना दिहà¥à¤¨
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=बिलाइ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=बिलाइ {{page}} नि थामनेइल
-
-# Find panel button title and messages
-find_input.title=नायगिरना दिहà¥à¤¨
-find_input.placeholder=फोरमान बिलाइआव नागिरना दिहà¥à¤¨...
-find_previous.title=बाथà¥à¤°à¤¾ खोनà¥à¤¦à¥‹à¤¬à¤¨à¤¿ सिगांनि नà¥à¤œà¤¾à¤¥à¤¿à¤¨à¤¾à¤¯à¤–ौ नागिर
-find_previous_label=आगोलनि
-find_next.title=बाथà¥à¤°à¤¾ खोनà¥à¤¦à¥‹à¤¬à¤¨à¤¿ उननि नà¥à¤œà¤¾à¤¥à¤¿à¤¨à¤¾à¤¯à¤–ौ नागिर
-find_next_label=उननि
-find_highlight=गासैखौबो हाइलाइट खालाम
-find_match_case_label=गोरोबनाय केस
-find_reached_top=थालो निफà¥à¤°à¤¾à¤¯ जागायनानै फोरमान बिलाइनि बिजौआव सौहैबाय
-find_reached_bottom=बिजौ निफà¥à¤°à¤¾à¤¯ जागायनानै फोरमान बिलाइनि बिजौआव सौहैबाय
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_not_found=बाथà¥à¤°à¤¾ खोनà¥à¤¦à¥‹à¤¬ मोनाखै
-
-# Error panel labels
-error_more_info=गोबां फोरमायथिहोगà¥à¤°à¤¾
-error_less_info=खम फोरमायथिहोगà¥à¤°à¤¾
-error_close=बनà¥à¤¦ खालाम
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=खौरां: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=सà¥à¤Ÿà¥‡à¤•: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=फाइल: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=सारि: {{line}}
-rendering_error=बिलाइखौ राव सोलायनाय समाव मोनसे गोरोनà¥à¤¥à¤¿ जादों।
-
-# Predefined zoom values
-page_scale_width=बिलाइनि गà¥à¤µà¤¾à¤°
-page_scale_fit=बिलाइ गोरोबनाय
-page_scale_auto=गावनोगाव जà¥à¤®
-page_scale_actual=थार महर
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=PDF ल'ड खालामनाय समाव मोनसे गोरोनà¥à¤¥à¤¿ जाबाय।
-invalid_file_error=बाहायजायै à¤à¤¬à¤¾ गाजà¥à¤°à¤¿ जानाय PDF फाइल
-missing_file_error=गोमानाय PDF फाइल
-unexpected_response_error=मिजिंथियै सारà¥à¤à¤¾à¤° फिननाय।
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} सोदोब बेखेवनाय]
-password_label=बे PDF फाइलखौ खेवनो पासवारà¥à¤¡ हाबहो।
-password_invalid=बाहायजायै पासवारà¥à¤¡à¥¤ अननानै फिन नाजा।
-password_ok=OK
-password_cancel=नेवसि
-
-printing_not_supported=सांगà¥à¤°à¤¾à¤‚थि: साफायनाया बे बà¥à¤°à¤¾à¤‰à¤œà¤¾à¤°à¤œà¥‹à¤‚ आबà¥à¤™à¥ˆ हेफाजाब होजाया।
-printing_not_ready=सांगà¥à¤°à¤¾à¤‚थि: PDF खौ साफायनायनि थाखाय फà¥à¤°à¤¾à¤¯à¥ˆ ल'ड खालामाखै।
-web_fonts_disabled=वेब फनà¥à¤Ÿà¤–ौ लोरबां खालामबाय: अरजाबहोनाय PDF फनà¥à¤Ÿà¤–ौ बाहायनो हायाखै।
diff --git a/static/js/pdf-js/web/locale/bs/viewer.properties b/static/js/pdf-js/web/locale/bs/viewer.properties
deleted file mode 100644
index ec115d0..0000000
--- a/static/js/pdf-js/web/locale/bs/viewer.properties
+++ /dev/null
@@ -1,193 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Prethodna strana
-previous_label=Prethodna
-next.title=Sljedeća strna
-next_label=Sljedeća
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Strana
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=od {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} od {{pagesCount}})
-
-zoom_out.title=Umanji
-zoom_out_label=Umanji
-zoom_in.title=Uvećaj
-zoom_in_label=Uvećaj
-zoom.title=Uvećanje
-presentation_mode.title=Prebaci se u prezentacijski režim
-presentation_mode_label=Prezentacijski režim
-open_file.title=Otvori fajl
-open_file_label=Otvori
-print.title=Å tampaj
-print_label=Å tampaj
-download.title=Preuzmi
-download_label=Preuzmi
-bookmark.title=Trenutni prikaz (kopiraj ili otvori u novom prozoru)
-bookmark_label=Trenutni prikaz
-
-# Secondary toolbar and context menu
-tools.title=Alati
-tools_label=Alati
-first_page.title=Idi na prvu stranu
-first_page_label=Idi na prvu stranu
-last_page.title=Idi na zadnju stranu
-last_page_label=Idi na zadnju stranu
-page_rotate_cw.title=Rotiraj u smjeru kazaljke na satu
-page_rotate_cw_label=Rotiraj u smjeru kazaljke na satu
-page_rotate_ccw.title=Rotiraj suprotno smjeru kazaljke na satu
-page_rotate_ccw_label=Rotiraj suprotno smjeru kazaljke na satu
-
-cursor_text_select_tool.title=Omogući alat za oznaÄavanje teksta
-cursor_text_select_tool_label=Alat za oznaÄavanje teksta
-cursor_hand_tool.title=Omogući ruÄni alat
-cursor_hand_tool_label=RuÄni alat
-
-# Document properties dialog box
-document_properties.title=Svojstva dokumenta...
-document_properties_label=Svojstva dokumenta...
-document_properties_file_name=Naziv fajla:
-document_properties_file_size=VeliÄina fajla:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bajta)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bajta)
-document_properties_title=Naslov:
-document_properties_author=Autor:
-document_properties_subject=Predmet:
-document_properties_keywords=KljuÄne rijeÄi:
-document_properties_creation_date=Datum kreiranja:
-document_properties_modification_date=Datum promjene:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Kreator:
-document_properties_producer=PDF stvaratelj:
-document_properties_version=PDF verzija:
-document_properties_page_count=Broj stranica:
-document_properties_page_size=VeliÄina stranice:
-document_properties_page_size_unit_inches=u
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=uspravno
-document_properties_page_size_orientation_landscape=vodoravno
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Pismo
-document_properties_page_size_name_legal=Pravni
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-document_properties_close=Zatvori
-
-print_progress_message=Pripremam dokument za štampu…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Otkaži
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=UkljuÄi/iskljuÄi boÄnu traku
-toggle_sidebar_label=UkljuÄi/iskljuÄi boÄnu traku
-document_outline.title=Prikaži outline dokumenta (dvoklik za skupljanje/širenje svih stavki)
-document_outline_label=Konture dokumenta
-attachments.title=Prikaži priloge
-attachments_label=Prilozi
-thumbs.title=Prikaži thumbnailove
-thumbs_label=Thumbnailovi
-findbar.title=Pronađi u dokumentu
-findbar_label=Pronađi
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Strana {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Thumbnail strane {{page}}
-
-# Find panel button title and messages
-find_input.title=Pronađi
-find_input.placeholder=Pronađi u dokumentu…
-find_previous.title=Pronađi prethodno pojavljivanje fraze
-find_previous_label=Prethodno
-find_next.title=Pronađi sljedeće pojavljivanje fraze
-find_next_label=Sljedeće
-find_highlight=OznaÄi sve
-find_match_case_label=Osjetljivost na karaktere
-find_reached_top=Dostigao sam vrh dokumenta, nastavljam sa dna
-find_reached_bottom=Dostigao sam kraj dokumenta, nastavljam sa vrha
-find_not_found=Fraza nije pronađena
-
-# Error panel labels
-error_more_info=Više informacija
-error_less_info=Manje informacija
-error_close=Zatvori
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Poruka: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fajl: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linija: {{line}}
-rendering_error=Došlo je do greške prilikom renderiranja strane.
-
-# Predefined zoom values
-page_scale_width=Å irina strane
-page_scale_fit=Uklopi stranu
-page_scale_auto=Automatsko uvećanje
-page_scale_actual=Stvarna veliÄina
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=DoÅ¡lo je do greÅ¡ke prilikom uÄitavanja PDF-a.
-invalid_file_error=Neispravan ili oštećen PDF fajl.
-missing_file_error=Nedostaje PDF fajl.
-unexpected_response_error=NeoÄekivani odgovor servera.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} pribilješka]
-password_label=Upišite lozinku da biste otvorili ovaj PDF fajl.
-password_invalid=Pogrešna lozinka. Pokušajte ponovo.
-password_ok=OK
-password_cancel=Otkaži
-
-printing_not_supported=Upozorenje: Štampanje nije u potpunosti podržano u ovom browseru.
-printing_not_ready=Upozorenje: PDF nije u potpunosti uÄitan za Å¡tampanje.
-web_fonts_disabled=Web fontovi su onemogućeni: nemoguće koristiti ubaÄene PDF fontove.
diff --git a/static/js/pdf-js/web/locale/ca/viewer.properties b/static/js/pdf-js/web/locale/ca/viewer.properties
deleted file mode 100644
index 21e7dff..0000000
--- a/static/js/pdf-js/web/locale/ca/viewer.properties
+++ /dev/null
@@ -1,250 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=PÃ gina anterior
-previous_label=Anterior
-next.title=Pà gina següent
-next_label=Següent
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=PÃ gina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Redueix
-zoom_out_label=Redueix
-zoom_in.title=Amplia
-zoom_in_label=Amplia
-zoom.title=Escala
-presentation_mode.title=Canvia al mode de presentació
-presentation_mode_label=Mode de presentació
-open_file.title=Obre el fitxer
-open_file_label=Obre
-print.title=Imprimeix
-print_label=Imprimeix
-download.title=Baixa
-download_label=Baixa
-bookmark.title=Vista actual (copia o obre en una finestra nova)
-bookmark_label=Vista actual
-
-# Secondary toolbar and context menu
-tools.title=Eines
-tools_label=Eines
-first_page.title=Vés a la primera pà gina
-first_page_label=Vés a la primera pà gina
-last_page.title=Vés a l'última pà gina
-last_page_label=Vés a l'última pà gina
-page_rotate_cw.title=Gira cap a la dreta
-page_rotate_cw_label=Gira cap a la dreta
-page_rotate_ccw.title=Gira cap a l'esquerra
-page_rotate_ccw_label=Gira cap a l'esquerra
-
-cursor_text_select_tool.title=Habilita l'eina de selecció de text
-cursor_text_select_tool_label=Eina de selecció de text
-cursor_hand_tool.title=Habilita l'eina de mÃ
-cursor_hand_tool_label=Eina de mÃ
-
-scroll_page.title=Usa el desplaçament de pà gina
-scroll_page_label=Desplaçament de pà gina
-scroll_vertical.title=Utilitza el desplaçament vertical
-scroll_vertical_label=Desplaçament vertical
-scroll_horizontal.title=Utilitza el desplaçament horitzontal
-scroll_horizontal_label=Desplaçament horitzontal
-scroll_wrapped.title=Activa el desplaçament continu
-scroll_wrapped_label=Desplaçament continu
-
-spread_none.title=No agrupis les pà gines de dues en dues
-spread_none_label=Una sola pà gina
-spread_odd.title=Mostra dues pà gines començant per les pà gines de numeració senar
-spread_odd_label=Doble pà gina (senar)
-spread_even.title=Mostra dues pà gines començant per les pà gines de numeració parell
-spread_even_label=Doble pà gina (parell)
-
-# Document properties dialog box
-document_properties.title=Propietats del document…
-document_properties_label=Propietats del document…
-document_properties_file_name=Nom del fitxer:
-document_properties_file_size=Mida del fitxer:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=TÃtol:
-document_properties_author=Autor:
-document_properties_subject=Assumpte:
-document_properties_keywords=Paraules clau:
-document_properties_creation_date=Data de creació:
-document_properties_modification_date=Data de modificació:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creador:
-document_properties_producer=Generador de PDF:
-document_properties_version=Versió de PDF:
-document_properties_page_count=Nombre de pà gines:
-document_properties_page_size=Mida de la pà gina:
-document_properties_page_size_unit_inches=polzades
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=vertical
-document_properties_page_size_orientation_landscape=apaïsat
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Carta
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista web rà pida:
-document_properties_linearized_yes=SÃ
-document_properties_linearized_no=No
-document_properties_close=Tanca
-
-print_progress_message=S'està preparant la impressió del document…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancel·la
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Mostra/amaga la barra lateral
-toggle_sidebar_notification2.title=Mostra/amaga la barra lateral (el document conté un esquema, adjuncions o capes)
-toggle_sidebar_label=Mostra/amaga la barra lateral
-document_outline.title=Mostra l'esquema del document (doble clic per ampliar/reduir tots els elements)
-document_outline_label=Esquema del document
-attachments.title=Mostra les adjuncions
-attachments_label=Adjuncions
-layers.title=Mostra les capes (doble clic per restablir totes les capes al seu estat per defecte)
-layers_label=Capes
-thumbs.title=Mostra les miniatures
-thumbs_label=Miniatures
-current_outline_item.title=Cerca l'element d'esquema actual
-current_outline_item_label=Element d'esquema actual
-findbar.title=Cerca al document
-findbar_label=Cerca
-
-additional_layers=Capes addicionals
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=PÃ gina {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=PÃ gina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura de la pà gina {{page}}
-
-# Find panel button title and messages
-find_input.title=Cerca
-find_input.placeholder=Cerca al document…
-find_previous.title=Cerca l'anterior coincidència de l'expressió
-find_previous_label=Anterior
-find_next.title=Cerca la següent coincidència de l'expressió
-find_next_label=Següent
-find_highlight=Ressalta-ho tot
-find_match_case_label=Distingeix entre majúscules i minúscules
-find_entire_word_label=Paraules senceres
-find_reached_top=S'ha arribat al principi del document, es continua pel final
-find_reached_bottom=S'ha arribat al final del document, es continua pel principi
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} de {{total}} coincidència
-find_match_count[two]={{current}} de {{total}} coincidències
-find_match_count[few]={{current}} de {{total}} coincidències
-find_match_count[many]={{current}} de {{total}} coincidències
-find_match_count[other]={{current}} de {{total}} coincidències
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Més de {{limit}} coincidències
-find_match_count_limit[one]=Més d'{{limit}} coincidència
-find_match_count_limit[two]=Més de {{limit}} coincidències
-find_match_count_limit[few]=Més de {{limit}} coincidències
-find_match_count_limit[many]=Més de {{limit}} coincidències
-find_match_count_limit[other]=Més de {{limit}} coincidències
-find_not_found=No s'ha trobat l'expressió
-
-# Error panel labels
-error_more_info=Més informació
-error_less_info=Menys informació
-error_close=Tanca
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (muntatge: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Missatge: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fitxer: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=LÃnia: {{line}}
-rendering_error=S'ha produït un error mentre es renderitzava la pà gina.
-
-# Predefined zoom values
-page_scale_width=Amplada de la pà gina
-page_scale_fit=Ajusta la pà gina
-page_scale_auto=Zoom automà tic
-page_scale_actual=Mida real
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=S'està carregant…
-loading_error=S'ha produït un error en carregar el PDF.
-invalid_file_error=El fitxer PDF no és và lid o està malmès.
-missing_file_error=Falta el fitxer PDF.
-unexpected_response_error=Resposta inesperada del servidor.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotació {{type}}]
-password_label=Introduïu la contrasenya per obrir aquest fitxer PDF.
-password_invalid=La contrasenya no és và lida. Torneu-ho a provar.
-password_ok=D'acord
-password_cancel=Cancel·la
-
-printing_not_supported=AvÃs: la impressió no és plenament funcional en aquest navegador.
-printing_not_ready=Atenció: el PDF no s'ha acabat de carregar per imprimir-lo.
-web_fonts_disabled=Els tipus de lletra web estan desactivats: no es poden utilitzar els tipus de lletra incrustats al PDF.
diff --git a/static/js/pdf-js/web/locale/cak/viewer.properties b/static/js/pdf-js/web/locale/cak/viewer.properties
deleted file mode 100644
index 1828641..0000000
--- a/static/js/pdf-js/web/locale/cak/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Jun kan ruxaq
-previous_label=Jun kan
-next.title=Jun chik ruxaq
-next_label=Jun chik
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Ruxaq
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=richin {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} richin {{pagesCount}})
-
-zoom_out.title=Tich'utinirisäx
-zoom_out_label=Tich'utinirisäx
-zoom_in.title=Tinimirisäx
-zoom_in_label=Tinimirisäx
-zoom.title=Sum
-presentation_mode.title=Tijal ri rub'anikil niwachin
-presentation_mode_label=Pa rub'eyal niwachin
-open_file.title=Tijaq Yakb'äl
-open_file_label=Tijaq
-print.title=Titz'ajb'äx
-print_label=Titz'ajb'äx
-download.title=Tiqasäx
-download_label=Tiqasäx
-bookmark.title=Rutz'etik wakami (tiwachib'ëx o tijaq pa jun k'ak'a' tzuwäch)
-bookmark_label=Rutzub'al wakami
-
-# Secondary toolbar and context menu
-tools.title=Samajib'äl
-tools_label=Samajib'äl
-first_page.title=Tib'e pa nab'ey ruxaq
-first_page_label=Tib'e pa nab'ey ruxaq
-last_page.title=Tib'e pa ruk'isib'äl ruxaq
-last_page_label=Tib'e pa ruk'isib'äl ruxaq
-page_rotate_cw.title=Tisutïx pan ajkiq'a'
-page_rotate_cw_label=Tisutïx pan ajkiq'a'
-page_rotate_ccw.title=Tisutïx pan ajxokon
-page_rotate_ccw_label=Tisutïx pan ajxokon
-
-cursor_text_select_tool.title=Titzij ri rusamajib'al Rucha'ik Rucholajem Tzij
-cursor_text_select_tool_label=Rusamajib'al Rucha'ik Rucholajem Tzij
-cursor_hand_tool.title=Titzij ri q'ab'aj samajib'äl
-cursor_hand_tool_label=Q'ab'aj Samajib'äl
-
-scroll_vertical.title=Tokisäx Pa'äl Q'axanem
-scroll_vertical_label=Pa'äl Q'axanem
-scroll_horizontal.title=Tokisäx Kotz'öl Q'axanem
-scroll_horizontal_label=Kotz'öl Q'axanem
-scroll_wrapped.title=Tokisäx Tzub'aj Q'axanem
-scroll_wrapped_label=Tzub'aj Q'axanem
-
-spread_none.title=Man ketun taq ruxaq pa rub'eyal wuj
-spread_none_label=Majun Rub'eyal
-spread_odd.title=Ke'atunu' ri taq ruxaq rik'in natikirisaj rik'in jun man k'ulaj ta rajilab'al
-spread_odd_label=Man K'ulaj Ta Rub'eyal
-spread_even.title=Ke'atunu' ri taq ruxaq rik'in natikirisaj rik'in jun k'ulaj rajilab'al
-spread_even_label=K'ulaj Rub'eyal
-
-# Document properties dialog box
-document_properties.title=Taq richinil wuj…
-document_properties_label=Taq richinil wuj…
-document_properties_file_name=Rub'i' yakb'äl:
-document_properties_file_size=Runimilem yakb'äl:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=B'i'aj:
-document_properties_author=B'anel:
-document_properties_subject=Taqikil:
-document_properties_keywords=Kixe'el taq tzij:
-document_properties_creation_date=Ruq'ijul xtz'uk:
-document_properties_modification_date=Ruq'ijul xjalwachïx:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Q'inonel:
-document_properties_producer=PDF b'anöy:
-document_properties_version=PDF ruwäch:
-document_properties_page_count=Jarupe' ruxaq:
-document_properties_page_size=Runimilem ri Ruxaq:
-document_properties_page_size_unit_inches=pa
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=rupalem
-document_properties_page_size_orientation_landscape=rukotz'olem
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Loman wuj
-document_properties_page_size_name_legal=Taqanel tzijol
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Anin Rutz'etik Ajk'amaya'l:
-document_properties_linearized_yes=Ja'
-document_properties_linearized_no=Mani
-document_properties_close=Titz'apïx
-
-print_progress_message=Ruchojmirisaxik wuj richin nitz'ajb'äx…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Tiq'at
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Tijal ri ajxikin kajtz'ik
-toggle_sidebar_notification2.title=Tik'ex ri ajxikin yuqkajtz'ik (ri wuj eruk'wan taq ruchi'/taqo/kuchuj)
-toggle_sidebar_label=Tijal ri ajxikin kajtz'ik
-document_outline.title=Tik'ut pe ruch'akulal wuj (kamul-pitz'oj richin nirik'/nich'utinirisäx ronojel ruch'akulal)
-document_outline_label=Ruch'akulal wuj
-attachments.title=Kek'ut pe ri taq taqoj
-attachments_label=Taq taqoj
-layers.title=Kek'ut taq Kuchuj (ka'i'-pitz' richin yetzolïx ronojel ri taq kuchuj e k'o wi)
-layers_label=Taq kuchuj
-thumbs.title=Kek'ut pe taq ch'utiq
-thumbs_label=Koköj
-current_outline_item.title=Kekanöx Taq Ch'akulal Kik'wan Chib'äl
-current_outline_item_label=Taq Ch'akulal Kik'wan Chib'äl
-findbar.title=Tikanöx chupam ri wuj
-findbar_label=Tikanöx
-
-additional_layers=Tz'aqat ta Kuchuj
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Ruxaq {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Ruxaq {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Ruch'utinirisaxik ruxaq {{page}}
-
-# Find panel button title and messages
-find_input.title=Tikanöx
-find_input.placeholder=Tikanöx pa wuj…
-find_previous.title=Tib'an b'enam pa ri jun kan q'aptzij xilitäj
-find_previous_label=Jun kan
-find_next.title=Tib'e pa ri jun chik pajtzij xilitäj
-find_next_label=Jun chik
-find_highlight=Tiya' retal ronojel
-find_match_case_label=Tuk'äm ri' kik'in taq nimatz'ib' chuqa' taq ch'utitz'ib'
-find_entire_word_label=Tz'aqät taq tzij
-find_reached_top=Xb'eq'i' ri rutikirib'al wuj, xtikanöx k'a pa ruk'isib'äl
-find_reached_bottom=Xb'eq'i' ri ruk'isib'äl wuj, xtikanöx pa rutikirib'al
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} richin {{total}} nuk'äm ri'
-find_match_count[two]={{current}} richin {{total}} nikik'äm ki'
-find_match_count[few]={{current}} richin {{total}} nikik'äm ki'
-find_match_count[many]={{current}} richin {{total}} nikik'äm ki'
-find_match_count[other]={{current}} richin {{total}} nikik'äm ki'
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=K'ïy chi re {{limit}} nikik'äm ki'
-find_match_count_limit[one]=K'ïy chi re {{limit}} nuk'äm ri'
-find_match_count_limit[two]=K'ïy chi re {{limit}} nikik'äm ki'
-find_match_count_limit[few]=K'ïy chi re {{limit}} nikik'äm ki'
-find_match_count_limit[many]=K'ïy chi re {{limit}} nikik'äm ki'
-find_match_count_limit[other]=K'ïy chi re {{limit}} nikik'äm ki'
-find_not_found=Man xilitäj ta ri pajtzij
-
-# Error panel labels
-error_more_info=Ch'aqa' chik rutzijol
-error_less_info=Jub'a' ok rutzijol
-error_close=Titz'apïx
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Uqxa'n: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Tzub'aj: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Yakb'äl: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=B'ey: {{line}}
-rendering_error=Xk'ulwachitäj jun sachoj toq ninuk'wachij ri ruxaq.
-
-# Predefined zoom values
-page_scale_width=Ruwa ruxaq
-page_scale_fit=Tinuk' ruxaq
-page_scale_auto=Yonil chi nimilem
-page_scale_actual=Runimilem Wakami
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Nisamäj…
-loading_error=\u0020Xk'ulwachitäj jun sach'oj toq xnuk'ux ri PDF .
-invalid_file_error=Man oke ta o yujtajinäq ri PDF yakb'äl.
-missing_file_error=Man xilitäj ta ri PDF yakb'äl.
-unexpected_response_error=Man oyob'en ta tz'olin rutzij ruk'u'x samaj.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Tz'ib'anïk]
-password_label=Tatz'ib'aj ri ewan tzij richin najäq re yakb'äl re' pa PDF.
-password_invalid=Man okel ta ri ewan tzij: Tatojtob'ej chik.
-password_ok=Ütz
-password_cancel=Tiq'at
-
-printing_not_supported=Rutzijol k'ayewal: Ri rutz'ajb'axik man koch'el ta ronojel pa re okik'amaya'l re'.
-printing_not_ready=Rutzijol k'ayewal: Ri PDF man xusamajij ta ronojel richin nitz'ajb'äx.
-web_fonts_disabled=E chupül ri taq ajk'amaya'l tz'ib': man tikirel ta nokisäx ri taq tz'ib' PDF pa ch'ikenïk
diff --git a/static/js/pdf-js/web/locale/ckb/viewer.properties b/static/js/pdf-js/web/locale/ckb/viewer.properties
deleted file mode 100644
index b30cb76..0000000
--- a/static/js/pdf-js/web/locale/ckb/viewer.properties
+++ /dev/null
@@ -1,233 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=پەڕەی پێشوو
-previous_label=پێشوو
-next.title=پەڕەی دوواتر
-next_label=دوواتر
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=پەرە
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=Ù„Û• {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} Ù„Û• {{pagesCount}})
-
-zoom_out.title=ڕۆچوونی
-zoom_out_label=ڕۆچوونی
-zoom_in.title=هێنانەپێش
-zoom_in_label=هێنانەپێش
-zoom.title=زووم
-presentation_mode.title=گۆڕین بۆ دۆخی پێشکەشکردن
-presentation_mode_label=دۆخی پێشکەشکردن
-open_file.title=پەڕگە بکەرەوە
-open_file_label=کردنەوە
-print.title=چاپکردن
-print_label=چاپکردن
-download.title=داگرتن
-download_label=داگرتن
-bookmark.title=پێشبینینی ئێستا(لەبەریبگرەوە یان پەنجەرەیەکی نوێ بکەرەوە)
-bookmark_label=پیشبینینی ئێستا
-
-# Secondary toolbar and context menu
-tools.title=ئامرازەکان
-tools_label=ئامرازەکان
-first_page.title=برۆ بۆ یەکەم پەڕە
-first_page_label=بڕۆ بۆ یەکەم پەڕە
-last_page.title=بڕۆ بۆ کۆتا پەڕە
-last_page_label=بڕۆ بۆ کۆتا پەڕە
-page_rotate_cw.title=ئاڕاستەی میلی کاتژمێر
-page_rotate_cw_label=ئاڕاستەی میلی کاتژمێر
-page_rotate_ccw.title=پێچەوانەی میلی کاتژمێر
-page_rotate_ccw_label=پێچەوانەی میلی کاتژمێر
-
-cursor_text_select_tool.title=توڵامرازی نیشانکەری دەق چالاک بکە
-cursor_text_select_tool_label=توڵامرازی نیشانکەری دەق
-cursor_hand_tool.title=توڵامرازی دەستی چالاک بکە
-cursor_hand_tool_label=توڵامرازی دەستی
-
-scroll_vertical.title=ناردنی ئەستوونی بەکاربێنە
-scroll_vertical_label=ناردنی ئەستوونی
-scroll_horizontal.title=ناردنی ئاسۆیی بەکاربێنە
-scroll_horizontal_label=ناردنی ئاسۆیی
-scroll_wrapped.title=ناردنی لوولکراو بەکاربێنە
-scroll_wrapped_label=ناردنی لوولکراو
-
-
-# Document properties dialog box
-document_properties.title=تایبەتمەندییەکانی بەڵگەنامە...
-document_properties_label=تایبەتمەندییەکانی بەڵگەنامە...
-document_properties_file_name=ناوی پەڕگە:
-document_properties_file_size=قەبارەی پەڕگە:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} کب ({{size_b}} بایت)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} مب ({{size_b}} بایت)
-document_properties_title=سەردێڕ:
-document_properties_author=نووسەر
-document_properties_subject=بابەت:
-document_properties_keywords=کلیلەوشە:
-document_properties_creation_date=بەرواری درووستکردن:
-document_properties_modification_date=بەرواری دەستکاریکردن:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=درووستکەر:
-document_properties_producer=بەرهەمهێنەری PDF:
-document_properties_version=وەشانی PDF:
-document_properties_page_count=ژمارەی پەرەکان:
-document_properties_page_size=قەبارەی پەڕە:
-document_properties_page_size_unit_inches=ئینچ
-document_properties_page_size_unit_millimeters=ملم
-document_properties_page_size_orientation_portrait=پۆرترەیت(درێژ)
-document_properties_page_size_orientation_landscape=پانیی
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=نامە
-document_properties_page_size_name_legal=یاسایی
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=پیشاندانی وێبی خێرا:
-document_properties_linearized_yes=بەڵێ
-document_properties_linearized_no=نەخێر
-document_properties_close=داخستن
-
-print_progress_message=بەڵگەنامە ئامادەدەکرێت بۆ چاپکردن...
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=پاشگەزبوونەوە
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=لاتەنیشت پیشاندان/شاردنەوە
-toggle_sidebar_label=لاتەنیشت پیشاندان/شاردنەوە
-document_outline_label=سنووری چوارچێوە
-attachments.title=پاشکۆکان پیشان بدە
-attachments_label=پاشکۆکان
-layers_label=چینەکان
-thumbs.title=وێنۆچکە پیشان بدە
-thumbs_label=ÙˆÛŽÙ†Û†Ú†Ú©Û•
-findbar.title=لە بەڵگەنامە بگەرێ
-findbar_label=دۆزینەوە
-
-additional_layers=چینی زیاتر
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=پەڕەی {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=وێنۆچکەی پەڕەی {{page}}
-
-# Find panel button title and messages
-find_input.title=دۆزینەوە
-find_input.placeholder=لە بەڵگەنامە بگەرێ...
-find_previous.title=هەبوونی پێشوو بدۆزرەوە لە ڕستەکەدا
-find_previous_label=پێشوو
-find_next.title=هەبوونی داهاتوو بدۆزەرەوە لە ڕستەکەدا
-find_next_label=دوواتر
-find_highlight=هەمووی نیشانە بکە
-find_match_case_label=دۆخی لەیەکچوون
-find_entire_word_label=هەموو وشەکان
-find_reached_top=گەشتیتە سەرەوەی بەڵگەنامە، لە خوارەوە دەستت پێکرد
-find_reached_bottom=گەشتیتە کۆتایی بەڵگەنامە. لەسەرەوە دەستت پێکرد
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} لە کۆی {{total}} لەیەکچوو
-find_match_count[two]={{current}} لە کۆی {{total}} لەیەکچوو
-find_match_count[few]={{current}} لە کۆی {{total}} لەیەکچوو
-find_match_count[many]={{current}} لە کۆی {{total}} لەیەکچوو
-find_match_count[other]={{current}} لە کۆی {{total}} لەیەکچوو
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=زیاتر لە {{limit}} لەیەکچوو
-find_match_count_limit[one]=زیاتر لە {{limit}} لەیەکچوو
-find_match_count_limit[two]=زیاتر لە {{limit}} لەیەکچوو
-find_match_count_limit[few]=زیاتر لە {{limit}} لەیەکچوو
-find_match_count_limit[many]=زیاتر لە {{limit}} لەیەکچوو
-find_match_count_limit[other]=زیاتر لە {{limit}} لەیەکچوو
-find_not_found=نووسین نەدۆزرایەوە
-
-# Error panel labels
-error_more_info=زانیاری زیاتر
-error_less_info=زانیاری کەمتر
-error_close=داخستن
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=پەیام: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=لەسەریەک: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Ù¾Û•Ú•Ú¯Û•: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Ù‡ÛŽÚµ: {{line}}
-rendering_error=هەڵەیەک ڕوویدا لە کاتی پوختەکردنی (ڕێندەر) پەڕە.
-
-# Predefined zoom values
-page_scale_width=پانی پەڕە
-page_scale_fit=پڕبوونی پەڕە
-page_scale_auto=زوومی خۆکار
-page_scale_actual=قەبارەی ڕاستی
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=هەڵەیەک ڕوویدا لە کاتی بارکردنی PDF.
-invalid_file_error=پەڕگەی pdf تێکچووە یان نەگونجاوە.
-missing_file_error=پەڕگەی pdf بوونی نیە.
-unexpected_response_error=وەڵامی ڕاژەخوازی نەخوازراو.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} سەرنج]
-password_label=وشەی تێپەڕ بنووسە بۆ کردنەوەی پەڕگەی pdf.
-password_invalid=وشەی تێپەڕ هەڵەیە. تکایە دووبارە هەوڵ بدەرەوە.
-password_ok=باشە
-password_cancel=پاشگەزبوونەوە
-
-printing_not_supported=ئاگاداربە: چاپکردن بە تەواوی پشتگیر ناکرێت لەم وێبگەڕە.
-printing_not_ready=ئاگاداربە: PDF بە تەواوی بارنەبووە بۆ چاپکردن.
-web_fonts_disabled=جۆرەپیتی وێب ناچالاکە: نەتوانی جۆرەپیتی تێخراوی ناو pdfـەکە بەکاربێت.
diff --git a/static/js/pdf-js/web/locale/cs/viewer.properties b/static/js/pdf-js/web/locale/cs/viewer.properties
deleted file mode 100644
index 1bf8f00..0000000
--- a/static/js/pdf-js/web/locale/cs/viewer.properties
+++ /dev/null
@@ -1,279 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Přejde na předchozà stránku
-previous_label=PÅ™edchozÃ
-next.title=PÅ™ejde na následujÃcà stránku
-next_label=DalÅ¡Ã
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Stránka
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=z {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} z {{pagesCount}})
-
-zoom_out.title=Zmenšà velikost
-zoom_out_label=Zmenšit
-zoom_in.title=Zvětšà velikost
-zoom_in_label=Zvětšit
-zoom.title=Nastavà velikost
-presentation_mode.title=Přepne do režimu prezentace
-presentation_mode_label=Režim prezentace
-open_file.title=Otevře soubor
-open_file_label=OtevÅ™Ãt
-print.title=Vytiskne dokument
-print_label=Vytisknout
-download.title=Stáhne dokument
-download_label=Stáhnout
-bookmark.title=SouÄasný pohled (kopÃrovat nebo otevÅ™Ãt v novém oknÄ›)
-bookmark_label=SouÄasný pohled
-
-# Secondary toolbar and context menu
-tools.title=Nástroje
-tools_label=Nástroje
-first_page.title=Přejde na prvnà stránku
-first_page_label=PÅ™ejÃt na prvnà stránku
-last_page.title=Přejde na poslednà stránku
-last_page_label=PÅ™ejÃt na poslednà stránku
-page_rotate_cw.title=OtoÄà po smÄ›ru hodin
-page_rotate_cw_label=OtoÄit po smÄ›ru hodin
-page_rotate_ccw.title=OtoÄà proti smÄ›ru hodin
-page_rotate_ccw_label=OtoÄit proti smÄ›ru hodin
-
-cursor_text_select_tool.title=Povolà výběr textu
-cursor_text_select_tool_label=Výběr textu
-cursor_hand_tool.title=Povolà nástroj ruÄiÄka
-cursor_hand_tool_label=Nástroj ruÄiÄka
-
-scroll_page.title=Posouvat po stránkách
-scroll_page_label=Posouvánà po stránkách
-scroll_vertical.title=PoužÃt svislé posouvánÃ
-scroll_vertical_label=Svislé posouvánÃ
-scroll_horizontal.title=PoužÃt vodorovné posouvánÃ
-scroll_horizontal_label=Vodorovné posouvánÃ
-scroll_wrapped.title=PoužÃt postupné posouvánÃ
-scroll_wrapped_label=Postupné posouvánÃ
-
-spread_none.title=Nesdružovat stránky
-spread_none_label=Žádné sdruženÃ
-spread_odd.title=Sdružà stránky s umÃstÄ›nÃm lichých vlevo
-spread_odd_label=Sdruženà stránek (liché vlevo)
-spread_even.title=Sdružà stránky s umÃstÄ›nÃm sudých vlevo
-spread_even_label=Sdruženà stránek (sudé vlevo)
-
-# Document properties dialog box
-document_properties.title=Vlastnosti dokumentu…
-document_properties_label=Vlastnosti dokumentu…
-document_properties_file_name=Název souboru:
-document_properties_file_size=Velikost souboru:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bajtů)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bajtů)
-document_properties_title=Název stránky:
-document_properties_author=Autor:
-document_properties_subject=Předmět:
-document_properties_keywords=KlÃÄová slova:
-document_properties_creation_date=Datum vytvoÅ™enÃ:
-document_properties_modification_date=Datum úpravy:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Vytvořil:
-document_properties_producer=Tvůrce PDF:
-document_properties_version=Verze PDF:
-document_properties_page_count=PoÄet stránek:
-document_properties_page_size=Velikost stránky:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=na výšku
-document_properties_page_size_orientation_landscape=na Å¡ÃÅ™ku
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Dopis
-document_properties_page_size_name_legal=Právnà dokument
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Rychlé zobrazovánà z webu:
-document_properties_linearized_yes=Ano
-document_properties_linearized_no=Ne
-document_properties_close=ZavÅ™Ãt
-
-print_progress_message=PÅ™Ãprava dokumentu pro tisk…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}} %
-print_progress_close=Zrušit
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Postrannà lišta
-toggle_sidebar_notification2.title=PÅ™epnout postrannà liÅ¡tu (dokument obsahuje osnovu/pÅ™Ãlohy/vrstvy)
-toggle_sidebar_label=Postrannà lišta
-document_outline.title=Zobrazà osnovu dokumentu (poklepánà přepne zobrazenà všech položek)
-document_outline_label=Osnova dokumentu
-attachments.title=Zobrazà pÅ™Ãlohy
-attachments_label=PÅ™Ãlohy
-layers.title=Zobrazit vrstvy (poklepánÃm obnovÃte vÅ¡echny vrstvy do výchozÃho stavu)
-layers_label=Vrstvy
-thumbs.title=Zobrazà náhledy
-thumbs_label=Náhledy
-current_outline_item.title=NajÃt aktuálnà položku v osnovÄ›
-current_outline_item_label=Aktuálnà položka v osnově
-findbar.title=Najde v dokumentu
-findbar_label=NajÃt
-
-additional_layers=Dalšà vrstvy
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Strana {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Strana {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Náhled strany {{page}}
-
-# Find panel button title and messages
-find_input.title=NajÃt
-find_input.placeholder=NajÃt v dokumentu…
-find_previous.title=Najde předchozà výskyt hledaného textu
-find_previous_label=PÅ™edchozÃ
-find_next.title=Najde dalšà výskyt hledaného textu
-find_next_label=DalÅ¡Ã
-find_highlight=Zvýraznit
-find_match_case_label=Rozlišovat velikost
-find_match_diacritics_label=Rozlišovat diakritiku
-find_entire_word_label=Celá slova
-find_reached_top=Dosažen zaÄátek dokumentu, pokraÄuje se od konce
-find_reached_bottom=Dosažen konec dokumentu, pokraÄuje se od zaÄátku
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}}. z {{total}} výskytu
-find_match_count[two]={{current}}. z {{total}} výskytů
-find_match_count[few]={{current}}. z {{total}} výskytů
-find_match_count[many]={{current}}. z {{total}} výskytů
-find_match_count[other]={{current}}. z {{total}} výskytů
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=VÃce než {{limit}} výskytů
-find_match_count_limit[one]=VÃce než {{limit}} výskyt
-find_match_count_limit[two]=VÃce než {{limit}} výskyty
-find_match_count_limit[few]=VÃce než {{limit}} výskyty
-find_match_count_limit[many]=VÃce než {{limit}} výskytů
-find_match_count_limit[other]=VÃce než {{limit}} výskytů
-find_not_found=Hledaný text nenalezen
-
-# Error panel labels
-error_more_info=VÃce informacÃ
-error_less_info=MénÄ› informacÃ
-error_close=ZavÅ™Ãt
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (sestavenÃ: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Zpráva: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=ZásobnÃk: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Soubor: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Řádek: {{line}}
-rendering_error=Při vykreslovánà stránky nastala chyba.
-
-# Predefined zoom values
-page_scale_width=Podle Å¡ÃÅ™ky
-page_scale_fit=Podle výšky
-page_scale_auto=Automatická velikost
-page_scale_actual=SkuteÄná velikost
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}} %
-
-# Loading indicator messages
-loading=NaÄÃtánÃ…
-loading_error=Při nahrávánà PDF nastala chyba.
-invalid_file_error=Neplatný nebo chybný soubor PDF.
-missing_file_error=Chybà soubor PDF.
-unexpected_response_error=NeoÄekávaná odpovÄ›Ä serveru.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotace typu {{type}}]
-password_label=Pro otevřenà PDF souboru vložte heslo.
-password_invalid=Neplatné heslo. Zkuste to znovu.
-password_ok=OK
-password_cancel=Zrušit
-
-printing_not_supported=UpozornÄ›nÃ: Tisk nenà v tomto prohlÞeÄi plnÄ› podporován.
-printing_not_ready=UpozornÄ›nÃ: Dokument PDF nenà kompletnÄ› naÄten.
-web_fonts_disabled=Webová pÃsma jsou zakázána, proto nenà možné použÃt vložená pÃsma PDF.
-
-# Editor
-editor_none.title=Zakázat úpravy anotacÃ
-editor_none_label=Zakázat úpravy
-editor_free_text.title=Přidat textovou anotaci
-editor_free_text_label=Textová anotace
-editor_ink.title=Přidat psanou anotaci
-editor_ink_label=Psaná anotace
-
-free_text_default_content=Zadejte text…
-
-# Editor Parameters
-editor_free_text_font_color=Barva pÃsma
-editor_free_text_font_size=Velikost pÃsma
-editor_ink_line_color=Barva Äáry
-editor_ink_line_thickness=Tloušťka Äáry
-
-# Editor Parameters
-editor_free_text_color=Barva
-editor_free_text_size=Velikost
-editor_ink_color=Barva
-editor_ink_thickness=Tloušťka
-editor_ink_opacity=Průhlednost
-
-# Editor aria
-editor_free_text_aria_label=Editor textu
-editor_ink_aria_label=Editor psanà rukou
-editor_ink_canvas_aria_label=Uživatelem vytvořený obrázek
diff --git a/static/js/pdf-js/web/locale/cy/viewer.properties b/static/js/pdf-js/web/locale/cy/viewer.properties
deleted file mode 100644
index b5d0647..0000000
--- a/static/js/pdf-js/web/locale/cy/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Tudalen Flaenorol
-previous_label=Blaenorol
-next.title=Tudalen Nesaf
-next_label=Nesaf
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Tudalen
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=o {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} o {{pagesCount}})
-
-zoom_out.title=Chwyddo Allan
-zoom_out_label=Chwyddo Allan
-zoom_in.title=Chwyddo Mewn
-zoom_in_label=Chwyddo Mewn
-zoom.title=Chwyddo
-presentation_mode.title=Newid i'r Modd Cyflwyno
-presentation_mode_label=Modd Cyflwyno
-open_file.title=Agor Ffeil
-open_file_label=Agor
-print.title=Argraffu
-print_label=Argraffu
-download.title=Llwyth
-download_label=Llwytho i Lawr
-bookmark.title=Golwg cyfredol (copïo neu agor ffenestr newydd)
-bookmark_label=Golwg Gyfredol
-
-# Secondary toolbar and context menu
-tools.title=Offer
-tools_label=Offer
-first_page.title=Mynd i'r Dudalen Gyntaf
-first_page_label=Mynd i'r Dudalen Gyntaf
-last_page.title=Mynd i'r Dudalen Olaf
-last_page_label=Mynd i'r Dudalen Olaf
-page_rotate_cw.title=Cylchdroi Clocwedd
-page_rotate_cw_label=Cylchdroi Clocwedd
-page_rotate_ccw.title=Cylchdroi Gwrthglocwedd
-page_rotate_ccw_label=Cylchdroi Gwrthglocwedd
-
-cursor_text_select_tool.title=Galluogi Dewis Offeryn Testun
-cursor_text_select_tool_label=Offeryn Dewis Testun
-cursor_hand_tool.title=Galluogi Offeryn Llaw
-cursor_hand_tool_label=Offeryn Llaw
-
-scroll_page.title=Defnyddio Sgrolio Tudalen
-scroll_page_label=Sgrolio Tudalen
-scroll_vertical.title=Defnyddio Sgrolio Fertigol
-scroll_vertical_label=Sgrolio Fertigol
-scroll_horizontal.title=Defnyddio Sgrolio Llorweddol
-scroll_horizontal_label=Sgrolio Llorweddol
-scroll_wrapped.title=Defnyddio Sgrolio Amlapio
-scroll_wrapped_label=Sgrolio Amlapio
-
-spread_none.title=Peidio uno trawsdaleniadau
-spread_none_label=Dim Trawsdaleniadau
-spread_odd.title=Uno trawsdaleniadau gan gychwyn gyda thudalennau odrif
-spread_odd_label=Trawsdaleniadau Odrif
-spread_even.title=Uno trawsdaleniadau gan gychwyn gyda thudalennau eilrif
-spread_even_label=Trawsdaleniadau Eilrif
-
-# Document properties dialog box
-document_properties.title=Priodweddau Dogfen…
-document_properties_label=Priodweddau Dogfen…
-document_properties_file_name=Enw ffeil:
-document_properties_file_size=Maint ffeil:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} beit)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} beit)
-document_properties_title=Teitl:
-document_properties_author=Awdur:
-document_properties_subject=Pwnc:
-document_properties_keywords=Allweddair:
-document_properties_creation_date=Dyddiad Creu:
-document_properties_modification_date=Dyddiad Addasu:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Crewr:
-document_properties_producer=Cynhyrchydd PDF:
-document_properties_version=Fersiwn PDF:
-document_properties_page_count=Cyfrif Tudalen:
-document_properties_page_size=Maint Tudalen:
-document_properties_page_size_unit_inches=o fewn
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portread
-document_properties_page_size_orientation_landscape=tirlun
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Llythyr
-document_properties_page_size_name_legal=Cyfreithiol
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Golwg Gwe Cyflym:
-document_properties_linearized_yes=Iawn
-document_properties_linearized_no=Na
-document_properties_close=Cau
-
-print_progress_message=Paratoi dogfen ar gyfer ei hargraffu…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Diddymu
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Toglo'r Bar Ochr
-toggle_sidebar_notification2.title=Toglo'r Bar Ochr (mae'r ddogfen yn cynnwys amlinelliadau/atodiadau/haenau)
-toggle_sidebar_label=Toglo'r Bar Ochr
-document_outline.title=Dangos Amlinell Dogfen (clic dwbl i ymestyn/cau pob eitem)
-document_outline_label=Amlinelliad Dogfen
-attachments.title=Dangos Atodiadau
-attachments_label=Atodiadau
-layers.title=Dangos Haenau (cliciwch ddwywaith i ailosod yr holl haenau i'r cyflwr rhagosodedig)
-layers_label=Haenau
-thumbs.title=Dangos Lluniau Bach
-thumbs_label=Lluniau Bach
-current_outline_item.title=Canfod yr Eitem Amlinellol Gyfredol
-current_outline_item_label=Yr Eitem Amlinellol Gyfredol
-findbar.title=Canfod yn y Ddogfen
-findbar_label=Canfod
-
-additional_layers=Haenau Ychwanegol
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Tudalen {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Tudalen {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Llun Bach Tudalen {{page}}
-
-# Find panel button title and messages
-find_input.title=Canfod
-find_input.placeholder=Canfod yn y ddogfen…
-find_previous.title=Canfod enghraifft flaenorol o'r ymadrodd
-find_previous_label=Blaenorol
-find_next.title=Canfod enghraifft nesaf yr ymadrodd
-find_next_label=Nesaf
-find_highlight=Amlygu popeth
-find_match_case_label=Cydweddu maint
-find_match_diacritics_label=Diacritigau Cyfatebol
-find_entire_word_label=Geiriau cyfan
-find_reached_top=Wedi cyrraedd brig y dudalen, parhau o'r gwaelod
-find_reached_bottom=Wedi cyrraedd diwedd y dudalen, parhau o'r brig
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} o {{total}} cydweddiad
-find_match_count[two]={{current}} o {{total}} cydweddiad
-find_match_count[few]={{current}} o {{total}} cydweddiad
-find_match_count[many]={{current}} o {{total}} cydweddiad
-find_match_count[other]={{current}} o {{total}} cydweddiad
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Mwy na {{limit}} cydweddiad
-find_match_count_limit[one]=Mwy na {{limit}} cydweddiad
-find_match_count_limit[two]=Mwy na {{limit}} cydweddiad
-find_match_count_limit[few]=Mwy na {{limit}} cydweddiad
-find_match_count_limit[many]=Mwy na {{limit}} cydweddiad
-find_match_count_limit[other]=Mwy na {{limit}} cydweddiad
-find_not_found=Heb ganfod ymadrodd
-
-# Error panel labels
-error_more_info=Rhagor o Wybodaeth
-error_less_info=Llai o wybodaeth
-error_close=Cau
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Neges: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stac: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Ffeil: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Llinell: {{line}}
-rendering_error=Digwyddodd gwall wrth adeiladu'r dudalen.
-
-# Predefined zoom values
-page_scale_width=Lled Tudalen
-page_scale_fit=Ffit Tudalen
-page_scale_auto=Chwyddo Awtomatig
-page_scale_actual=Maint Gwirioneddol
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Yn llwytho…
-loading_error=Digwyddodd gwall wrth lwytho'r PDF.
-invalid_file_error=Ffeil PDF annilys neu llwgr.
-missing_file_error=Ffeil PDF coll.
-unexpected_response_error=Ymateb annisgwyl gan y gweinydd.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anodiad {{type}} ]
-password_label=Rhowch gyfrinair i agor y PDF.
-password_invalid=Cyfrinair annilys. Ceisiwch eto.
-password_ok=Iawn
-password_cancel=Diddymu
-
-printing_not_supported=Rhybudd: Nid yw argraffu yn cael ei gynnal yn llawn gan y porwr.
-printing_not_ready=Rhybudd: Nid yw'r PDF wedi ei lwytho'n llawn ar gyfer argraffu.
-web_fonts_disabled=Ffontiau gwe wedi eu hanalluogi: methu defnyddio ffontiau PDF mewnblanedig.
-
-# Editor
-editor_none.title=Analluogi Golygu Anodi
-editor_none_label=Analluogi Golygu
-editor_free_text.title=Ychwanegu Anodiad Testun Rhydd
-editor_free_text_label=Anodi Testun Rhydd
-editor_ink.title=Ychwanegu Anodiad Inc
-editor_ink_label=Ychwanegu Anodiad Inc
-
-freetext_default_content=Rhowch ychydig o destun…
-
-free_text_default_content=Rhowch destun…
-
-# Editor Parameters
-editor_free_text_font_color=Lliw Ffont
-editor_free_text_font_size=Maint Ffont
-editor_ink_line_color=Lliw Llinell
-editor_ink_line_thickness=Trwch Llinell
-
-# Editor Parameters
-editor_free_text_color=Lliw
-editor_free_text_size=Maint
-editor_ink_color=Lliw
-editor_ink_thickness=Trwch
-editor_ink_opacity=Didreiddedd
-
-# Editor aria
-editor_free_text_aria_label=Golygydd FreeText
-editor_ink_aria_label=Golygydd Inc
-editor_ink_canvas_aria_label=Delwedd wedi'i chreu gan ddefnyddwyr
diff --git a/static/js/pdf-js/web/locale/da/viewer.properties b/static/js/pdf-js/web/locale/da/viewer.properties
deleted file mode 100644
index 213f431..0000000
--- a/static/js/pdf-js/web/locale/da/viewer.properties
+++ /dev/null
@@ -1,267 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Forrige side
-previous_label=Forrige
-next.title=Næste side
-next_label=Næste
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Side
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=af {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} af {{pagesCount}})
-
-zoom_out.title=Zoom ud
-zoom_out_label=Zoom ud
-zoom_in.title=Zoom ind
-zoom_in_label=Zoom ind
-zoom.title=Zoom
-presentation_mode.title=Skift til fuldskærmsvisning
-presentation_mode_label=Fuldskærmsvisning
-open_file.title=Ã…bn fil
-open_file_label=Ã…bn
-print.title=Udskriv
-print_label=Udskriv
-download.title=Hent
-download_label=Hent
-bookmark.title=Aktuel visning (kopier eller åbn i et nyt vindue)
-bookmark_label=Aktuel visning
-
-# Secondary toolbar and context menu
-tools.title=Funktioner
-tools_label=Funktioner
-first_page.title=Gå til første side
-first_page_label=Gå til første side
-last_page.title=GÃ¥ til sidste side
-last_page_label=GÃ¥ til sidste side
-page_rotate_cw.title=Roter med uret
-page_rotate_cw_label=Roter med uret
-page_rotate_ccw.title=Roter mod uret
-page_rotate_ccw_label=Roter mod uret
-
-cursor_text_select_tool.title=Aktiver markeringsværktøj
-cursor_text_select_tool_label=Markeringsværktøj
-cursor_hand_tool.title=Aktiver håndværktøj
-cursor_hand_tool_label=Håndværktøj
-
-scroll_page.title=Brug sidescrolling
-scroll_page_label=Sidescrolling
-scroll_vertical.title=Brug vertikal scrolling
-scroll_vertical_label=Vertikal scrolling
-scroll_horizontal.title=Brug horisontal scrolling
-scroll_horizontal_label=Horisontal scrolling
-scroll_wrapped.title=Brug ombrudt scrolling
-scroll_wrapped_label=Ombrudt scrolling
-
-spread_none.title=Vis enkeltsider
-spread_none_label=Enkeltsider
-spread_odd.title=Vis opslag med ulige sidenumre til venstre
-spread_odd_label=Opslag med forside
-spread_even.title=Vis opslag med lige sidenumre til venstre
-spread_even_label=Opslag uden forside
-
-# Document properties dialog box
-document_properties.title=Dokumentegenskaber…
-document_properties_label=Dokumentegenskaber…
-document_properties_file_name=Filnavn:
-document_properties_file_size=Filstørrelse:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Titel:
-document_properties_author=Forfatter:
-document_properties_subject=Emne:
-document_properties_keywords=Nøgleord:
-document_properties_creation_date=Oprettet:
-document_properties_modification_date=Redigeret:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Program:
-document_properties_producer=PDF-producent:
-document_properties_version=PDF-version:
-document_properties_page_count=Antal sider:
-document_properties_page_size=Sidestørrelse:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=stående
-document_properties_page_size_orientation_landscape=liggende
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Hurtig web-visning:
-document_properties_linearized_yes=Ja
-document_properties_linearized_no=Nej
-document_properties_close=Luk
-
-print_progress_message=Forbereder dokument til udskrivning…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Annuller
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Slå sidepanel til eller fra
-toggle_sidebar_notification2.title=Slå sidepanel til eller fra (dokumentet indeholder disposition/vedhæftede filer/lag)
-toggle_sidebar_label=Slå sidepanel til eller fra
-document_outline.title=Vis dokumentets disposition (dobbeltklik for at vise/skjule alle elementer)
-document_outline_label=Dokument-disposition
-attachments.title=Vis vedhæftede filer
-attachments_label=Vedhæftede filer
-layers.title=Vis lag (dobbeltklik for at nulstille alle lag til standard-tilstanden)
-layers_label=Lag
-thumbs.title=Vis miniaturer
-thumbs_label=Miniaturer
-current_outline_item.title=Find det aktuelle dispositions-element
-current_outline_item_label=Aktuelt dispositions-element
-findbar.title=Find i dokument
-findbar_label=Find
-
-additional_layers=Yderligere lag
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Side {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Side {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniature af side {{page}}
-
-# Find panel button title and messages
-find_input.title=Find
-find_input.placeholder=Find i dokument…
-find_previous.title=Find den forrige forekomst
-find_previous_label=Forrige
-find_next.title=Find den næste forekomst
-find_next_label=Næste
-find_highlight=Fremhæv alle
-find_match_case_label=Forskel på store og små bogstaver
-find_match_diacritics_label=Diakritiske tegn
-find_entire_word_label=Hele ord
-find_reached_top=Toppen af siden blev nået, fortsatte fra bunden
-find_reached_bottom=Bunden af siden blev nået, fortsatte fra toppen
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} af {{total}} forekomst
-find_match_count[two]={{current}} af {{total}} forekomster
-find_match_count[few]={{current}} af {{total}} forekomster
-find_match_count[many]={{current}} af {{total}} forekomster
-find_match_count[other]={{current}} af {{total}} forekomster
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Mere end {{limit}} forekomster
-find_match_count_limit[one]=Mere end {{limit}} forekomst
-find_match_count_limit[two]=Mere end {{limit}} forekomster
-find_match_count_limit[few]=Mere end {{limit}} forekomster
-find_match_count_limit[many]=Mere end {{limit}} forekomster
-find_match_count_limit[other]=Mere end {{limit}} forekomster
-find_not_found=Der blev ikke fundet noget
-
-# Error panel labels
-error_more_info=Mere information
-error_less_info=Mindre information
-error_close=Luk
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Fejlmeddelelse: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fil: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linje: {{line}}
-rendering_error=Der opstod en fejl ved generering af siden.
-
-# Predefined zoom values
-page_scale_width=Sidebredde
-page_scale_fit=Tilpas til side
-page_scale_auto=Automatisk zoom
-page_scale_actual=Faktisk størrelse
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Indlæser…
-loading_error=Der opstod en fejl ved indlæsning af PDF-filen.
-invalid_file_error=PDF-filen er ugyldig eller ødelagt.
-missing_file_error=Manglende PDF-fil.
-unexpected_response_error=Uventet svar fra serveren.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}}kommentar]
-password_label=Angiv adgangskode til at åbne denne PDF-fil.
-password_invalid=Ugyldig adgangskode. Prøv igen.
-password_ok=OK
-password_cancel=Fortryd
-
-printing_not_supported=Advarsel: Udskrivning er ikke fuldt understøttet af browseren.
-printing_not_ready=Advarsel: PDF-filen er ikke fuldt indlæst til udskrivning.
-web_fonts_disabled=Webskrifttyper er deaktiverede. De indlejrede skrifttyper i PDF-filen kan ikke anvendes.
-
-# Editor
-editor_none.title=Deaktiver redigering af anmærkninger
-editor_none_label=Deaktiver redigering
-editor_ink.title=Tilføj håndskreven anmærkning
-editor_ink_label=Håndskreven anmærkning
-
-freetext_default_content=Indtast noget tekst…
-
-free_text_default_content=Indtast tekst…
-
-# Editor Parameters
-editor_free_text_font_color=Skriftfarve
-editor_free_text_font_size=Skriftstørrelse
-editor_ink_line_color=Linjefarve
-editor_ink_line_thickness=Linjetykkelse
diff --git a/static/js/pdf-js/web/locale/de/viewer.properties b/static/js/pdf-js/web/locale/de/viewer.properties
deleted file mode 100644
index 5afa6db..0000000
--- a/static/js/pdf-js/web/locale/de/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Eine Seite zurück
-previous_label=Zurück
-next.title=Eine Seite vor
-next_label=Vor
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Seite
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=von {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} von {{pagesCount}})
-
-zoom_out.title=Verkleinern
-zoom_out_label=Verkleinern
-zoom_in.title=Vergrößern
-zoom_in_label=Vergrößern
-zoom.title=Zoom
-presentation_mode.title=In Präsentationsmodus wechseln
-presentation_mode_label=Präsentationsmodus
-open_file.title=Datei öffnen
-open_file_label=Öffnen
-print.title=Drucken
-print_label=Drucken
-download.title=Dokument speichern
-download_label=Speichern
-bookmark.title=Aktuelle Ansicht (zum Kopieren oder Öffnen in einem neuen Fenster)
-bookmark_label=Aktuelle Ansicht
-
-# Secondary toolbar and context menu
-tools.title=Werkzeuge
-tools_label=Werkzeuge
-first_page.title=Erste Seite anzeigen
-first_page_label=Erste Seite anzeigen
-last_page.title=Letzte Seite anzeigen
-last_page_label=Letzte Seite anzeigen
-page_rotate_cw.title=Im Uhrzeigersinn drehen
-page_rotate_cw_label=Im Uhrzeigersinn drehen
-page_rotate_ccw.title=Gegen Uhrzeigersinn drehen
-page_rotate_ccw_label=Gegen Uhrzeigersinn drehen
-
-cursor_text_select_tool.title=Textauswahl-Werkzeug aktivieren
-cursor_text_select_tool_label=Textauswahl-Werkzeug
-cursor_hand_tool.title=Hand-Werkzeug aktivieren
-cursor_hand_tool_label=Hand-Werkzeug
-
-scroll_page.title=Seiten einzeln anordnen
-scroll_page_label=Einzelseitenanordnung
-scroll_vertical.title=Seiten übereinander anordnen
-scroll_vertical_label=Vertikale Seitenanordnung
-scroll_horizontal.title=Seiten nebeneinander anordnen
-scroll_horizontal_label=Horizontale Seitenanordnung
-scroll_wrapped.title=Seiten neben- und übereinander anordnen, abhängig vom Platz
-scroll_wrapped_label=Kombinierte Seitenanordnung
-
-spread_none.title=Seiten nicht nebeneinander anzeigen
-spread_none_label=Einzelne Seiten
-spread_odd.title=Jeweils eine ungerade und eine gerade Seite nebeneinander anzeigen
-spread_odd_label=Ungerade + gerade Seite
-spread_even.title=Jeweils eine gerade und eine ungerade Seite nebeneinander anzeigen
-spread_even_label=Gerade + ungerade Seite
-
-# Document properties dialog box
-document_properties.title=Dokumenteigenschaften
-document_properties_label=Dokumenteigenschaften…
-document_properties_file_name=Dateiname:
-document_properties_file_size=Dateigröße:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} Bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} Bytes)
-document_properties_title=Titel:
-document_properties_author=Autor:
-document_properties_subject=Thema:
-document_properties_keywords=Stichwörter:
-document_properties_creation_date=Erstelldatum:
-document_properties_modification_date=Bearbeitungsdatum:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}} {{time}}
-document_properties_creator=Anwendung:
-document_properties_producer=PDF erstellt mit:
-document_properties_version=PDF-Version:
-document_properties_page_count=Seitenzahl:
-document_properties_page_size=Seitengröße:
-document_properties_page_size_unit_inches=Zoll
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=Hochformat
-document_properties_page_size_orientation_landscape=Querformat
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Schnelle Webanzeige:
-document_properties_linearized_yes=Ja
-document_properties_linearized_no=Nein
-document_properties_close=Schließen
-
-print_progress_message=Dokument wird für Drucken vorbereitet…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}} %
-print_progress_close=Abbrechen
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Sidebar umschalten
-toggle_sidebar_notification2.title=Sidebar umschalten (Dokument enthält Dokumentstruktur/Anhänge/Ebenen)
-toggle_sidebar_label=Sidebar umschalten
-document_outline.title=Dokumentstruktur anzeigen (Doppelklicken, um alle Einträge aus- bzw. einzuklappen)
-document_outline_label=Dokumentstruktur
-attachments.title=Anhänge anzeigen
-attachments_label=Anhänge
-layers.title=Ebenen anzeigen (Doppelklicken, um alle Ebenen auf den Standardzustand zurückzusetzen)
-layers_label=Ebenen
-thumbs.title=Miniaturansichten anzeigen
-thumbs_label=Miniaturansichten
-current_outline_item.title=Aktuelles Struktur-Element finden
-current_outline_item_label=Aktuelles Struktur-Element
-findbar.title=Dokument durchsuchen
-findbar_label=Suchen
-
-additional_layers=Zusätzliche Ebenen
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Seite {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Seite {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniaturansicht von Seite {{page}}
-
-# Find panel button title and messages
-find_input.title=Suchen
-find_input.placeholder=Im Dokument suchen…
-find_previous.title=Vorheriges Vorkommen des Suchbegriffs finden
-find_previous_label=Zurück
-find_next.title=Nächstes Vorkommen des Suchbegriffs finden
-find_next_label=Weiter
-find_highlight=Alle hervorheben
-find_match_case_label=Groß-/Kleinschreibung beachten
-find_match_diacritics_label=Akzente
-find_entire_word_label=Ganze Wörter
-find_reached_top=Anfang des Dokuments erreicht, fahre am Ende fort
-find_reached_bottom=Ende des Dokuments erreicht, fahre am Anfang fort
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} von {{total}} Übereinstimmung
-find_match_count[two]={{current}} von {{total}} Übereinstimmungen
-find_match_count[few]={{current}} von {{total}} Übereinstimmungen
-find_match_count[many]={{current}} von {{total}} Übereinstimmungen
-find_match_count[other]={{current}} von {{total}} Übereinstimmungen
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Mehr als {{limit}} Übereinstimmungen
-find_match_count_limit[one]=Mehr als {{limit}} Übereinstimmung
-find_match_count_limit[two]=Mehr als {{limit}} Übereinstimmungen
-find_match_count_limit[few]=Mehr als {{limit}} Übereinstimmungen
-find_match_count_limit[many]=Mehr als {{limit}} Übereinstimmungen
-find_match_count_limit[other]=Mehr als {{limit}} Übereinstimmungen
-find_not_found=Suchbegriff nicht gefunden
-
-# Error panel labels
-error_more_info=Mehr Informationen
-error_less_info=Weniger Informationen
-error_close=Schließen
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js Version {{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Nachricht: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Aufrufliste: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Datei: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Zeile: {{line}}
-rendering_error=Beim Darstellen der Seite trat ein Fehler auf.
-
-# Predefined zoom values
-page_scale_width=Seitenbreite
-page_scale_fit=Seitengröße
-page_scale_auto=Automatischer Zoom
-page_scale_actual=Originalgröße
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}} %
-
-# Loading indicator messages
-loading=Wird geladen…
-loading_error=Beim Laden der PDF-Datei trat ein Fehler auf.
-invalid_file_error=Ungültige oder beschädigte PDF-Datei
-missing_file_error=Fehlende PDF-Datei
-unexpected_response_error=Unerwartete Antwort des Servers
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anlage: {{type}}]
-password_label=Geben Sie zum Öffnen der PDF-Datei deren Passwort ein.
-password_invalid=Falsches Passwort. Bitte versuchen Sie es erneut.
-password_ok=OK
-password_cancel=Abbrechen
-
-printing_not_supported=Warnung: Die Drucken-Funktion wird durch diesen Browser nicht vollständig unterstützt.
-printing_not_ready=Warnung: Die PDF-Datei ist nicht vollständig geladen, dies ist für das Drucken aber empfohlen.
-web_fonts_disabled=Web-Schriftarten sind deaktiviert: Eingebettete PDF-Schriftarten konnten nicht geladen werden.
-
-# Editor
-editor_none.title=Bearbeiten von Annotationen deaktivieren
-editor_none_label=Bearbeiten deaktivieren
-editor_free_text.title=FreeText-Annotation hinzufügen
-editor_free_text_label=FreeText-Annotation
-editor_ink.title=Ink-Annotation hinzufügen
-editor_ink_label=Ink-Annotation
-
-freetext_default_content=Text eingeben…
-
-free_text_default_content=Text eingeben…
-
-# Editor Parameters
-editor_free_text_font_color=Schriftfarbe
-editor_free_text_font_size=Schriftgröße
-editor_ink_line_color=Linienfarbe
-editor_ink_line_thickness=Liniendicke
-
-# Editor Parameters
-editor_free_text_color=Farbe
-editor_free_text_size=Größe
-editor_ink_color=Farbe
-editor_ink_thickness=Dicke
-editor_ink_opacity=Deckkraft
-
-# Editor aria
-editor_free_text_aria_label=FreeText-Editor
-editor_ink_aria_label=Ink-Editor
-editor_ink_canvas_aria_label=Vom Benutzer erstelltes Bild
diff --git a/static/js/pdf-js/web/locale/dsb/viewer.properties b/static/js/pdf-js/web/locale/dsb/viewer.properties
deleted file mode 100644
index d7e5f1a..0000000
--- a/static/js/pdf-js/web/locale/dsb/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pjerwjejšny bok
-previous_label=Slědk
-next.title=Pśiducy bok
-next_label=Dalej
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Bok
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=z {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} z {{pagesCount}})
-
-zoom_out.title=Pómjeńšyś
-zoom_out_label=Pómjeńšyś
-zoom_in.title=Pówětšyś
-zoom_in_label=Pówětšyś
-zoom.title=Skalěrowanje
-presentation_mode.title=Do prezentaciskego modusa pśejś
-presentation_mode_label=Prezentaciski modus
-open_file.title=Dataju wócyniś
-open_file_label=Wócyniś
-print.title=Śišćaś
-print_label=Śišćaś
-download.title=Ześěgnuś
-download_label=Ześěgnuś
-bookmark.title=Aktualny naglěd (kopěrowaś abo w nowem woknje wócyniś)
-bookmark_label=Aktualny naglěd
-
-# Secondary toolbar and context menu
-tools.title=Rědy
-tools_label=Rědy
-first_page.title=K prědnemu bokoju
-first_page_label=K prědnemu bokoju
-last_page.title=K slědnemu bokoju
-last_page_label=K slědnemu bokoju
-page_rotate_cw.title=Wobwjertnuś ako špěra źo
-page_rotate_cw_label=Wobwjertnuś ako špěra źo
-page_rotate_ccw.title=Wobwjertnuś nawopaki ako špěra źo
-page_rotate_ccw_label=Wobwjertnuś nawopaki ako špěra źo
-
-cursor_text_select_tool.title=Rěd za wuběranje teksta zmóžniś
-cursor_text_select_tool_label=Rěd za wuběranje teksta
-cursor_hand_tool.title=Rucny rěd zmóžniś
-cursor_hand_tool_label=Rucny rěd
-
-scroll_page.title=Kulanje boka wužywaś
-scroll_page_label=Kulanje boka
-scroll_vertical.title=Wertikalne suwanje wužywaś
-scroll_vertical_label=Wertikalne suwanje
-scroll_horizontal.title=Horicontalne suwanje wužywaś
-scroll_horizontal_label=Horicontalne suwanje
-scroll_wrapped.title=Pózlažke suwanje wužywaś
-scroll_wrapped_label=Pózlažke suwanje
-
-spread_none.title=Boki njezwězaś
-spread_none_label=Žeden dwójny bok
-spread_odd.title=Boki zachopinajucy z njerownymi bokami zwězaś
-spread_odd_label=Njerowne boki
-spread_even.title=Boki zachopinajucy z rownymi bokami zwězaś
-spread_even_label=Rowne boki
-
-# Document properties dialog box
-document_properties.title=Dokumentowe kakosći…
-document_properties_label=Dokumentowe kakosći…
-document_properties_file_name=MÄ› dataje:
-document_properties_file_size=Wjelikosć dataje:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bajtow)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bajtow)
-document_properties_title=Titel:
-document_properties_author=Awtor:
-document_properties_subject=Tema:
-document_properties_keywords=Klucowe słowa:
-document_properties_creation_date=Datum napóranja:
-document_properties_modification_date=Datum změny:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Awtor:
-document_properties_producer=PDF-gótowaŕ:
-document_properties_version=PDF-wersija:
-document_properties_page_count=Licba bokow:
-document_properties_page_size=Wjelikosć boka:
-document_properties_page_size_unit_inches=col
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=wusoki format
-document_properties_page_size_orientation_landscape=prěcny format
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=Jo
-document_properties_linearized_no=NÄ›
-document_properties_close=ZacyniÅ›
-
-print_progress_message=Dokument pśigótujo se za śišćanje…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Pśetergnuś
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Bócnicu pokazaś/schowaś
-toggle_sidebar_notification2.title=Bocnicu pśešaltowaś (dokument rozrědowanje/pśipiski/warstwy wopśimujo)
-toggle_sidebar_label=Bócnicu pokazaś/schowaś
-document_outline.title=Dokumentowe naraźenje pokazaś (dwójne kliknjenje, aby se wšykne zapiski pokazali/schowali)
-document_outline_label=Dokumentowa struktura
-attachments.title=Pśidanki pokazaś
-attachments_label=Pśidanki
-layers.title=Warstwy pokazaś (klikniśo dwójcy, aby wšykne warstwy na standardny staw slědk stajił)
-layers_label=Warstwy
-thumbs.title=Miniatury pokazaÅ›
-thumbs_label=Miniatury
-current_outline_item.title=Aktualny rozrědowański zapisk pytaś
-current_outline_item_label=Aktualny rozrědowański zapisk
-findbar.title=W dokumenśe pytaś
-findbar_label=PytaÅ›
-
-additional_layers=Dalšne warstwy
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Bok {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Bok {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura boka {{page}}
-
-# Find panel button title and messages
-find_input.title=PytaÅ›
-find_input.placeholder=W dokumenśe pytaś…
-find_previous.title=Pjerwjejšne wustupowanje pytańskego wuraza pytaś
-find_previous_label=Slědk
-find_next.title=Pśidujuce wustupowanje pytańskego wuraza pytaś
-find_next_label=Dalej
-find_highlight=Wšykne wuzwignuś
-find_match_case_label=Na wjelikopisanje źiwaś
-find_match_diacritics_label=Diakritiske znamuška wužywaś
-find_entire_word_label=Cełe słowa
-find_reached_top=Zachopjeńk dokumenta dostany, pókšacujo se z kóńcom
-find_reached_bottom=Kóńc dokumenta dostany, pókšacujo se ze zachopjeńkom
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} z {{total}} wótpowědnika
-find_match_count[two]={{current}} z {{total}} wótpowědnikowu
-find_match_count[few]={{current}} z {{total}} wótpowědnikow
-find_match_count[many]={{current}} z {{total}} wótpowědnikow
-find_match_count[other]={{current}} z {{total}} wótpowědnikow
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Wěcej ako {{limit}} wótpowědnikow
-find_match_count_limit[one]=Wěcej ako {{limit}} wótpowědnik
-find_match_count_limit[two]=Wěcej ako {{limit}} wótpowědnika
-find_match_count_limit[few]=Wěcej ako {{limit}} wótpowědniki
-find_match_count_limit[many]=Wěcej ako {{limit}} wótpowědnikow
-find_match_count_limit[other]=Wěcej ako {{limit}} wótpowědnikow
-find_not_found=Pytański wuraz njejo se namakał
-
-# Error panel labels
-error_more_info=Wěcej informacijow
-error_less_info=Mjenjej informacijow
-error_close=ZacyniÅ›
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Powěźenka: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Lisćina zawołanjow: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Dataja: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Smužka: {{line}}
-rendering_error=Pśi zwobraznjanju boka jo zmólka nastała.
-
-# Predefined zoom values
-page_scale_width=Šyrokosć boka
-page_scale_fit=Wjelikosć boka
-page_scale_auto=Awtomatiske skalěrowanje
-page_scale_actual=Aktualna wjelikosć
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Zacytujo se…
-loading_error=Pśi zacytowanju PDF jo zmólka nastała.
-invalid_file_error=Njepłaśiwa abo wobškóźona PDF-dataja.
-missing_file_error=Felujuca PDF-dataja.
-unexpected_response_error=Njewócakane serwerowe wótegrono.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Typ pśipiskow: {{type}}]
-password_label=Zapódajśo gronidło, aby PDF-dataju wócynił.
-password_invalid=Njepłaśiwe gronidło. Pšosym wopytajśo hyšći raz.
-password_ok=W pórěźe
-password_cancel=Pśetergnuś
-
-printing_not_supported=Warnowanje: Śišćanje njepódpěra se połnje pśez toś ten wobglědowak.
-printing_not_ready=Warnowanje: PDF njejo se za śišćanje dopołnje zacytał.
-web_fonts_disabled=Webpisma su znjemóžnjone: njejo móžno, zasajźone PDF-pisma wužywaś.
-
-# Editor
-editor_none.title=Wobźěłowanje anotacijow znjemóžniś
-editor_none_label=Wobźěłowanje znjemóžniś
-editor_free_text.title=Anotaciju FreeText pśidaś
-editor_free_text_label=Anotacija FreeText
-editor_ink.title=Tintowu anotaciju pśidaś
-editor_ink_label=Tintowa anotacija
-
-freetext_default_content=Zapódajśo pitśku teksta…
-
-free_text_default_content=Tekst zapódaś…
-
-# Editor Parameters
-editor_free_text_font_color=Pismowa barwa
-editor_free_text_font_size=Pismowe wjelikosć
-editor_ink_line_color=Linijowa barwa
-editor_ink_line_thickness=Linijowa tłustosć
-
-# Editor Parameters
-editor_free_text_color=Barwa
-editor_free_text_size=Wjelikosć
-editor_ink_color=Barwa
-editor_ink_thickness=Tłustosć
-editor_ink_opacity=Opacita
-
-# Editor aria
-editor_free_text_aria_label=Dermotny tekstowy editor
-editor_ink_aria_label=Tintowy editor
-editor_ink_canvas_aria_label=Wobraz napórany wót wužywarja
diff --git a/static/js/pdf-js/web/locale/el/viewer.properties b/static/js/pdf-js/web/locale/el/viewer.properties
deleted file mode 100644
index cf60407..0000000
--- a/static/js/pdf-js/web/locale/el/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Î ÏοηγοÏμενη σελίδα
-previous_label=Î ÏοηγοÏμενη
-next.title=Επόμενη σελίδα
-next_label=Επόμενη
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Σελίδα
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=από {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} από {{pagesCount}})
-
-zoom_out.title=ΣμίκÏυνση
-zoom_out_label=ΣμίκÏυνση
-zoom_in.title=ΜεγÎθυνση
-zoom_in_label=ΜεγÎθυνση
-zoom.title=Ζουμ
-presentation_mode.title=Εναλλαγή σε λειτουÏγία παÏουσίασης
-presentation_mode_label=ΛειτουÏγία παÏουσίασης
-open_file.title=Άνοιγμα αÏχείου
-open_file_label=Άνοιγμα
-print.title=ΕκτÏπωση
-print_label=ΕκτÏπωση
-download.title=Λήψη
-download_label=Λήψη
-bookmark.title=ΤÏÎχουσα Ï€Ïοβολή (αντιγÏαφή ή άνοιγμα σε νÎο παÏάθυÏο)
-bookmark_label=ΤÏÎχουσα Ï€Ïοβολή
-
-# Secondary toolbar and context menu
-tools.title=ΕÏγαλεία
-tools_label=ΕÏγαλεία
-first_page.title=Μετάβαση στην Ï€Ïώτη σελίδα
-first_page_label=Μετάβαση στην Ï€Ïώτη σελίδα
-last_page.title=Μετάβαση στην τελευταία σελίδα
-last_page_label=Μετάβαση στην τελευταία σελίδα
-page_rotate_cw.title=ΔεξιόστÏοφη πεÏιστÏοφή
-page_rotate_cw_label=ΔεξιόστÏοφη πεÏιστÏοφή
-page_rotate_ccw.title=ΑÏιστεÏόστÏοφη πεÏιστÏοφή
-page_rotate_ccw_label=ΑÏιστεÏόστÏοφη πεÏιστÏοφή
-
-cursor_text_select_tool.title=ΕνεÏγοποίηση εÏγαλείου επιλογής κειμÎνου
-cursor_text_select_tool_label=ΕÏγαλείο επιλογής κειμÎνου
-cursor_hand_tool.title=ΕνεÏγοποίηση εÏγαλείου χεÏιοÏ
-cursor_hand_tool_label=ΕÏγαλείο χεÏιοÏ
-
-scroll_page.title=ΧÏήση κÏλισης σελίδας
-scroll_page_label=ΚÏλιση σελίδας
-scroll_vertical.title=ΧÏήση κάθετης κÏλισης
-scroll_vertical_label=Κάθετη κÏλιση
-scroll_horizontal.title=ΧÏήση οÏιζόντιας κÏλισης
-scroll_horizontal_label=ΟÏιζόντια κÏλιση
-scroll_wrapped.title=ΧÏήση κυκλικής κÏλισης
-scroll_wrapped_label=Κυκλική κÏλιση
-
-spread_none.title=Îα μην γίνει σÏνδεση επεκτάσεων σελίδων
-spread_none_label=ΧωÏίς επεκτάσεις
-spread_odd.title=ΣÏνδεση επεκτάσεων σελίδων ξεκινώντας από τις μονÎÏ‚ σελίδες
-spread_odd_label=ΜονÎÏ‚ επεκτάσεις
-spread_even.title=ΣÏνδεση επεκτάσεων σελίδων ξεκινώντας από τις ζυγÎÏ‚ σελίδες
-spread_even_label=ΖυγÎÏ‚ επεκτάσεις
-
-# Document properties dialog box
-document_properties.title=Ιδιότητες εγγÏάφου…
-document_properties_label=Ιδιότητες εγγÏάφου…
-document_properties_file_name=Όνομα αÏχείου:
-document_properties_file_size=ΜÎγεθος αÏχείου:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Τίτλος:
-document_properties_author=ΣυγγÏαφÎας:
-document_properties_subject=ΘÎμα:
-document_properties_keywords=ΛÎξεις-κλειδιά:
-document_properties_creation_date=ΗμεÏομηνία δημιουÏγίας:
-document_properties_modification_date=ΗμεÏομηνία Ï„Ïοποποίησης:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=ΔημιουÏγός:
-document_properties_producer=ΠαÏαγωγός PDF:
-document_properties_version=Έκδοση PDF:
-document_properties_page_count=ΑÏιθμός σελίδων:
-document_properties_page_size=ΜÎγεθος σελίδας:
-document_properties_page_size_unit_inches=ίντσες
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=κατακόÏυφα
-document_properties_page_size_orientation_landscape=οÏιζόντια
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Επιστολή
-document_properties_page_size_name_legal=ΤÏπου Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Ταχεία Ï€Ïοβολή ιστοÏ:
-document_properties_linearized_yes=Îαι
-document_properties_linearized_no=Όχι
-document_properties_close=Κλείσιμο
-
-print_progress_message=Î Ïοετοιμασία του εγγÏάφου για εκτÏπωση…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=ΑκÏÏωση
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=(Απ)ενεÏγοποίηση πλαϊνής γÏαμμής
-toggle_sidebar_notification2.title=(Απ)ενεÏγοποίηση πλαϊνής γÏαμμής (το ÎγγÏαφο πεÏιÎχει πεÏίγÏαμμα/συνημμÎνα/επίπεδα)
-toggle_sidebar_label=(Απ)ενεÏγοποίηση πλαϊνής γÏαμμής
-document_outline.title=Εμφάνιση διάÏθÏωσης εγγÏάφου (διπλό κλικ για ανάπτυξη/σÏμπτυξη όλων των στοιχείων)
-document_outline_label=ΔιάÏθÏωση εγγÏάφου
-attachments.title=Εμφάνιση συνημμÎνων
-attachments_label=ΣυνημμÎνα
-layers.title=Εμφάνιση επιπÎδων (διπλό κλικ για επαναφοÏά όλων των επιπÎδων στην Ï€ÏοεπιλεγμÎνη κατάσταση)
-layers_label=Επίπεδα
-thumbs.title=Εμφάνιση μικÏογÏαφιών
-thumbs_label=ΜικÏογÏαφίες
-current_outline_item.title=ΕÏÏεση Ï„ÏÎχοντος στοιχείου διάÏθÏωσης
-current_outline_item_label=ΤÏÎχον στοιχείο διάÏθÏωσης
-findbar.title=ΕÏÏεση στο ÎγγÏαφο
-findbar_label=ΕÏÏεση
-
-additional_layers=ΕπιπÏόσθετα επίπεδα
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Σελίδα {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Σελίδα {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=ΜικÏογÏαφία σελίδας {{page}}
-
-# Find panel button title and messages
-find_input.title=ΕÏÏεση
-find_input.placeholder=ΕÏÏεση στο ÎγγÏαφο…
-find_previous.title=ΕÏÏεση της Ï€ÏοηγοÏμενης εμφάνισης της φÏάσης
-find_previous_label=Î ÏοηγοÏμενο
-find_next.title=ΕÏÏεση της επόμενης εμφάνισης της φÏάσης
-find_next_label=Επόμενο
-find_highlight=Επισήμανση όλων
-find_match_case_label=Συμφωνία πεζών/κεφαλαίων
-find_match_diacritics_label=Αντιστοίχιση διακÏιτικών
-find_entire_word_label=ΟλόκληÏες λÎξεις
-find_reached_top=Φτάσατε στην αÏχή του εγγÏάφου, συνÎχεια από το Ï„Îλος
-find_reached_bottom=Φτάσατε στο Ï„Îλος του εγγÏάφου, συνÎχεια από την αÏχή
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} από {{total}} αντιστοιχία
-find_match_count[two]={{current}} από {{total}} αντιστοιχίες
-find_match_count[few]={{current}} από {{total}} αντιστοιχίες
-find_match_count[many]={{current}} από {{total}} αντιστοιχίες
-find_match_count[other]={{current}} από {{total}} αντιστοιχίες
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=ΠεÏισσότεÏες από {{limit}} αντιστοιχίες
-find_match_count_limit[one]=ΠεÏισσότεÏες από {{limit}} αντιστοιχία
-find_match_count_limit[two]=ΠεÏισσότεÏες από {{limit}} αντιστοιχίες
-find_match_count_limit[few]=ΠεÏισσότεÏες από {{limit}} αντιστοιχίες
-find_match_count_limit[many]=ΠεÏισσότεÏες από {{limit}} αντιστοιχίες
-find_match_count_limit[other]=ΠεÏισσότεÏες από {{limit}} αντιστοιχίες
-find_not_found=Η φÏάση δεν βÏÎθηκε
-
-# Error panel labels
-error_more_info=ΠεÏισσότεÏες πληÏοφοÏίες
-error_less_info=ΛιγότεÏες πληÏοφοÏίες
-error_close=Κλείσιμο
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (Îκδοση: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Μήνυμα: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Στοίβα: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ΑÏχείο: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=ΓÏαμμή: {{line}}
-rendering_error=Î ÏοÎκυψε σφάλμα κατά την εμφάνιση της σελίδας.
-
-# Predefined zoom values
-page_scale_width=Πλάτος σελίδας
-page_scale_fit=ΜÎγεθος σελίδας
-page_scale_auto=Αυτόματο ζουμ
-page_scale_actual=Î Ïαγματικό μÎγεθος
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=ΦόÏτωση…
-loading_error=Î ÏοÎκυψε σφάλμα κατά τη φόÏτωση του PDF.
-invalid_file_error=Μη ÎγκυÏο ή κατεστÏαμμÎνο αÏχείο PDF.
-missing_file_error=Λείπει αÏχείο PDF.
-unexpected_response_error=Μη αναμενόμενη απόκÏιση από το διακομιστή.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Σχόλιο «{{type}}»]
-password_label=Εισαγάγετε τον κωδικό Ï€Ïόσβασης για να ανοίξετε αυτό το αÏχείο PDF.
-password_invalid=Μη ÎγκυÏος κωδικός Ï€Ïόσβασης. ΠαÏακαλώ δοκιμάστε ξανά.
-password_ok=OK
-password_cancel=ΑκÏÏωση
-
-printing_not_supported=Î Ïοειδοποίηση: Η εκτÏπωση δεν υποστηÏίζεται πλήÏως από το Ï€ÏόγÏαμμα πεÏιήγησης.
-printing_not_ready=Î Ïοειδοποίηση: Το PDF δεν φοÏτώθηκε πλήÏως για εκτÏπωση.
-web_fonts_disabled=Οι γÏαμματοσειÏÎÏ‚ Î¹ÏƒÏ„Î¿Ï ÎµÎ¯Î½Î±Î¹ ανενεÏγÎÏ‚: δεν είναι δυνατή η χÏήση των ενσωματωμÎνων γÏαμματοσειÏών PDF.
-
-# Editor
-editor_none.title=ΑπενεÏγοποίηση επεξεÏγασίας σχολίων
-editor_none_label=ΑπενεÏγοποίηση επεξεÏγασίας
-editor_free_text.title=Î Ïοσθήκη σχολίου ελεÏθεÏου κειμÎνου
-editor_free_text_label=Σχόλιο ελεÏθεÏου κειμÎνου
-editor_ink.title=Î Ïοσθήκη σχολίου με μελάνι
-editor_ink_label=Σχόλιο με μελάνι
-
-freetext_default_content=Εισαγάγετε κάποιο κείμενο…
-
-free_text_default_content=Εισαγάγετε κείμενο…
-
-# Editor Parameters
-editor_free_text_font_color=ΧÏώμα γÏαμματοσειÏάς
-editor_free_text_font_size=ΜÎγεθος γÏαμματοσειÏάς
-editor_ink_line_color=ΧÏώμα γÏαμμής
-editor_ink_line_thickness=Πάχος γÏαμμής
-
-# Editor Parameters
-editor_free_text_color=ΧÏώμα
-editor_free_text_size=ΜÎγεθος
-editor_ink_color=ΧÏώμα
-editor_ink_thickness=Πάχος
-editor_ink_opacity=Αδιαφάνεια
-
-# Editor aria
-editor_free_text_aria_label=ΕπεξεÏγασία ελεÏθεÏου κειμÎνου
-editor_ink_aria_label=ΕπεξεÏγασία γÏαφής μελανιοÏ
-editor_ink_canvas_aria_label=Εικόνα από τον χÏήστη
diff --git a/static/js/pdf-js/web/locale/en-CA/viewer.properties b/static/js/pdf-js/web/locale/en-CA/viewer.properties
deleted file mode 100644
index 786ad3a..0000000
--- a/static/js/pdf-js/web/locale/en-CA/viewer.properties
+++ /dev/null
@@ -1,269 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Previous Page
-previous_label=Previous
-next.title=Next Page
-next_label=Next
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Page
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=of {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} of {{pagesCount}})
-
-zoom_out.title=Zoom Out
-zoom_out_label=Zoom Out
-zoom_in.title=Zoom In
-zoom_in_label=Zoom In
-zoom.title=Zoom
-presentation_mode.title=Switch to Presentation Mode
-presentation_mode_label=Presentation Mode
-open_file.title=Open File
-open_file_label=Open
-print.title=Print
-print_label=Print
-download.title=Download
-download_label=Download
-bookmark.title=Current view (copy or open in new window)
-bookmark_label=Current View
-
-# Secondary toolbar and context menu
-tools.title=Tools
-tools_label=Tools
-first_page.title=Go to First Page
-first_page_label=Go to First Page
-last_page.title=Go to Last Page
-last_page_label=Go to Last Page
-page_rotate_cw.title=Rotate Clockwise
-page_rotate_cw_label=Rotate Clockwise
-page_rotate_ccw.title=Rotate Counterclockwise
-page_rotate_ccw_label=Rotate Counterclockwise
-
-cursor_text_select_tool.title=Enable Text Selection Tool
-cursor_text_select_tool_label=Text Selection Tool
-cursor_hand_tool.title=Enable Hand Tool
-cursor_hand_tool_label=Hand Tool
-
-scroll_page.title=Use Page Scrolling
-scroll_page_label=Page Scrolling
-scroll_vertical.title=Use Vertical Scrolling
-scroll_vertical_label=Vertical Scrolling
-scroll_horizontal.title=Use Horizontal Scrolling
-scroll_horizontal_label=Horizontal Scrolling
-scroll_wrapped.title=Use Wrapped Scrolling
-scroll_wrapped_label=Wrapped Scrolling
-
-spread_none.title=Do not join page spreads
-spread_none_label=No Spreads
-spread_odd.title=Join page spreads starting with odd-numbered pages
-spread_odd_label=Odd Spreads
-spread_even.title=Join page spreads starting with even-numbered pages
-spread_even_label=Even Spreads
-
-# Document properties dialog box
-document_properties.title=Document Properties…
-document_properties_label=Document Properties…
-document_properties_file_name=File name:
-document_properties_file_size=File size:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} kB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Title:
-document_properties_author=Author:
-document_properties_subject=Subject:
-document_properties_keywords=Keywords:
-document_properties_creation_date=Creation Date:
-document_properties_modification_date=Modification Date:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creator:
-document_properties_producer=PDF Producer:
-document_properties_version=PDF Version:
-document_properties_page_count=Page Count:
-document_properties_page_size=Page Size:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portrait
-document_properties_page_size_orientation_landscape=landscape
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=Yes
-document_properties_linearized_no=No
-document_properties_close=Close
-
-print_progress_message=Preparing document for printing…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancel
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Toggle Sidebar
-toggle_sidebar_notification2.title=Toggle Sidebar (document contains outline/attachments/layers)
-toggle_sidebar_label=Toggle Sidebar
-document_outline.title=Show Document Outline (double-click to expand/collapse all items)
-document_outline_label=Document Outline
-attachments.title=Show Attachments
-attachments_label=Attachments
-layers.title=Show Layers (double-click to reset all layers to the default state)
-layers_label=Layers
-thumbs.title=Show Thumbnails
-thumbs_label=Thumbnails
-current_outline_item.title=Find Current Outline Item
-current_outline_item_label=Current Outline Item
-findbar.title=Find in Document
-findbar_label=Find
-
-additional_layers=Additional Layers
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Page {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Page {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Thumbnail of Page {{page}}
-
-# Find panel button title and messages
-find_input.title=Find
-find_input.placeholder=Find in document…
-find_previous.title=Find the previous occurrence of the phrase
-find_previous_label=Previous
-find_next.title=Find the next occurrence of the phrase
-find_next_label=Next
-find_highlight=Highlight All
-find_match_case_label=Match Case
-find_match_diacritics_label=Match Diacritics
-find_entire_word_label=Whole Words
-find_reached_top=Reached top of document, continued from bottom
-find_reached_bottom=Reached end of document, continued from top
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} of {{total}} match
-find_match_count[two]={{current}} of {{total}} matches
-find_match_count[few]={{current}} of {{total}} matches
-find_match_count[many]={{current}} of {{total}} matches
-find_match_count[other]={{current}} of {{total}} matches
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=More than {{limit}} matches
-find_match_count_limit[one]=More than {{limit}} match
-find_match_count_limit[two]=More than {{limit}} matches
-find_match_count_limit[few]=More than {{limit}} matches
-find_match_count_limit[many]=More than {{limit}} matches
-find_match_count_limit[other]=More than {{limit}} matches
-find_not_found=Phrase not found
-
-# Error panel labels
-error_more_info=More Information
-error_less_info=Less Information
-error_close=Close
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Message: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=File: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Line: {{line}}
-rendering_error=An error occurred while rendering the page.
-
-# Predefined zoom values
-page_scale_width=Page Width
-page_scale_fit=Page Fit
-page_scale_auto=Automatic Zoom
-page_scale_actual=Actual Size
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Loading…
-loading_error=An error occurred while loading the PDF.
-invalid_file_error=Invalid or corrupted PDF file.
-missing_file_error=Missing PDF file.
-unexpected_response_error=Unexpected server response.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=Enter the password to open this PDF file.
-password_invalid=Invalid password. Please try again.
-password_ok=OK
-password_cancel=Cancel
-
-printing_not_supported=Warning: Printing is not fully supported by this browser.
-printing_not_ready=Warning: The PDF is not fully loaded for printing.
-web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts.
-
-# Editor
-editor_none.title=Disable Annotation Editing
-editor_none_label=Disable Editing
-editor_free_text.title=Add FreeText Annotation
-editor_free_text_label=FreeText Annotation
-editor_ink.title=Add Ink Annotation
-editor_ink_label=Ink Annotation
-
-freetext_default_content=Enter some text…
-
-free_text_default_content=Enter text…
-
-# Editor Parameters
-editor_free_text_font_color=Font Colour
-editor_free_text_font_size=Font Size
-editor_ink_line_color=Line Colour
-editor_ink_line_thickness=Line Thickness
diff --git a/static/js/pdf-js/web/locale/en-GB/viewer.properties b/static/js/pdf-js/web/locale/en-GB/viewer.properties
deleted file mode 100644
index c8cdaee..0000000
--- a/static/js/pdf-js/web/locale/en-GB/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Previous Page
-previous_label=Previous
-next.title=Next Page
-next_label=Next
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Page
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=of {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} of {{pagesCount}})
-
-zoom_out.title=Zoom Out
-zoom_out_label=Zoom Out
-zoom_in.title=Zoom In
-zoom_in_label=Zoom In
-zoom.title=Zoom
-presentation_mode.title=Switch to Presentation Mode
-presentation_mode_label=Presentation Mode
-open_file.title=Open File
-open_file_label=Open
-print.title=Print
-print_label=Print
-download.title=Download
-download_label=Download
-bookmark.title=Current view (copy or open in new window)
-bookmark_label=Current View
-
-# Secondary toolbar and context menu
-tools.title=Tools
-tools_label=Tools
-first_page.title=Go to First Page
-first_page_label=Go to First Page
-last_page.title=Go to Last Page
-last_page_label=Go to Last Page
-page_rotate_cw.title=Rotate Clockwise
-page_rotate_cw_label=Rotate Clockwise
-page_rotate_ccw.title=Rotate Anti-Clockwise
-page_rotate_ccw_label=Rotate Anti-Clockwise
-
-cursor_text_select_tool.title=Enable Text Selection Tool
-cursor_text_select_tool_label=Text Selection Tool
-cursor_hand_tool.title=Enable Hand Tool
-cursor_hand_tool_label=Hand Tool
-
-scroll_page.title=Use Page Scrolling
-scroll_page_label=Page Scrolling
-scroll_vertical.title=Use Vertical Scrolling
-scroll_vertical_label=Vertical Scrolling
-scroll_horizontal.title=Use Horizontal Scrolling
-scroll_horizontal_label=Horizontal Scrolling
-scroll_wrapped.title=Use Wrapped Scrolling
-scroll_wrapped_label=Wrapped Scrolling
-
-spread_none.title=Do not join page spreads
-spread_none_label=No Spreads
-spread_odd.title=Join page spreads starting with odd-numbered pages
-spread_odd_label=Odd Spreads
-spread_even.title=Join page spreads starting with even-numbered pages
-spread_even_label=Even Spreads
-
-# Document properties dialog box
-document_properties.title=Document Properties…
-document_properties_label=Document Properties…
-document_properties_file_name=File name:
-document_properties_file_size=File size:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} kB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Title:
-document_properties_author=Author:
-document_properties_subject=Subject:
-document_properties_keywords=Keywords:
-document_properties_creation_date=Creation Date:
-document_properties_modification_date=Modification Date:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creator:
-document_properties_producer=PDF Producer:
-document_properties_version=PDF Version:
-document_properties_page_count=Page Count:
-document_properties_page_size=Page Size:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portrait
-document_properties_page_size_orientation_landscape=landscape
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=Yes
-document_properties_linearized_no=No
-document_properties_close=Close
-
-print_progress_message=Preparing document for printing…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancel
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Toggle Sidebar
-toggle_sidebar_notification2.title=Toggle Sidebar (document contains outline/attachments/layers)
-toggle_sidebar_label=Toggle Sidebar
-document_outline.title=Show Document Outline (double-click to expand/collapse all items)
-document_outline_label=Document Outline
-attachments.title=Show Attachments
-attachments_label=Attachments
-layers.title=Show Layers (double-click to reset all layers to the default state)
-layers_label=Layers
-thumbs.title=Show Thumbnails
-thumbs_label=Thumbnails
-current_outline_item.title=Find Current Outline Item
-current_outline_item_label=Current Outline Item
-findbar.title=Find in Document
-findbar_label=Find
-
-additional_layers=Additional Layers
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Page {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Page {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Thumbnail of Page {{page}}
-
-# Find panel button title and messages
-find_input.title=Find
-find_input.placeholder=Find in document…
-find_previous.title=Find the previous occurrence of the phrase
-find_previous_label=Previous
-find_next.title=Find the next occurrence of the phrase
-find_next_label=Next
-find_highlight=Highlight All
-find_match_case_label=Match Case
-find_match_diacritics_label=Match Diacritics
-find_entire_word_label=Whole Words
-find_reached_top=Reached top of document, continued from bottom
-find_reached_bottom=Reached end of document, continued from top
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} of {{total}} match
-find_match_count[two]={{current}} of {{total}} matches
-find_match_count[few]={{current}} of {{total}} matches
-find_match_count[many]={{current}} of {{total}} matches
-find_match_count[other]={{current}} of {{total}} matches
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=More than {{limit}} matches
-find_match_count_limit[one]=More than {{limit}} match
-find_match_count_limit[two]=More than {{limit}} matches
-find_match_count_limit[few]=More than {{limit}} matches
-find_match_count_limit[many]=More than {{limit}} matches
-find_match_count_limit[other]=More than {{limit}} matches
-find_not_found=Phrase not found
-
-# Error panel labels
-error_more_info=More Information
-error_less_info=Less Information
-error_close=Close
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Message: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=File: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Line: {{line}}
-rendering_error=An error occurred while rendering the page.
-
-# Predefined zoom values
-page_scale_width=Page Width
-page_scale_fit=Page Fit
-page_scale_auto=Automatic Zoom
-page_scale_actual=Actual Size
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Loading…
-loading_error=An error occurred while loading the PDF.
-invalid_file_error=Invalid or corrupted PDF file.
-missing_file_error=Missing PDF file.
-unexpected_response_error=Unexpected server response.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=Enter the password to open this PDF file.
-password_invalid=Invalid password. Please try again.
-password_ok=OK
-password_cancel=Cancel
-
-printing_not_supported=Warning: Printing is not fully supported by this browser.
-printing_not_ready=Warning: The PDF is not fully loaded for printing.
-web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts.
-
-# Editor
-editor_none.title=Disable Annotation Editing
-editor_none_label=Disable Editing
-editor_free_text.title=Add FreeText Annotation
-editor_free_text_label=FreeText Annotation
-editor_ink.title=Add Ink Annotation
-editor_ink_label=Ink Annotation
-
-freetext_default_content=Enter some text…
-
-free_text_default_content=Enter text…
-
-# Editor Parameters
-editor_free_text_font_color=Font Colour
-editor_free_text_font_size=Font Size
-editor_ink_line_color=Line Colour
-editor_ink_line_thickness=Line Thickness
-
-# Editor Parameters
-editor_free_text_color=Colour
-editor_free_text_size=Size
-editor_ink_color=Colour
-editor_ink_thickness=Thickness
-editor_ink_opacity=Opacity
-
-# Editor aria
-editor_free_text_aria_label=FreeText Editor
-editor_ink_aria_label=Ink Editor
-editor_ink_canvas_aria_label=User-created image
diff --git a/static/js/pdf-js/web/locale/en-US/viewer.properties b/static/js/pdf-js/web/locale/en-US/viewer.properties
deleted file mode 100644
index 4a95b93..0000000
--- a/static/js/pdf-js/web/locale/en-US/viewer.properties
+++ /dev/null
@@ -1,271 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Previous Page
-previous_label=Previous
-next.title=Next Page
-next_label=Next
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Page
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=of {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} of {{pagesCount}})
-
-zoom_out.title=Zoom Out
-zoom_out_label=Zoom Out
-zoom_in.title=Zoom In
-zoom_in_label=Zoom In
-zoom.title=Zoom
-presentation_mode.title=Switch to Presentation Mode
-presentation_mode_label=Presentation Mode
-open_file.title=Open File
-open_file_label=Open
-print.title=Print
-print_label=Print
-download.title=Download
-download_label=Download
-bookmark.title=Current view (copy or open in new window)
-bookmark_label=Current View
-
-# Secondary toolbar and context menu
-tools.title=Tools
-tools_label=Tools
-first_page.title=Go to First Page
-first_page_label=Go to First Page
-last_page.title=Go to Last Page
-last_page_label=Go to Last Page
-page_rotate_cw.title=Rotate Clockwise
-page_rotate_cw_label=Rotate Clockwise
-page_rotate_ccw.title=Rotate Counterclockwise
-page_rotate_ccw_label=Rotate Counterclockwise
-
-cursor_text_select_tool.title=Enable Text Selection Tool
-cursor_text_select_tool_label=Text Selection Tool
-cursor_hand_tool.title=Enable Hand Tool
-cursor_hand_tool_label=Hand Tool
-
-scroll_page.title=Use Page Scrolling
-scroll_page_label=Page Scrolling
-scroll_vertical.title=Use Vertical Scrolling
-scroll_vertical_label=Vertical Scrolling
-scroll_horizontal.title=Use Horizontal Scrolling
-scroll_horizontal_label=Horizontal Scrolling
-scroll_wrapped.title=Use Wrapped Scrolling
-scroll_wrapped_label=Wrapped Scrolling
-
-spread_none.title=Do not join page spreads
-spread_none_label=No Spreads
-spread_odd.title=Join page spreads starting with odd-numbered pages
-spread_odd_label=Odd Spreads
-spread_even.title=Join page spreads starting with even-numbered pages
-spread_even_label=Even Spreads
-
-# Document properties dialog box
-document_properties.title=Document Properties…
-document_properties_label=Document Properties…
-document_properties_file_name=File name:
-document_properties_file_size=File size:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Title:
-document_properties_author=Author:
-document_properties_subject=Subject:
-document_properties_keywords=Keywords:
-document_properties_creation_date=Creation Date:
-document_properties_modification_date=Modification Date:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creator:
-document_properties_producer=PDF Producer:
-document_properties_version=PDF Version:
-document_properties_page_count=Page Count:
-document_properties_page_size=Page Size:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portrait
-document_properties_page_size_orientation_landscape=landscape
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=Yes
-document_properties_linearized_no=No
-document_properties_close=Close
-
-print_progress_message=Preparing document for printing…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancel
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Toggle Sidebar
-toggle_sidebar_notification2.title=Toggle Sidebar (document contains outline/attachments/layers)
-toggle_sidebar_label=Toggle Sidebar
-document_outline.title=Show Document Outline (double-click to expand/collapse all items)
-document_outline_label=Document Outline
-attachments.title=Show Attachments
-attachments_label=Attachments
-layers.title=Show Layers (double-click to reset all layers to the default state)
-layers_label=Layers
-thumbs.title=Show Thumbnails
-thumbs_label=Thumbnails
-current_outline_item.title=Find Current Outline Item
-current_outline_item_label=Current Outline Item
-findbar.title=Find in Document
-findbar_label=Find
-
-additional_layers=Additional Layers
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Page {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Page {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Thumbnail of Page {{page}}
-
-# Find panel button title and messages
-find_input.title=Find
-find_input.placeholder=Find in document…
-find_previous.title=Find the previous occurrence of the phrase
-find_previous_label=Previous
-find_next.title=Find the next occurrence of the phrase
-find_next_label=Next
-find_highlight=Highlight All
-find_match_case_label=Match Case
-find_match_diacritics_label=Match Diacritics
-find_entire_word_label=Whole Words
-find_reached_top=Reached top of document, continued from bottom
-find_reached_bottom=Reached end of document, continued from top
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} of {{total}} match
-find_match_count[two]={{current}} of {{total}} matches
-find_match_count[few]={{current}} of {{total}} matches
-find_match_count[many]={{current}} of {{total}} matches
-find_match_count[other]={{current}} of {{total}} matches
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=More than {{limit}} matches
-find_match_count_limit[one]=More than {{limit}} match
-find_match_count_limit[two]=More than {{limit}} matches
-find_match_count_limit[few]=More than {{limit}} matches
-find_match_count_limit[many]=More than {{limit}} matches
-find_match_count_limit[other]=More than {{limit}} matches
-find_not_found=Phrase not found
-
-# Error panel labels
-error_more_info=More Information
-error_less_info=Less Information
-error_close=Close
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Message: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=File: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Line: {{line}}
-rendering_error=An error occurred while rendering the page.
-
-# Predefined zoom values
-page_scale_width=Page Width
-page_scale_fit=Page Fit
-page_scale_auto=Automatic Zoom
-page_scale_actual=Actual Size
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Loading…
-loading_error=An error occurred while loading the PDF.
-invalid_file_error=Invalid or corrupted PDF file.
-missing_file_error=Missing PDF file.
-unexpected_response_error=Unexpected server response.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=Enter the password to open this PDF file.
-password_invalid=Invalid password. Please try again.
-password_ok=OK
-password_cancel=Cancel
-
-printing_not_supported=Warning: Printing is not fully supported by this browser.
-printing_not_ready=Warning: The PDF is not fully loaded for printing.
-web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts.
-
-# Editor
-editor_free_text.title=Add FreeText Annotation
-editor_free_text_label=FreeText Annotation
-editor_ink.title=Add Ink Annotation
-editor_ink_label=Ink Annotation
-
-free_text_default_content=Enter text…
-
-# Editor Parameters
-editor_free_text_color=Color
-editor_free_text_size=Size
-editor_ink_color=Color
-editor_ink_thickness=Thickness
-editor_ink_opacity=Opacity
-
-# Editor aria
-editor_free_text_aria_label=FreeText Editor
-editor_ink_aria_label=Ink Editor
-editor_ink_canvas_aria_label=User-created image
diff --git a/static/js/pdf-js/web/locale/eo/viewer.properties b/static/js/pdf-js/web/locale/eo/viewer.properties
deleted file mode 100644
index 77f8b9a..0000000
--- a/static/js/pdf-js/web/locale/eo/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=AntaÅa paÄo
-previous_label=MalantaÅen
-next.title=Venonta paÄo
-next_label=AntaÅen
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=PaÄo
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=el {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} el {{pagesCount}})
-
-zoom_out.title=Malpligrandigi
-zoom_out_label=Malpligrandigi
-zoom_in.title=Pligrandigi
-zoom_in_label=Pligrandigi
-zoom.title=Pligrandigilo
-presentation_mode.title=Iri al prezenta reÄimo
-presentation_mode_label=Prezenta reÄimo
-open_file.title=Malfermi dosieron
-open_file_label=Malfermi
-print.title=Presi
-print_label=Presi
-download.title=ElÅuti
-download_label=ElÅuti
-bookmark.title=Nuna vido (kopii aÅ malfermi en nova fenestro)
-bookmark_label=Nuna vido
-
-# Secondary toolbar and context menu
-tools.title=Iloj
-tools_label=Iloj
-first_page.title=Iri al la unua paÄo
-first_page_label=Iri al la unua paÄo
-last_page.title=Iri al la lasta paÄo
-last_page_label=Iri al la lasta paÄo
-page_rotate_cw.title=Rotaciigi dekstrume
-page_rotate_cw_label=Rotaciigi dekstrume
-page_rotate_ccw.title=Rotaciigi maldekstrume
-page_rotate_ccw_label=Rotaciigi maldekstrume
-
-cursor_text_select_tool.title=Aktivigi tekstan elektilon
-cursor_text_select_tool_label=Teksta elektilo
-cursor_hand_tool.title=Aktivigi ilon de mano
-cursor_hand_tool_label=Ilo de mano
-
-scroll_page.title=Uzi Åovadon de paÄo
-scroll_page_label=Åœovado de paÄo
-scroll_vertical.title=Uzi vertikalan Åovadon
-scroll_vertical_label=Vertikala Åovado
-scroll_horizontal.title=Uzi horizontalan Åovadon
-scroll_horizontal_label=Horizontala Åovado
-scroll_wrapped.title=Uzi ambaÅdirektan Åovadon
-scroll_wrapped_label=AmbaÅdirekta Åovado
-
-spread_none.title=Ne montri paÄojn po du
-spread_none_label=UnupaÄa vido
-spread_odd.title=Kunigi paÄojn komencante per nepara paÄo
-spread_odd_label=Po du paÄoj, neparaj maldekstre
-spread_even.title=Kunigi paÄojn komencante per para paÄo
-spread_even_label=Po du paÄoj, paraj maldekstre
-
-# Document properties dialog box
-document_properties.title=Atributoj de dokumento…
-document_properties_label=Atributoj de dokumento…
-document_properties_file_name=Nomo de dosiero:
-document_properties_file_size=Grando de dosiero:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KO ({{size_b}} oktetoj)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MO ({{size_b}} oktetoj)
-document_properties_title=Titolo:
-document_properties_author=AÅtoro:
-document_properties_subject=Temo:
-document_properties_keywords=Åœlosilvorto:
-document_properties_creation_date=Dato de kreado:
-document_properties_modification_date=Dato de modifo:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Kreinto:
-document_properties_producer=Produktinto de PDF:
-document_properties_version=Versio de PDF:
-document_properties_page_count=Nombro de paÄoj:
-document_properties_page_size=Grando de paÄo:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=vertikala
-document_properties_page_size_orientation_landscape=horizontala
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letera
-document_properties_page_size_name_legal=Jura
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Rapida tekstaĵa vido:
-document_properties_linearized_yes=Jes
-document_properties_linearized_no=Ne
-document_properties_close=Fermi
-
-print_progress_message=Preparo de dokumento por presi Äin …
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Nuligi
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Montri/kaÅi flankan strion
-toggle_sidebar_notification2.title=Montri/kaÅi flankan strion (la dokumento enhavas konturon/kunsendaĵojn/tavolojn)
-toggle_sidebar_label=Montri/kaÅi flankan strion
-document_outline.title=Montri la konturon de dokumento (alklaku duoble por faldi/malfaldi ĉiujn elementojn)
-document_outline_label=Konturo de dokumento
-attachments.title=Montri kunsendaĵojn
-attachments_label=Kunsendaĵojn
-layers.title=Montri tavolojn (duoble alklaku por remeti ĉiujn tavolojn en la norman staton)
-layers_label=Tavoloj
-thumbs.title=Montri miniaturojn
-thumbs_label=Miniaturoj
-current_outline_item.title=Trovi nunan konturan elementon
-current_outline_item_label=Nuna kontura elemento
-findbar.title=Serĉi en dokumento
-findbar_label=Serĉi
-
-additional_layers=Aldonaj tavoloj
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=PaÄo {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=PaÄo {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniaturo de paÄo {{page}}
-
-# Find panel button title and messages
-find_input.title=Serĉi
-find_input.placeholder=Serĉi en dokumento…
-find_previous.title=Serĉi la antaÅan aperon de la frazo
-find_previous_label=MalantaÅen
-find_next.title=Serĉi la venontan aperon de la frazo
-find_next_label=AntaÅen
-find_highlight=Elstarigi ĉiujn
-find_match_case_label=Distingi inter majuskloj kaj minuskloj
-find_match_diacritics_label=Respekti supersignojn
-find_entire_word_label=Tutaj vortoj
-find_reached_top=Komenco de la dokumento atingita, daÅrigado ekde la fino
-find_reached_bottom=Fino de la dokumento atingita, daÅrigado ekde la komenco
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} el {{total}} kongruo
-find_match_count[two]={{current}} el {{total}} kongruoj
-find_match_count[few]={{current}} el {{total}} kongruoj
-find_match_count[many]={{current}} el {{total}} kongruoj
-find_match_count[other]={{current}} el {{total}} kongruoj
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Pli ol {{limit}} kongruoj
-find_match_count_limit[one]=Pli ol {{limit}} kongruo
-find_match_count_limit[two]=Pli ol {{limit}} kongruoj
-find_match_count_limit[few]=Pli ol {{limit}} kongruoj
-find_match_count_limit[many]=Pli ol {{limit}} kongruoj
-find_match_count_limit[other]=Pli ol {{limit}} kongruoj
-find_not_found=Frazo ne trovita
-
-# Error panel labels
-error_more_info=Pli da informo
-error_less_info=Malpli da informo
-error_close=Fermi
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=MesaÄo: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stako: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Dosiero: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linio: {{line}}
-rendering_error=Okazis eraro dum la montro de la paÄo.
-
-# Predefined zoom values
-page_scale_width=LarÄo de paÄo
-page_scale_fit=Adapti paÄon
-page_scale_auto=AÅtomata skalo
-page_scale_actual=Reala grando
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Ŝargado…
-loading_error=Okazis eraro dum la Åargado de la PDF dosiero.
-invalid_file_error=Nevalida aÅ difektita PDF dosiero.
-missing_file_error=Mankas dosiero PDF.
-unexpected_response_error=Neatendita respondo de servilo.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Prinoto: {{type}}]
-password_label=Tajpu pasvorton por malfermi tiun ĉi dosieron PDF.
-password_invalid=Nevalida pasvorto. Bonvolu provi denove.
-password_ok=Akcepti
-password_cancel=Nuligi
-
-printing_not_supported=Averto: tiu ĉi retumilo ne plene subtenas presadon.
-printing_not_ready=Averto: la PDF dosiero ne estas plene Åargita por presado.
-web_fonts_disabled=Neaktivaj teksaĵaj tiparoj: ne elbas uzi enmetitajn tiparojn de PDF.
-
-# Editor
-editor_none.title=Malaktivigi modifon de notoj
-editor_none_label=Malaktivigi modifon
-editor_free_text.title=Aldoni tekstan noton
-editor_free_text_label=Teksta noto
-editor_ink.title=Aldoni desegnan noton
-editor_ink_label=Desegna noto
-
-freetext_default_content=Tajpu tekston…
-
-free_text_default_content=Tajpu tekston…
-
-# Editor Parameters
-editor_free_text_font_color=Tipara koloro
-editor_free_text_font_size=Tipara grando
-editor_ink_line_color=Linia koloro
-editor_ink_line_thickness=Linia larÄo
-
-# Editor Parameters
-editor_free_text_color=Koloro
-editor_free_text_size=Grando
-editor_ink_color=Koloro
-editor_ink_thickness=Dikeco
-editor_ink_opacity=Maldiafaneco
-
-# Editor aria
-editor_free_text_aria_label=Teksta redaktilo
-editor_ink_aria_label=Inka redaktilo
-editor_ink_canvas_aria_label=Bildo kreita de uzanto
diff --git a/static/js/pdf-js/web/locale/es-AR/viewer.properties b/static/js/pdf-js/web/locale/es-AR/viewer.properties
deleted file mode 100644
index 6782eb8..0000000
--- a/static/js/pdf-js/web/locale/es-AR/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Página anterior
-previous_label=Anterior
-next.title=Página siguiente
-next_label=Siguiente
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Página
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=( {{pageNumber}} de {{pagesCount}} )
-
-zoom_out.title=Alejar
-zoom_out_label=Alejar
-zoom_in.title=Acercar
-zoom_in_label=Acercar
-zoom.title=Zoom
-presentation_mode.title=Cambiar a modo presentación
-presentation_mode_label=Modo presentación
-open_file.title=Abrir archivo
-open_file_label=Abrir
-print.title=Imprimir
-print_label=Imprimir
-download.title=Descargar
-download_label=Descargar
-bookmark.title=Vista actual (copiar o abrir en nueva ventana)
-bookmark_label=Vista actual
-
-# Secondary toolbar and context menu
-tools.title=Herramientas
-tools_label=Herramientas
-first_page.title=Ir a primera página
-first_page_label=Ir a primera página
-last_page.title=Ir a última página
-last_page_label=Ir a última página
-page_rotate_cw.title=Rotar horario
-page_rotate_cw_label=Rotar horario
-page_rotate_ccw.title=Rotar antihorario
-page_rotate_ccw_label=Rotar antihorario
-
-cursor_text_select_tool.title=Habilitar herramienta de selección de texto
-cursor_text_select_tool_label=Herramienta de selección de texto
-cursor_hand_tool.title=Habilitar herramienta mano
-cursor_hand_tool_label=Herramienta mano
-
-scroll_page.title=Usar desplazamiento de página
-scroll_page_label=Desplazamiento de página
-scroll_vertical.title=Usar desplazamiento vertical
-scroll_vertical_label=Desplazamiento vertical
-scroll_horizontal.title=Usar desplazamiento vertical
-scroll_horizontal_label=Desplazamiento horizontal
-scroll_wrapped.title=Usar desplazamiento encapsulado
-scroll_wrapped_label=Desplazamiento encapsulado
-
-spread_none.title=No unir páginas dobles
-spread_none_label=Sin dobles
-spread_odd.title=Unir páginas dobles comenzando con las impares
-spread_odd_label=Dobles impares
-spread_even.title=Unir páginas dobles comenzando con las pares
-spread_even_label=Dobles pares
-
-# Document properties dialog box
-document_properties.title=Propiedades del documento…
-document_properties_label=Propiedades del documento…
-document_properties_file_name=Nombre de archivo:
-document_properties_file_size=Tamaño de archovo:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=TÃtulo:
-document_properties_author=Autor:
-document_properties_subject=Asunto:
-document_properties_keywords=Palabras clave:
-document_properties_creation_date=Fecha de creación:
-document_properties_modification_date=Fecha de modificación:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creador:
-document_properties_producer=PDF Productor:
-document_properties_version=Versión de PDF:
-document_properties_page_count=Cantidad de páginas:
-document_properties_page_size=Tamaño de página:
-document_properties_page_size_unit_inches=en
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=normal
-document_properties_page_size_orientation_landscape=apaisado
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Carta
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista rápida de la Web:
-document_properties_linearized_yes=SÃ
-document_properties_linearized_no=No
-document_properties_close=Cerrar
-
-print_progress_message=Preparando documento para imprimir…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancelar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Alternar barra lateral
-toggle_sidebar_notification2.title=Alternar barra lateral (el documento contiene esquemas/adjuntos/capas)
-toggle_sidebar_label=Alternar barra lateral
-document_outline.title=Mostrar esquema del documento (doble clic para expandir/colapsar todos los Ãtems)
-document_outline_label=Esquema del documento
-attachments.title=Mostrar adjuntos
-attachments_label=Adjuntos
-layers.title=Mostrar capas (doble clic para restablecer todas las capas al estado predeterminado)
-layers_label=Capas
-thumbs.title=Mostrar miniaturas
-thumbs_label=Miniaturas
-current_outline_item.title=Buscar elemento de esquema actual
-current_outline_item_label=Elemento de esquema actual
-findbar.title=Buscar en documento
-findbar_label=Buscar
-
-additional_layers=Capas adicionales
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Página {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Página {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura de página {{page}}
-
-# Find panel button title and messages
-find_input.title=Buscar
-find_input.placeholder=Buscar en documento…
-find_previous.title=Buscar la aparición anterior de la frase
-find_previous_label=Anterior
-find_next.title=Buscar la siguiente aparición de la frase
-find_next_label=Siguiente
-find_highlight=Resaltar todo
-find_match_case_label=Coincidir mayúsculas
-find_match_diacritics_label=Coincidir diacrÃticos
-find_entire_word_label=Palabras completas
-find_reached_top=Inicio de documento alcanzado, continuando desde abajo
-find_reached_bottom=Fin de documento alcanzando, continuando desde arriba
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} de {{total}} coincidencias
-find_match_count[two]={{current}} de {{total}} coincidencias
-find_match_count[few]={{current}} de {{total}} coincidencias
-find_match_count[many]={{current}} de {{total}} coincidencias
-find_match_count[other]={{current}} de {{total}} coincidencias
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Más de {{limit}} coincidencias
-find_match_count_limit[one]=Más de {{limit}} coinciden
-find_match_count_limit[two]=Más de {{limit}} coincidencias
-find_match_count_limit[few]=Más de {{limit}} coincidencias
-find_match_count_limit[many]=Más de {{limit}} coincidencias
-find_match_count_limit[other]=Más de {{limit}} coincidencias
-find_not_found=Frase no encontrada
-
-# Error panel labels
-error_more_info=Más información
-error_less_info=Menos información
-error_close=Cerrar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mensaje: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Archivo: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=LÃnea: {{line}}
-rendering_error=Ocurrió un error al dibujar la página.
-
-# Predefined zoom values
-page_scale_width=Ancho de página
-page_scale_fit=Ajustar página
-page_scale_auto=Zoom automático
-page_scale_actual=Tamaño real
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Cargando…
-loading_error=Ocurrió un error al cargar el PDF.
-invalid_file_error=Archivo PDF no válido o cocrrupto.
-missing_file_error=Archivo PDF faltante.
-unexpected_response_error=Respuesta del servidor inesperada.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Anotación]
-password_label=Ingrese la contraseña para abrir este archivo PDF
-password_invalid=Contraseña inválida. Intente nuevamente.
-password_ok=Aceptar
-password_cancel=Cancelar
-
-printing_not_supported=Advertencia: La impresión no está totalmente soportada por este navegador.
-printing_not_ready=Advertencia: El PDF no está completamente cargado para impresión.
-web_fonts_disabled=TipografÃa web deshabilitada: no se pueden usar tipos incrustados en PDF.
-
-# Editor
-editor_none.title=Deshabilitar la edición de anotaciones
-editor_none_label=Deshabilitar edición
-editor_free_text.title=Agregar anotación FreeText
-editor_free_text_label=Anotación FreeText
-editor_ink.title=Agregar anotación de tinta
-editor_ink_label=Anotación de tinta
-
-freetext_default_content=Ingresar algún texto…
-
-free_text_default_content=Ingresar texto…
-
-# Editor Parameters
-editor_free_text_font_color=Color de letra
-editor_free_text_font_size=Tamaño de letra
-editor_ink_line_color=Color de linea
-editor_ink_line_thickness=Grosor de lÃnea
-
-# Editor Parameters
-editor_free_text_color=Color
-editor_free_text_size=Tamaño
-editor_ink_color=Color
-editor_ink_thickness=Espesor
-editor_ink_opacity=Opacidad
-
-# Editor aria
-editor_free_text_aria_label=Editor de FreeText
-editor_ink_aria_label=Editor de tinta
-editor_ink_canvas_aria_label=Imagen creada por el usuario
diff --git a/static/js/pdf-js/web/locale/es-CL/viewer.properties b/static/js/pdf-js/web/locale/es-CL/viewer.properties
deleted file mode 100644
index 7f375f4..0000000
--- a/static/js/pdf-js/web/locale/es-CL/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Página anterior
-previous_label=Anterior
-next.title=Página siguiente
-next_label=Siguiente
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Página
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Alejar
-zoom_out_label=Alejar
-zoom_in.title=Acercar
-zoom_in_label=Acercar
-zoom.title=Ampliación
-presentation_mode.title=Cambiar al modo de presentación
-presentation_mode_label=Modo de presentación
-open_file.title=Abrir archivo
-open_file_label=Abrir
-print.title=Imprimir
-print_label=Imprimir
-download.title=Descargar
-download_label=Descargar
-bookmark.title=Vista actual (copiar o abrir en nueva ventana)
-bookmark_label=Vista actual
-
-# Secondary toolbar and context menu
-tools.title=Herramientas
-tools_label=Herramientas
-first_page.title=Ir a la primera página
-first_page_label=Ir a la primera página
-last_page.title=Ir a la última página
-last_page_label=Ir a la última página
-page_rotate_cw.title=Girar a la derecha
-page_rotate_cw_label=Girar a la derecha
-page_rotate_ccw.title=Girar a la izquierda
-page_rotate_ccw_label=Girar a la izquierda
-
-cursor_text_select_tool.title=Activar la herramienta de selección de texto
-cursor_text_select_tool_label=Herramienta de selección de texto
-cursor_hand_tool.title=Activar la herramienta de mano
-cursor_hand_tool_label=Herramienta de mano
-
-scroll_page.title=Usar desplazamiento de página
-scroll_page_label=Desplazamiento de página
-scroll_vertical.title=Usar desplazamiento vertical
-scroll_vertical_label=Desplazamiento vertical
-scroll_horizontal.title=Usar desplazamiento horizontal
-scroll_horizontal_label=Desplazamiento horizontal
-scroll_wrapped.title=Usar desplazamiento en bloque
-scroll_wrapped_label=Desplazamiento en bloque
-
-spread_none.title=No juntar páginas a modo de libro
-spread_none_label=Vista de una página
-spread_odd.title=Junta las páginas partiendo con una de número impar
-spread_odd_label=Vista de libro impar
-spread_even.title=Junta las páginas partiendo con una de número par
-spread_even_label=Vista de libro par
-
-# Document properties dialog box
-document_properties.title=Propiedades del documento…
-document_properties_label=Propiedades del documento…
-document_properties_file_name=Nombre de archivo:
-document_properties_file_size=Tamaño del archivo:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=TÃtulo:
-document_properties_author=Autor:
-document_properties_subject=Asunto:
-document_properties_keywords=Palabras clave:
-document_properties_creation_date=Fecha de creación:
-document_properties_modification_date=Fecha de modificación:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creador:
-document_properties_producer=Productor del PDF:
-document_properties_version=Versión de PDF:
-document_properties_page_count=Cantidad de páginas:
-document_properties_page_size=Tamaño de la página:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=vertical
-document_properties_page_size_orientation_landscape=horizontal
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Carta
-document_properties_page_size_name_legal=Oficio
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista rápida en Web:
-document_properties_linearized_yes=SÃ
-document_properties_linearized_no=No
-document_properties_close=Cerrar
-
-print_progress_message=Preparando documento para impresión…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancelar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Barra lateral
-toggle_sidebar_notification2.title=Cambiar barra lateral (Ãndice de contenidos del documento/adjuntos/capas)
-toggle_sidebar_label=Mostrar u ocultar la barra lateral
-document_outline.title=Mostrar esquema del documento (doble clic para expandir/contraer todos los elementos)
-document_outline_label=Esquema del documento
-attachments.title=Mostrar adjuntos
-attachments_label=Adjuntos
-layers.title=Mostrar capas (doble clic para restablecer todas las capas al estado predeterminado)
-layers_label=Capas
-thumbs.title=Mostrar miniaturas
-thumbs_label=Miniaturas
-current_outline_item.title=Buscar elemento de esquema actual
-current_outline_item_label=Elemento de esquema actual
-findbar.title=Buscar en el documento
-findbar_label=Buscar
-
-additional_layers=Capas adicionales
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Página {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Página {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura de la página {{page}}
-
-# Find panel button title and messages
-find_input.title=Encontrar
-find_input.placeholder=Encontrar en el documento…
-find_previous.title=Buscar la aparición anterior de la frase
-find_previous_label=Previo
-find_next.title=Buscar la siguiente aparición de la frase
-find_next_label=Siguiente
-find_highlight=Destacar todos
-find_match_case_label=Coincidir mayús./minús.
-find_match_diacritics_label=Coincidir diacrÃticos
-find_entire_word_label=Palabras completas
-find_reached_top=Se alcanzó el inicio del documento, continuando desde el final
-find_reached_bottom=Se alcanzó el final del documento, continuando desde el inicio
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]=Coincidencia {{current}} de {{total}}
-find_match_count[two]=Coincidencia {{current}} de {{total}}
-find_match_count[few]=Coincidencia {{current}} de {{total}}
-find_match_count[many]=Coincidencia {{current}} de {{total}}
-find_match_count[other]=Coincidencia {{current}} de {{total}}
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Más de {{limit}} coincidencias
-find_match_count_limit[one]=Más de {{limit}} coincidencia
-find_match_count_limit[two]=Más de {{limit}} coincidencias
-find_match_count_limit[few]=Más de {{limit}} coincidencias
-find_match_count_limit[many]=Más de {{limit}} coincidencias
-find_match_count_limit[other]=Más de {{limit}} coincidencias
-find_not_found=Frase no encontrada
-
-# Error panel labels
-error_more_info=Más información
-error_less_info=Menos información
-error_close=Cerrar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (compilación: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mensaje: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Archivo: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=LÃnea: {{line}}
-rendering_error=Ocurrió un error al renderizar la página.
-
-# Predefined zoom values
-page_scale_width=Ancho de página
-page_scale_fit=Ajuste de página
-page_scale_auto=Aumento automático
-page_scale_actual=Tamaño actual
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Cargando…
-loading_error=Ocurrió un error al cargar el PDF.
-invalid_file_error=Archivo PDF inválido o corrupto.
-missing_file_error=Falta el archivo PDF.
-unexpected_response_error=Respuesta del servidor inesperada.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Anotación]
-password_label=Ingrese la contraseña para abrir este archivo PDF.
-password_invalid=Contraseña inválida. Por favor, vuelve a intentarlo.
-password_ok=Aceptar
-password_cancel=Cancelar
-
-printing_not_supported=Advertencia: Imprimir no está soportado completamente por este navegador.
-printing_not_ready=Advertencia: El PDF no está completamente cargado para ser impreso.
-web_fonts_disabled=Las tipografÃas web están desactivadas: imposible usar las fuentes PDF embebidas.
-
-# Editor
-editor_none.title=Deshabilitar la edición de anotaciones
-editor_none_label=Deshabilitar edición
-editor_free_text.title=Agregar anotación FreeText
-editor_free_text_label=Anotación FreeText
-editor_ink.title=Agregar anotación de tinta
-editor_ink_label=Anotación de tinta
-
-freetext_default_content=Ingresar algún texto…
-
-free_text_default_content=Ingresar texto…
-
-# Editor Parameters
-editor_free_text_font_color=Color de la fuente
-editor_free_text_font_size=Tamaño de la fuente
-editor_ink_line_color=Color de la lÃnea
-editor_ink_line_thickness=Grosor de la lÃnea
-
-# Editor Parameters
-editor_free_text_color=Color
-editor_free_text_size=Tamaño
-editor_ink_color=Color
-editor_ink_thickness=Grosor
-editor_ink_opacity=Opacidad
-
-# Editor aria
-editor_free_text_aria_label=Editor FreeText
-editor_ink_aria_label=Editor de tinta
-editor_ink_canvas_aria_label=Imagen creada por el usuario
diff --git a/static/js/pdf-js/web/locale/es-ES/viewer.properties b/static/js/pdf-js/web/locale/es-ES/viewer.properties
deleted file mode 100644
index 9bc7d60..0000000
--- a/static/js/pdf-js/web/locale/es-ES/viewer.properties
+++ /dev/null
@@ -1,269 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Página anterior
-previous_label=Anterior
-next.title=Página siguiente
-next_label=Siguiente
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Página
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Reducir
-zoom_out_label=Reducir
-zoom_in.title=Aumentar
-zoom_in_label=Aumentar
-zoom.title=Tamaño
-presentation_mode.title=Cambiar al modo presentación
-presentation_mode_label=Modo presentación
-open_file.title=Abrir archivo
-open_file_label=Abrir
-print.title=Imprimir
-print_label=Imprimir
-download.title=Descargar
-download_label=Descargar
-bookmark.title=Vista actual (copiar o abrir en una nueva ventana)
-bookmark_label=Vista actual
-
-# Secondary toolbar and context menu
-tools.title=Herramientas
-tools_label=Herramientas
-first_page.title=Ir a la primera página
-first_page_label=Ir a la primera página
-last_page.title=Ir a la última página
-last_page_label=Ir a la última página
-page_rotate_cw.title=Rotar en sentido horario
-page_rotate_cw_label=Rotar en sentido horario
-page_rotate_ccw.title=Rotar en sentido antihorario
-page_rotate_ccw_label=Rotar en sentido antihorario
-
-cursor_text_select_tool.title=Activar herramienta de selección de texto
-cursor_text_select_tool_label=Herramienta de selección de texto
-cursor_hand_tool.title=Activar herramienta de mano
-cursor_hand_tool_label=Herramienta de mano
-
-scroll_page.title=Usar desplazamiento de página
-scroll_page_label=Desplazamiento de página
-scroll_vertical.title=Usar desplazamiento vertical
-scroll_vertical_label=Desplazamiento vertical
-scroll_horizontal.title=Usar desplazamiento horizontal
-scroll_horizontal_label=Desplazamiento horizontal
-scroll_wrapped.title=Usar desplazamiento en bloque
-scroll_wrapped_label=Desplazamiento en bloque
-
-spread_none.title=No juntar páginas en vista de libro
-spread_none_label=Vista de libro
-spread_odd.title=Juntar las páginas partiendo de una con número impar
-spread_odd_label=Vista de libro impar
-spread_even.title=Juntar las páginas partiendo de una con número par
-spread_even_label=Vista de libro par
-
-# Document properties dialog box
-document_properties.title=Propiedades del documento…
-document_properties_label=Propiedades del documento…
-document_properties_file_name=Nombre de archivo:
-document_properties_file_size=Tamaño de archivo:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=TÃtulo:
-document_properties_author=Autor:
-document_properties_subject=Asunto:
-document_properties_keywords=Palabras clave:
-document_properties_creation_date=Fecha de creación:
-document_properties_modification_date=Fecha de modificación:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creador:
-document_properties_producer=Productor PDF:
-document_properties_version=Versión PDF:
-document_properties_page_count=Número de páginas:
-document_properties_page_size=Tamaño de la página:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=vertical
-document_properties_page_size_orientation_landscape=horizontal
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Carta
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista rápida de la web:
-document_properties_linearized_yes=SÃ
-document_properties_linearized_no=No
-document_properties_close=Cerrar
-
-print_progress_message=Preparando documento para impresión…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancelar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Cambiar barra lateral
-toggle_sidebar_notification2.title=Alternar barra lateral (el documento contiene esquemas/adjuntos/capas)
-toggle_sidebar_label=Cambiar barra lateral
-document_outline.title=Mostrar resumen del documento (doble clic para expandir/contraer todos los elementos)
-document_outline_label=Resumen de documento
-attachments.title=Mostrar adjuntos
-attachments_label=Adjuntos
-layers.title=Mostrar capas (doble clic para restablecer todas las capas al estado predeterminado)
-layers_label=Capas
-thumbs.title=Mostrar miniaturas
-thumbs_label=Miniaturas
-current_outline_item.title=Encontrar elemento de esquema actual
-current_outline_item_label=Elemento de esquema actual
-findbar.title=Buscar en el documento
-findbar_label=Buscar
-
-additional_layers=Capas adicionales
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Página {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Página {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura de la página {{page}}
-
-# Find panel button title and messages
-find_input.title=Buscar
-find_input.placeholder=Buscar en el documento…
-find_previous.title=Encontrar la anterior aparición de la frase
-find_previous_label=Anterior
-find_next.title=Encontrar la siguiente aparición de esta frase
-find_next_label=Siguiente
-find_highlight=Resaltar todos
-find_match_case_label=Coincidencia de mayús./minús.
-find_match_diacritics_label=Coincidir diacrÃticos
-find_entire_word_label=Palabras completas
-find_reached_top=Se alcanzó el inicio del documento, se continúa desde el final
-find_reached_bottom=Se alcanzó el final del documento, se continúa desde el inicio
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} de {{total}} coincidencia
-find_match_count[two]={{current}} de {{total}} coincidencias
-find_match_count[few]={{current}} de {{total}} coincidencias
-find_match_count[many]={{current}} de {{total}} coincidencias
-find_match_count[other]={{current}} de {{total}} coincidencias
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Más de {{limit}} coincidencias
-find_match_count_limit[one]=Más de {{limit}} coincidencia
-find_match_count_limit[two]=Más de {{limit}} coincidencias
-find_match_count_limit[few]=Más de {{limit}} coincidencias
-find_match_count_limit[many]=Más de {{limit}} coincidencias
-find_match_count_limit[other]=Más de {{limit}} coincidencias
-find_not_found=Frase no encontrada
-
-# Error panel labels
-error_more_info=Más información
-error_less_info=Menos información
-error_close=Cerrar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mensaje: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Archivo: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=LÃnea: {{line}}
-rendering_error=Ocurrió un error al renderizar la página.
-
-# Predefined zoom values
-page_scale_width=Anchura de la página
-page_scale_fit=Ajuste de la página
-page_scale_auto=Tamaño automático
-page_scale_actual=Tamaño real
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Cargando…
-loading_error=Ocurrió un error al cargar el PDF.
-invalid_file_error=Fichero PDF no válido o corrupto.
-missing_file_error=No hay fichero PDF.
-unexpected_response_error=Respuesta inesperada del servidor.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotación {{type}}]
-password_label=Introduzca la contraseña para abrir este archivo PDF.
-password_invalid=Contraseña no válida. Vuelva a intentarlo.
-password_ok=Aceptar
-password_cancel=Cancelar
-
-printing_not_supported=Advertencia: Imprimir no está totalmente soportado por este navegador.
-printing_not_ready=Advertencia: Este PDF no se ha cargado completamente para poder imprimirse.
-web_fonts_disabled=Las tipografÃas web están desactivadas: es imposible usar las tipografÃas PDF embebidas.
-
-# Editor
-editor_none.title=Desactivar la edición de anotaciones
-editor_none_label=Desactivar edición
-editor_free_text.title=Añadir anotación FreeText
-editor_free_text_label=Anotación FreeText
-editor_ink.title=Añadir anotación de tinta
-editor_ink_label=Anotación de tinta
-
-freetext_default_content=Introduzca algún texto…
-
-free_text_default_content=Introducir texto…
-
-# Editor Parameters
-editor_free_text_font_color=Color de la fuente
-editor_free_text_font_size=Tamaño de la fuente
-editor_ink_line_color=Color de la lÃnea
-editor_ink_line_thickness=Grosor de la lÃnea
diff --git a/static/js/pdf-js/web/locale/es-MX/viewer.properties b/static/js/pdf-js/web/locale/es-MX/viewer.properties
deleted file mode 100644
index 03dfaa1..0000000
--- a/static/js/pdf-js/web/locale/es-MX/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Página anterior
-previous_label=Anterior
-next.title=Página siguiente
-next_label=Siguiente
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Página
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Reducir
-zoom_out_label=Reducir
-zoom_in.title=Aumentar
-zoom_in_label=Aumentar
-zoom.title=Zoom
-presentation_mode.title=Cambiar al modo presentación
-presentation_mode_label=Modo presentación
-open_file.title=Abrir archivo
-open_file_label=Abrir
-print.title=Imprimir
-print_label=Imprimir
-download.title=Descargar
-download_label=Descargar
-bookmark.title=Vista actual (copiar o abrir en una nueva ventana)
-bookmark_label=Vista actual
-
-# Secondary toolbar and context menu
-tools.title=Herramientas
-tools_label=Herramientas
-first_page.title=Ir a la primera página
-first_page_label=Ir a la primera página
-last_page.title=Ir a la última página
-last_page_label=Ir a la última página
-page_rotate_cw.title=Girar a la derecha
-page_rotate_cw_label=Girar a la derecha
-page_rotate_ccw.title=Girar a la izquierda
-page_rotate_ccw_label=Girar a la izquierda
-
-cursor_text_select_tool.title=Activar la herramienta de selección de texto
-cursor_text_select_tool_label=Herramienta de selección de texto
-cursor_hand_tool.title=Activar la herramienta de mano
-cursor_hand_tool_label=Herramienta de mano
-
-scroll_page.title=Usar desplazamiento de página
-scroll_page_label=Desplazamiento de página
-scroll_vertical.title=Usar desplazamiento vertical
-scroll_vertical_label=Desplazamiento vertical
-scroll_horizontal.title=Usar desplazamiento horizontal
-scroll_horizontal_label=Desplazamiento horizontal
-scroll_wrapped.title=Usar desplazamiento encapsulado
-scroll_wrapped_label=Desplazamiento encapsulado
-
-spread_none.title=No unir páginas separadas
-spread_none_label=Vista de una página
-spread_odd.title=Unir las páginas partiendo con una de número impar
-spread_odd_label=Vista de libro impar
-spread_even.title=Juntar las páginas partiendo con una de número par
-spread_even_label=Vista de libro par
-
-# Document properties dialog box
-document_properties.title=Propiedades del documento…
-document_properties_label=Propiedades del documento…
-document_properties_file_name=Nombre del archivo:
-document_properties_file_size=Tamaño del archivo:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=TÃtulo:
-document_properties_author=Autor:
-document_properties_subject=Asunto:
-document_properties_keywords=Palabras claves:
-document_properties_creation_date=Fecha de creación:
-document_properties_modification_date=Fecha de modificación:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creador:
-document_properties_producer=Productor PDF:
-document_properties_version=Versión PDF:
-document_properties_page_count=Número de páginas:
-document_properties_page_size=Tamaño de la página:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=vertical
-document_properties_page_size_orientation_landscape=horizontal
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Carta
-document_properties_page_size_name_legal=Oficio
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista rápida de la web:
-document_properties_linearized_yes=SÃ
-document_properties_linearized_no=No
-document_properties_close=Cerrar
-
-print_progress_message=Preparando documento para impresión…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancelar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Cambiar barra lateral
-toggle_sidebar_notification2.title=Alternar barra lateral (el documento contiene esquemas/adjuntos/capas)
-toggle_sidebar_label=Cambiar barra lateral
-document_outline.title=Mostrar esquema del documento (doble clic para expandir/contraer todos los elementos)
-document_outline_label=Esquema del documento
-attachments.title=Mostrar adjuntos
-attachments_label=Adjuntos
-layers.title=Mostrar capas (doble clic para restablecer todas las capas al estado predeterminado)
-layers_label=Capas
-thumbs.title=Mostrar miniaturas
-thumbs_label=Miniaturas
-current_outline_item.title=Buscar elemento de esquema actual
-current_outline_item_label=Elemento de esquema actual
-findbar.title=Buscar en el documento
-findbar_label=Buscar
-
-additional_layers=Capas adicionales
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Página {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Página {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura de la página {{page}}
-
-# Find panel button title and messages
-find_input.title=Buscar
-find_input.placeholder=Buscar en el documento…
-find_previous.title=Ir a la anterior frase encontrada
-find_previous_label=Anterior
-find_next.title=Ir a la siguiente frase encontrada
-find_next_label=Siguiente
-find_highlight=Resaltar todo
-find_match_case_label=Coincidir con mayúsculas y minúsculas
-find_match_diacritics_label=Coincidir diacrÃticos
-find_entire_word_label=Palabras completas
-find_reached_top=Se alcanzó el inicio del documento, se buscará al final
-find_reached_bottom=Se alcanzó el final del documento, se buscará al inicio
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} de {{total}} coincidencia
-find_match_count[two]={{current}} de {{total}} coincidencias
-find_match_count[few]={{current}} de {{total}} coincidencias
-find_match_count[many]={{current}} de {{total}} coincidencias
-find_match_count[other]={{current}} de {{total}} coincidencias
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Más de {{limit}} coincidencias
-find_match_count_limit[one]=Más de {{limit}} coinciden
-find_match_count_limit[two]=Más de {{limit}} coincidencias
-find_match_count_limit[few]=Más de {{limit}} coincidencias
-find_match_count_limit[many]=Más de {{limit}} coincidencias
-find_match_count_limit[other]=Más de {{limit}} coincidencias
-find_not_found=No se encontró la frase
-
-# Error panel labels
-error_more_info=Más información
-error_less_info=Menos información
-error_close=Cerrar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mensaje: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Archivo: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=LÃnea: {{line}}
-rendering_error=Un error ocurrió al renderizar la página.
-
-# Predefined zoom values
-page_scale_width=Ancho de página
-page_scale_fit=Ajustar página
-page_scale_auto=Zoom automático
-page_scale_actual=Tamaño real
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Cargando…
-loading_error=Un error ocurrió al cargar el PDF.
-invalid_file_error=Archivo PDF invalido o dañado.
-missing_file_error=Archivo PDF no encontrado.
-unexpected_response_error=Respuesta inesperada del servidor.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} anotación]
-password_label=Ingresa la contraseña para abrir este archivo PDF.
-password_invalid=Contraseña inválida. Por favor intenta de nuevo.
-password_ok=Aceptar
-password_cancel=Cancelar
-
-printing_not_supported=Advertencia: La impresión no esta completamente soportada por este navegador.
-printing_not_ready=Advertencia: El PDF no cargo completamente para impresión.
-web_fonts_disabled=Las fuentes web están desactivadas: es imposible usar las fuentes PDF embebidas.
-
-# Editor
-editor_none.title=Deshabilitar la edición de anotaciones
-editor_none_label=Deshabilitar edición
-editor_free_text.title=Agregar anotación FreeText
-editor_free_text_label=Anotación FreeText
-editor_ink.title=Agregar anotación de tinta
-editor_ink_label=Anotación de tinta
-
-freetext_default_content=Ingresar algún texto…
-
-free_text_default_content=Ingresar texto…
-
-# Editor Parameters
-editor_free_text_font_color=Color de fuente
-editor_free_text_font_size=Tamaño de la fuente
-editor_ink_line_color=Color de lÃnea
-editor_ink_line_thickness=Grosor de la lÃnea
-
-# Editor Parameters
-editor_free_text_color=Color
-editor_free_text_size=Tamaño
-editor_ink_color=Color
-editor_ink_thickness=Grossor
-editor_ink_opacity=Opacidad
-
-# Editor aria
-editor_free_text_aria_label=Editor de FreeText
-editor_ink_aria_label=Editor de tinta
-editor_ink_canvas_aria_label=Imagen creada por el usuario
diff --git a/static/js/pdf-js/web/locale/et/viewer.properties b/static/js/pdf-js/web/locale/et/viewer.properties
deleted file mode 100644
index 2d2f7da..0000000
--- a/static/js/pdf-js/web/locale/et/viewer.properties
+++ /dev/null
@@ -1,269 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Eelmine lehekülg
-previous_label=Eelmine
-next.title=Järgmine lehekülg
-next_label=Järgmine
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Leht
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=/ {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}}/{{pagesCount}})
-
-zoom_out.title=Vähenda
-zoom_out_label=Vähenda
-zoom_in.title=Suurenda
-zoom_in_label=Suurenda
-zoom.title=Suurendamine
-presentation_mode.title=Lülitu esitlusrežiimi
-presentation_mode_label=Esitlusrežiim
-open_file.title=Ava fail
-open_file_label=Ava
-print.title=Prindi
-print_label=Prindi
-download.title=Laadi alla
-download_label=Laadi alla
-bookmark.title=Praegune vaade (kopeeri või ava uues aknas)
-bookmark_label=Praegune vaade
-
-# Secondary toolbar and context menu
-tools.title=Tööriistad
-tools_label=Tööriistad
-first_page.title=Mine esimesele leheküljele
-first_page_label=Mine esimesele leheküljele
-last_page.title=Mine viimasele leheküljele
-last_page_label=Mine viimasele leheküljele
-page_rotate_cw.title=Pööra päripäeva
-page_rotate_cw_label=Pööra päripäeva
-page_rotate_ccw.title=Pööra vastupäeva
-page_rotate_ccw_label=Pööra vastupäeva
-
-cursor_text_select_tool.title=Luba teksti valimise tööriist
-cursor_text_select_tool_label=Teksti valimise tööriist
-cursor_hand_tool.title=Luba sirvimistööriist
-cursor_hand_tool_label=Sirvimistööriist
-
-scroll_page.title=Kasutatakse lehe kaupa kerimist
-scroll_page_label=Lehe kaupa kerimine
-scroll_vertical.title=Kasuta vertikaalset kerimist
-scroll_vertical_label=Vertikaalne kerimine
-scroll_horizontal.title=Kasuta horisontaalset kerimist
-scroll_horizontal_label=Horisontaalne kerimine
-scroll_wrapped.title=Kasuta rohkem mahutavat kerimist
-scroll_wrapped_label=Rohkem mahutav kerimine
-
-spread_none.title=Ära kõrvuta lehekülgi
-spread_none_label=Lehtede kõrvutamine puudub
-spread_odd.title=Kõrvuta leheküljed, alustades paaritute numbritega lehekülgedega
-spread_odd_label=Kõrvutamine paaritute numbritega alustades
-spread_even.title=Kõrvuta leheküljed, alustades paarisnumbritega lehekülgedega
-spread_even_label=Kõrvutamine paarisnumbritega alustades
-
-# Document properties dialog box
-document_properties.title=Dokumendi omadused…
-document_properties_label=Dokumendi omadused…
-document_properties_file_name=Faili nimi:
-document_properties_file_size=Faili suurus:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KiB ({{size_b}} baiti)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MiB ({{size_b}} baiti)
-document_properties_title=Pealkiri:
-document_properties_author=Autor:
-document_properties_subject=Teema:
-document_properties_keywords=Märksõnad:
-document_properties_creation_date=Loodud:
-document_properties_modification_date=Muudetud:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}} {{time}}
-document_properties_creator=Looja:
-document_properties_producer=Generaator:
-document_properties_version=Generaatori versioon:
-document_properties_page_count=Lehekülgi:
-document_properties_page_size=Lehe suurus:
-document_properties_page_size_unit_inches=tolli
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=vertikaalpaigutus
-document_properties_page_size_orientation_landscape=rõhtpaigutus
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized="Fast Web View" tugi:
-document_properties_linearized_yes=Jah
-document_properties_linearized_no=Ei
-document_properties_close=Sulge
-
-print_progress_message=Dokumendi ettevalmistamine printimiseks…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Loobu
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Näita külgriba
-toggle_sidebar_notification2.title=Näita külgriba (dokument sisaldab sisukorda/manuseid/kihte)
-toggle_sidebar_label=Näita külgriba
-document_outline.title=Näita sisukorda (kõigi punktide laiendamiseks/ahendamiseks topeltklõpsa)
-document_outline_label=Näita sisukorda
-attachments.title=Näita manuseid
-attachments_label=Manused
-layers.title=Näita kihte (kõikide kihtide vaikeolekusse lähtestamiseks topeltklõpsa)
-layers_label=Kihid
-thumbs.title=Näita pisipilte
-thumbs_label=Pisipildid
-current_outline_item.title=Otsi üles praegune kontuuriüksus
-current_outline_item_label=Praegune kontuuriüksus
-findbar.title=Otsi dokumendist
-findbar_label=Otsi
-
-additional_layers=Täiendavad kihid
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Lehekülg {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}}. lehekülg
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}}. lehekülje pisipilt
-
-# Find panel button title and messages
-find_input.title=Otsi
-find_input.placeholder=Otsi dokumendist…
-find_previous.title=Otsi fraasi eelmine esinemiskoht
-find_previous_label=Eelmine
-find_next.title=Otsi fraasi järgmine esinemiskoht
-find_next_label=Järgmine
-find_highlight=Too kõik esile
-find_match_case_label=Tõstutundlik
-find_match_diacritics_label=Otsitakse diakriitiliselt
-find_entire_word_label=Täissõnad
-find_reached_top=Jõuti dokumendi algusesse, jätkati lõpust
-find_reached_bottom=Jõuti dokumendi lõppu, jätkati algusest
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]=vaste {{current}}/{{total}}
-find_match_count[two]=vaste {{current}}/{{total}}
-find_match_count[few]=vaste {{current}}/{{total}}
-find_match_count[many]=vaste {{current}}/{{total}}
-find_match_count[other]=vaste {{current}}/{{total}}
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Rohkem kui {{limit}} vastet
-find_match_count_limit[one]=Rohkem kui {{limit}} vaste
-find_match_count_limit[two]=Rohkem kui {{limit}} vastet
-find_match_count_limit[few]=Rohkem kui {{limit}} vastet
-find_match_count_limit[many]=Rohkem kui {{limit}} vastet
-find_match_count_limit[other]=Rohkem kui {{limit}} vastet
-find_not_found=Fraasi ei leitud
-
-# Error panel labels
-error_more_info=Rohkem teavet
-error_less_info=Vähem teavet
-error_close=Sulge
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Teade: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fail: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Rida: {{line}}
-rendering_error=Lehe renderdamisel esines viga.
-
-# Predefined zoom values
-page_scale_width=Mahuta laiusele
-page_scale_fit=Mahuta leheküljele
-page_scale_auto=Automaatne suurendamine
-page_scale_actual=Tegelik suurus
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Laadimine…
-loading_error=PDFi laadimisel esines viga.
-invalid_file_error=Vigane või rikutud PDF-fail.
-missing_file_error=PDF-fail puudub.
-unexpected_response_error=Ootamatu vastus serverilt.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}} {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=PDF-faili avamiseks sisesta parool.
-password_invalid=Vigane parool. Palun proovi uuesti.
-password_ok=Sobib
-password_cancel=Loobu
-
-printing_not_supported=Hoiatus: printimine pole selle brauseri poolt täielikult toetatud.
-printing_not_ready=Hoiatus: PDF pole printimiseks täielikult laaditud.
-web_fonts_disabled=Veebifondid on keelatud: PDFiga kaasatud fonte pole võimalik kasutada.
-
-# Editor
-editor_none.title=Keela annotatsioonide muutmine
-editor_none_label=Keela muutmine
-editor_free_text.title=Lisa vabateksti annotatsioon
-editor_free_text_label=Vabateksti annotatsioon
-editor_ink.title=Lisa tindiannotatsioon
-editor_ink_label=Tindiannotatsioon
-
-freetext_default_content=Sisesta mingi tekst…
-
-free_text_default_content=Sisesta tekst…
-
-# Editor Parameters
-editor_free_text_font_color=Fondi värv
-editor_free_text_font_size=Fondi suurus
-editor_ink_line_color=Joone värv
-editor_ink_line_thickness=Joone paksus
diff --git a/static/js/pdf-js/web/locale/eu/viewer.properties b/static/js/pdf-js/web/locale/eu/viewer.properties
deleted file mode 100644
index 6644459..0000000
--- a/static/js/pdf-js/web/locale/eu/viewer.properties
+++ /dev/null
@@ -1,269 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Aurreko orria
-previous_label=Aurrekoa
-next.title=Hurrengo orria
-next_label=Hurrengoa
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Orria
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=/ {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages={{pagesCount}}/{{pageNumber}}
-
-zoom_out.title=Urrundu zooma
-zoom_out_label=Urrundu zooma
-zoom_in.title=Gerturatu zooma
-zoom_in_label=Gerturatu zooma
-zoom.title=Zooma
-presentation_mode.title=Aldatu aurkezpen modura
-presentation_mode_label=Arkezpen modua
-open_file.title=Ireki fitxategia
-open_file_label=Ireki
-print.title=Inprimatu
-print_label=Inprimatu
-download.title=Deskargatu
-download_label=Deskargatu
-bookmark.title=Uneko ikuspegia (kopiatu edo ireki leiho berrian)
-bookmark_label=Uneko ikuspegia
-
-# Secondary toolbar and context menu
-tools.title=Tresnak
-tools_label=Tresnak
-first_page.title=Joan lehen orrira
-first_page_label=Joan lehen orrira
-last_page.title=Joan azken orrira
-last_page_label=Joan azken orrira
-page_rotate_cw.title=Biratu erlojuaren norantzan
-page_rotate_cw_label=Biratu erlojuaren norantzan
-page_rotate_ccw.title=Biratu erlojuaren aurkako norantzan
-page_rotate_ccw_label=Biratu erlojuaren aurkako norantzan
-
-cursor_text_select_tool.title=Gaitu testuaren hautapen tresna
-cursor_text_select_tool_label=Testuaren hautapen tresna
-cursor_hand_tool.title=Gaitu eskuaren tresna
-cursor_hand_tool_label=Eskuaren tresna
-
-scroll_page.title=Erabili orriaren korritzea
-scroll_page_label=Orriaren korritzea
-scroll_vertical.title=Erabili korritze bertikala
-scroll_vertical_label=Korritze bertikala
-scroll_horizontal.title=Erabili korritze horizontala
-scroll_horizontal_label=Korritze horizontala
-scroll_wrapped.title=Erabili korritze egokitua
-scroll_wrapped_label=Korritze egokitua
-
-spread_none.title=Ez elkartu barreiatutako orriak
-spread_none_label=Barreiatzerik ez
-spread_odd.title=Elkartu barreiatutako orriak bakoiti zenbakidunekin hasita
-spread_odd_label=Barreiatze bakoitia
-spread_even.title=Elkartu barreiatutako orriak bikoiti zenbakidunekin hasita
-spread_even_label=Barreiatze bikoitia
-
-# Document properties dialog box
-document_properties.title=Dokumentuaren propietateak…
-document_properties_label=Dokumentuaren propietateak…
-document_properties_file_name=Fitxategi-izena:
-document_properties_file_size=Fitxategiaren tamaina:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} byte)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} byte)
-document_properties_title=Izenburua:
-document_properties_author=Egilea:
-document_properties_subject=Gaia:
-document_properties_keywords=Gako-hitzak:
-document_properties_creation_date=Sortze-data:
-document_properties_modification_date=Aldatze-data:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Sortzailea:
-document_properties_producer=PDFaren ekoizlea:
-document_properties_version=PDF bertsioa:
-document_properties_page_count=Orrialde kopurua:
-document_properties_page_size=Orriaren tamaina:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=bertikala
-document_properties_page_size_orientation_landscape=horizontala
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Gutuna
-document_properties_page_size_name_legal=Legala
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Webeko ikuspegi bizkorra:
-document_properties_linearized_yes=Bai
-document_properties_linearized_no=Ez
-document_properties_close=Itxi
-
-print_progress_message=Dokumentua inprimatzeko prestatzen…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent=%{{progress}}
-print_progress_close=Utzi
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Txandakatu alboko barra
-toggle_sidebar_notification2.title=Txandakatu alboko barra (dokumentuak eskema/eranskinak/geruzak ditu)
-toggle_sidebar_label=Txandakatu alboko barra
-document_outline.title=Erakutsi dokumentuaren eskema (klik bikoitza elementu guztiak zabaltzeko/tolesteko)
-document_outline_label=Dokumentuaren eskema
-attachments.title=Erakutsi eranskinak
-attachments_label=Eranskinak
-layers.title=Erakutsi geruzak (klik bikoitza geruza guztiak egoera lehenetsira berrezartzeko)
-layers_label=Geruzak
-thumbs.title=Erakutsi koadro txikiak
-thumbs_label=Koadro txikiak
-current_outline_item.title=Bilatu uneko eskemaren elementua
-current_outline_item_label=Uneko eskemaren elementua
-findbar.title=Bilatu dokumentuan
-findbar_label=Bilatu
-
-additional_layers=Geruza gehigarriak
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark={{page}}. orria
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}}. orria
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}}. orriaren koadro txikia
-
-# Find panel button title and messages
-find_input.title=Bilatu
-find_input.placeholder=Bilatu dokumentuan…
-find_previous.title=Bilatu esaldiaren aurreko parekatzea
-find_previous_label=Aurrekoa
-find_next.title=Bilatu esaldiaren hurrengo parekatzea
-find_next_label=Hurrengoa
-find_highlight=Nabarmendu guztia
-find_match_case_label=Bat etorri maiuskulekin/minuskulekin
-find_match_diacritics_label=Bereizi diakritikoak
-find_entire_word_label=Hitz osoak
-find_reached_top=Dokumentuaren hasierara heldu da, bukaeratik jarraitzen
-find_reached_bottom=Dokumentuaren bukaerara heldu da, hasieratik jarraitzen
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{total}}/{{current}}. bat etortzea
-find_match_count[two]={{total}}/{{current}}. bat etortzea
-find_match_count[few]={{total}}/{{current}}. bat etortzea
-find_match_count[many]={{total}}/{{current}}. bat etortzea
-find_match_count[other]={{total}}/{{current}}. bat etortzea
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}} bat-etortze baino gehiago
-find_match_count_limit[one]=Bat-etortze {{limit}} baino gehiago
-find_match_count_limit[two]={{limit}} bat-etortze baino gehiago
-find_match_count_limit[few]={{limit}} bat-etortze baino gehiago
-find_match_count_limit[many]={{limit}} bat-etortze baino gehiago
-find_match_count_limit[other]={{limit}} bat-etortze baino gehiago
-find_not_found=Esaldia ez da aurkitu
-
-# Error panel labels
-error_more_info=Informazio gehiago
-error_less_info=Informazio gutxiago
-error_close=Itxi
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (eraikuntza: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mezua: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fitxategia: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Lerroa: {{line}}
-rendering_error=Errorea gertatu da orria errendatzean.
-
-# Predefined zoom values
-page_scale_width=Orriaren zabalera
-page_scale_fit=Doitu orrira
-page_scale_auto=Zoom automatikoa
-page_scale_actual=Benetako tamaina
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent=%{{scale}}
-
-# Loading indicator messages
-loading=Kargatzen…
-loading_error=Errorea gertatu da PDFa kargatzean.
-invalid_file_error=PDF fitxategi baliogabe edo hondatua.
-missing_file_error=PDF fitxategia falta da.
-unexpected_response_error=Espero gabeko zerbitzariaren erantzuna.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} ohartarazpena]
-password_label=Idatzi PDF fitxategi hau irekitzeko pasahitza.
-password_invalid=Pasahitz baliogabea. Saiatu berriro mesedez.
-password_ok=Ados
-password_cancel=Utzi
-
-printing_not_supported=Abisua: inprimatzeko euskarria ez da erabatekoa nabigatzaile honetan.
-printing_not_ready=Abisua: PDFa ez dago erabat kargatuta inprimatzeko.
-web_fonts_disabled=Webeko letra-tipoak desgaituta daude: ezin dira kapsulatutako PDF letra-tipoak erabili.
-
-# Editor
-editor_none.title=Desgaitu oharren edizioa
-editor_none_label=Desgaitu edizioa
-editor_free_text.title=Gehitu testu-oharra
-editor_free_text_label=Testu-oharra
-editor_ink.title=Gehitu esku-oharra
-editor_ink_label=Esku-oharra
-
-freetext_default_content=Idatzi testua…
-
-free_text_default_content=Idatzi testua…
-
-# Editor Parameters
-editor_free_text_font_color=Letra-kolorea
-editor_free_text_font_size=Letra-tamaina
-editor_ink_line_color=Lerroaren kolorea
-editor_ink_line_thickness=Lerroaren lodiera
diff --git a/static/js/pdf-js/web/locale/fa/viewer.properties b/static/js/pdf-js/web/locale/fa/viewer.properties
deleted file mode 100644
index 2c28f01..0000000
--- a/static/js/pdf-js/web/locale/fa/viewer.properties
+++ /dev/null
@@ -1,215 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=ØµÙØÙ‡Ù” قبلی
-previous_label=قبلی
-next.title=ØµÙØÙ‡Ù” بعدی
-next_label=بعدی
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=ØµÙØÙ‡
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=از {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}}از {{pagesCount}})
-
-zoom_out.title=کوچک‌نمایی
-zoom_out_label=کوچک‌نمایی
-zoom_in.title=بزرگ‌نمایی
-zoom_in_label=بزرگ‌نمایی
-zoom.title=زوم
-presentation_mode.title=تغییر به ØØ§Ù„ت ارائه
-presentation_mode_label=ØØ§Ù„ت ارائه
-open_file.title=باز کردن پرونده
-open_file_label=باز کردن
-print.title=چاپ
-print_label=چاپ
-download.title=بارگیری
-download_label=بارگیری
-bookmark.title=نمای ÙØ¹Ù„ÛŒ (رونوشت Ùˆ یا نشان دادن در پنجره جدید)
-bookmark_label=نمای ÙØ¹Ù„ÛŒ
-
-# Secondary toolbar and context menu
-tools.title=ابزارها
-tools_label=ابزارها
-first_page.title=برو به اولین ØµÙØÙ‡
-first_page_label=برو به اولین ØµÙØÙ‡
-last_page.title=برو به آخرین ØµÙØÙ‡
-last_page_label=برو به آخرین ØµÙØÙ‡
-page_rotate_cw.title=چرخش ساعتگرد
-page_rotate_cw_label=چرخش ساعتگرد
-page_rotate_ccw.title=چرخش پاد ساعتگرد
-page_rotate_ccw_label=چرخش پاد ساعتگرد
-
-cursor_text_select_tool.title=ÙØ¹Ø§Ù„ کردن ابزار٠انتخاب٠متن
-cursor_text_select_tool_label=ابزار٠انتخاب٠متن
-cursor_hand_tool.title=ÙØ¹Ø§Ù„ کردن ابزار٠دست
-cursor_hand_tool_label=ابزار دست
-
-scroll_vertical.title=Ø§Ø³ØªÙØ§Ø¯Ù‡ از پیمایش عمودی
-scroll_vertical_label=پیمایش عمودی
-scroll_horizontal.title=Ø§Ø³ØªÙØ§Ø¯Ù‡ از پیمایش اÙÙ‚ÛŒ
-scroll_horizontal_label=پیمایش اÙÙ‚ÛŒ
-
-
-# Document properties dialog box
-document_properties.title=خصوصیات سند...
-document_properties_label=خصوصیات سند...
-document_properties_file_name=نام ÙØ§ÛŒÙ„:
-document_properties_file_size=ØØ¬Ù… پرونده:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} کیلوبایت ({{size_b}} بایت)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} مگابایت ({{size_b}} بایت)
-document_properties_title=عنوان:
-document_properties_author=نویسنده:
-document_properties_subject=موضوع:
-document_properties_keywords=کلیدواژه‌ها:
-document_properties_creation_date=تاریخ ایجاد:
-document_properties_modification_date=تاریخ ویرایش:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}، {{time}}
-document_properties_creator=ایجاد کننده:
-document_properties_producer=ایجاد کننده PDF:
-document_properties_version=نسخه PDF:
-document_properties_page_count=تعداد ØµÙØØ§Øª:
-document_properties_page_size=اندازه ØµÙØÙ‡:
-document_properties_page_size_unit_inches=اینچ
-document_properties_page_size_unit_millimeters=میلی‌متر
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=نامه
-document_properties_page_size_name_legal=ØÙ‚وقی
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized_yes=بله
-document_properties_linearized_no=خیر
-document_properties_close=بستن
-
-print_progress_message=آماده سازی مدارک برای چاپ کردن…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=لغو
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=باز و بسته کردن نوار کناری
-toggle_sidebar_label=ØªØºÛŒÛŒØ±ØØ§Ù„ت نوارکناری
-document_outline.title=نمایش رئوس مطالب مدارک(برای بازشدن/جمع شدن همه موارد دوبار کلیک کنید)
-document_outline_label=Ø·Ø±Ø Ù†ÙˆØ´ØªØ§Ø±
-attachments.title=نمایش پیوست‌ها
-attachments_label=پیوست‌ها
-thumbs.title=نمایش تصاویر بندانگشتی
-thumbs_label=تصاویر بندانگشتی
-findbar.title=جستجو در سند
-findbar_label=پیدا کردن
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=ØµÙØÙ‡ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=تصویر بند‌ انگشتی ØµÙØÙ‡ {{page}}
-
-# Find panel button title and messages
-find_input.title=پیدا کردن
-find_input.placeholder=پیدا کردن در سند…
-find_previous.title=پیدا کردن رخداد قبلی عبارت
-find_previous_label=قبلی
-find_next.title=پیدا کردن رخداد بعدی عبارت
-find_next_label=بعدی
-find_highlight=برجسته و هایلایت کردن همه موارد
-find_match_case_label=تطبیق Ú©ÙˆÚ†Ú©ÛŒ Ùˆ بزرگی ØØ±ÙˆÙ
-find_entire_word_label=تمام کلمه‌ها
-find_reached_top=به بالای ØµÙØÙ‡ رسیدیم، از پایین ادامه می‌دهیم
-find_reached_bottom=به آخر ØµÙØÙ‡ رسیدیم، از بالا ادامه می‌دهیم
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count[one]={{current}} از {{total}} مطابقت دارد
-find_match_count[two]={{current}} از {{total}} مطابقت دارد
-find_match_count[few]={{current}} از {{total}} مطابقت دارد
-find_match_count[many]={{current}} از {{total}} مطابقت دارد
-find_match_count[other]={{current}} از {{total}} مطابقت دارد
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_not_found=عبارت پیدا نشد
-
-# Error panel labels
-error_more_info=اطلاعات بیشتر
-error_less_info=اطلاعات کمتر
-error_close=بستن
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=â€PDF.js ورژن{{version}} â€(ساخت: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=پیام: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=توده: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=پرونده: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=سطر: {{line}}
-rendering_error=هنگام بارگیری ØµÙØÙ‡ خطایی رخ داد.
-
-# Predefined zoom values
-page_scale_width=عرض ØµÙØÙ‡
-page_scale_fit=اندازه کردن ØµÙØÙ‡
-page_scale_auto=بزرگنمایی خودکار
-page_scale_actual=اندازه واقعی‌
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=هنگام بارگیری پرونده PDF خطایی رخ داد.
-invalid_file_error=پرونده PDF نامعتبر یامعیوب می‌باشد.
-missing_file_error=پرونده PDF ÛŒØ§ÙØª نشد.
-unexpected_response_error=پاسخ پیش بینی نشده سرور
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=جهت باز کردن پرونده PDF گذرواژه را وارد نمائید.
-password_invalid=گذرواژه نامعتبر. Ù„Ø·ÙØ§ مجددا تلاش کنید.
-password_ok=تأیید
-password_cancel=لغو
-
-printing_not_supported=هشدار: قابلیت چاپ به‌طور کامل در این مرورگر پشتیبانی نمی‌شود.
-printing_not_ready=اخطار: پرونده PDF بطور کامل بارگیری نشده و امکان چاپ وجود ندارد.
-web_fonts_disabled=Ùونت های ØªØØª وب غیر ÙØ¹Ø§Ù„ شده اند: امکان Ø§Ø³ØªÙØ§Ø¯Ù‡ از نمایش دهنده داخلی PDF وجود ندارد.
diff --git a/static/js/pdf-js/web/locale/ff/viewer.properties b/static/js/pdf-js/web/locale/ff/viewer.properties
deleted file mode 100644
index bc95457..0000000
--- a/static/js/pdf-js/web/locale/ff/viewer.properties
+++ /dev/null
@@ -1,234 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Hello Æennungo
-previous_label=ÆennuÉ—o
-next.title=Hello faango
-next_label=Yeeso
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Hello
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=e nder {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} of {{pagesCount}})
-
-zoom_out.title=Lonngo WoÉ—É—a
-zoom_out_label=Lonngo WoÉ—É—a
-zoom_in.title=Lonngo Ara
-zoom_in_label=Lonngo Ara
-zoom.title=Lonngo
-presentation_mode.title=Faytu to Presentation Mode
-presentation_mode_label=Presentation Mode
-open_file.title=Uddit Fiilde
-open_file_label=Uddit
-print.title=Winndito
-print_label=Winndito
-download.title=Aawto
-download_label=Aawto
-bookmark.title=Jiytol gonangol (natto walla uddit e henorde)
-bookmark_label=Jiytol Gonangol
-
-# Secondary toolbar and context menu
-tools.title=KuutorÉ—e
-tools_label=KuutorÉ—e
-first_page.title=Yah to hello adanngo
-first_page_label=Yah to hello adanngo
-last_page.title=Yah to hello wattindiingo
-last_page_label=Yah to hello wattindiingo
-page_rotate_cw.title=Yiiltu Faya Ñaamo
-page_rotate_cw_label=Yiiltu Faya Ñaamo
-page_rotate_ccw.title=Yiiltu Faya Nano
-page_rotate_ccw_label=Yiiltu Faya Nano
-
-cursor_text_select_tool.title=Gollin kaɓirgel cuɓirgel binndi
-cursor_text_select_tool_label=Kaɓirgel cuɓirgel binndi
-cursor_hand_tool.title=Hurmin kuutorgal junngo
-cursor_hand_tool_label=Kaɓirgel junngo
-
-scroll_vertical.title=Huutoro gorwitol daringol
-scroll_vertical_label=Gorwitol daringol
-scroll_horizontal.title=Huutoro gorwitol lelingol
-scroll_horizontal_label=Gorwitol daringol
-scroll_wrapped.title=Huutoro gorwitol coomingol
-scroll_wrapped_label=Gorwitol coomingol
-
-spread_none.title=Hoto tawtu kelle kelle
-spread_none_label=Alaa Spreads
-spread_odd.title=Tawtu kelle puÉ—É—ortooÉ—e kelle teelÉ—e
-spread_odd_label=Kelle teelÉ—e
-spread_even.title=Tawtu É—ereeji kelle puÉ—É—oriiÉ—i kelle teeltuÉ—e
-spread_even_label=Kelle teeltuÉ—e
-
-# Document properties dialog box
-document_properties.title=Keeroraaɗi Winndannde…
-document_properties_label=Keeroraaɗi Winndannde…
-document_properties_file_name=Innde fiilde:
-document_properties_file_size=Æetol fiilde:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bite)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bite)
-document_properties_title=Tiitoonde:
-document_properties_author=BinnduÉ—o:
-document_properties_subject=Toɓɓere:
-document_properties_keywords=Kelmekele jiytirÉ—e:
-document_properties_creation_date=Ñalnde Sosaa:
-document_properties_modification_date=Ñalnde Waylaa:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=CosÉ—o:
-document_properties_producer=PaggiiÉ—o PDF:
-document_properties_version=Yamre PDF:
-document_properties_page_count=Limoore Kelle:
-document_properties_page_size=Æeto Hello:
-document_properties_page_size_unit_inches=nder
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=dariingo
-document_properties_page_size_orientation_landscape=wertiingo
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Æataake
-document_properties_page_size_name_legal=Laawol
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=ÆŠisngo geese yaawngo:
-document_properties_linearized_yes=Eey
-document_properties_linearized_no=Alaa
-document_properties_close=Uddu
-
-print_progress_message=Nana heboo winnditaade fiilannde…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Haaytu
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Toggilo Palal Sawndo
-toggle_sidebar_label=Toggilo Palal Sawndo
-document_outline.title=Hollu Ƴiyal Fiilannde (dobdobo ngam wertude/taggude teme fof)
-document_outline_label=Toɓɓe Fiilannde
-attachments.title=Hollu ÆŠisanÉ—e
-attachments_label=ÆŠisanÉ—e
-thumbs.title=Hollu Dooɓe
-thumbs_label=Dooɓe
-findbar.title=Yiylo e fiilannde
-findbar_label=Yiytu
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Hello {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Dooɓre Hello {{page}}
-
-# Find panel button title and messages
-find_input.title=Yiytu
-find_input.placeholder=Yiylo nder dokimaa
-find_previous.title=Yiylo cilol ɓennugol konngol ngol
-find_previous_label=ÆennuÉ—o
-find_next.title=Yiylo cilol garowol konngol ngol
-find_next_label=Yeeso
-find_highlight=Jalbin fof
-find_match_case_label=Jaaɓnu darnde
-find_entire_word_label=Kelme timmuÉ—e tan
-find_reached_top=Heɓii fuɗɗorde fiilannde, jokku faya les
-find_reached_bottom=Heɓii hoore fiilannde, jokku faya les
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} wonande laabi {{total}}
-find_match_count[two]={{current}} wonande laabi {{total}}
-find_match_count[few]={{current}} wonande laabi {{total}}
-find_match_count[many]={{current}} wonande laabi {{total}}
-find_match_count[other]={{current}} wonande laabi {{total}}
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Ko ɓuri laabi {{limit}}
-find_match_count_limit[one]=Ko ɓuri laani {{limit}}
-find_match_count_limit[two]=Ko ɓuri laabi {{limit}}
-find_match_count_limit[few]=Ko ɓuri laabi {{limit}}
-find_match_count_limit[many]=Ko ɓuri laabi {{limit}}
-find_match_count_limit[other]=Ko ɓuri laabi {{limit}}
-find_not_found=Konngi njiyataa
-
-# Error panel labels
-error_more_info=Æeydu Humpito
-error_less_info=Ustu Humpito
-error_close=Uddu
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Æatakuure: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fiilde: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Gorol: {{line}}
-rendering_error=Juumre waɗii tuma nde yoŋkittoo hello.
-
-# Predefined zoom values
-page_scale_width=Njaajeendi Hello
-page_scale_fit=KeÆ´eendi Hello
-page_scale_auto=Loongorde Jaajol
-page_scale_actual=Æetol Jaati
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=Juumre waÉ—ii tuma nde loowata PDF oo.
-invalid_file_error=Fiilde PDF moÆ´Æ´aani walla jiibii.
-missing_file_error=Fiilde PDF ena ŋakki.
-unexpected_response_error=Jaabtol sarworde tijjinooka.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Siiftannde]
-password_label=Naatu finnde ngam uddite ndee fiilde PDF.
-password_invalid=Finnde moÆ´Æ´aani. TiiÉ—no eto kadi.
-password_ok=OK
-password_cancel=Haaytu
-
-printing_not_supported=Reentino: Winnditagol tammbitaaka no feewi e ndee wanngorde.
-printing_not_ready=Reentino: PDF oo loowaaki haa timmi ngam winnditagol.
-web_fonts_disabled=Ponte geese ko daaÆ´aaÉ—e: horiima huutoraade ponte PDF coomtoraaÉ—e.
diff --git a/static/js/pdf-js/web/locale/fi/viewer.properties b/static/js/pdf-js/web/locale/fi/viewer.properties
deleted file mode 100644
index 77123ed..0000000
--- a/static/js/pdf-js/web/locale/fi/viewer.properties
+++ /dev/null
@@ -1,267 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Edellinen sivu
-previous_label=Edellinen
-next.title=Seuraava sivu
-next_label=Seuraava
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Sivu
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=/ {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} / {{pagesCount}})
-
-zoom_out.title=Loitonna
-zoom_out_label=Loitonna
-zoom_in.title=Lähennä
-zoom_in_label=Lähennä
-zoom.title=Suurennus
-presentation_mode.title=Siirry esitystilaan
-presentation_mode_label=Esitystila
-open_file.title=Avaa tiedosto
-open_file_label=Avaa
-print.title=Tulosta
-print_label=Tulosta
-download.title=Lataa
-download_label=Lataa
-bookmark.title=Avoin ikkuna (kopioi tai avaa uuteen ikkunaan)
-bookmark_label=Avoin ikkuna
-
-# Secondary toolbar and context menu
-tools.title=Tools
-tools_label=Tools
-first_page.title=Siirry ensimmäiselle sivulle
-first_page_label=Siirry ensimmäiselle sivulle
-last_page.title=Siirry viimeiselle sivulle
-last_page_label=Siirry viimeiselle sivulle
-page_rotate_cw.title=Kierrä oikealle
-page_rotate_cw_label=Kierrä oikealle
-page_rotate_ccw.title=Kierrä vasemmalle
-page_rotate_ccw_label=Kierrä vasemmalle
-
-cursor_text_select_tool.title=Käytä tekstinvalintatyökalua
-cursor_text_select_tool_label=Tekstinvalintatyökalu
-cursor_hand_tool.title=Käytä käsityökalua
-cursor_hand_tool_label=Käsityökalu
-
-scroll_page.title=Käytä sivun vieritystä
-scroll_page_label=Sivun vieritys
-scroll_vertical.title=Käytä pystysuuntaista vieritystä
-scroll_vertical_label=Pystysuuntainen vieritys
-scroll_horizontal.title=Käytä vaakasuuntaista vieritystä
-scroll_horizontal_label=Vaakasuuntainen vieritys
-scroll_wrapped.title=Käytä rivittyvää vieritystä
-scroll_wrapped_label=Rivittyvä vieritys
-
-spread_none.title=Älä yhdistä sivuja aukeamiksi
-spread_none_label=Ei aukeamia
-spread_odd.title=Yhdistä sivut aukeamiksi alkaen parittomalta sivulta
-spread_odd_label=Parittomalta alkavat aukeamat
-spread_even.title=Yhdistä sivut aukeamiksi alkaen parilliselta sivulta
-spread_even_label=Parilliselta alkavat aukeamat
-
-# Document properties dialog box
-document_properties.title=Dokumentin ominaisuudet…
-document_properties_label=Dokumentin ominaisuudet…
-document_properties_file_name=Tiedostonimi:
-document_properties_file_size=Tiedoston koko:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} kt ({{size_b}} tavua)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} Mt ({{size_b}} tavua)
-document_properties_title=Otsikko:
-document_properties_author=Tekijä:
-document_properties_subject=Aihe:
-document_properties_keywords=Avainsanat:
-document_properties_creation_date=Luomispäivämäärä:
-document_properties_modification_date=Muokkauspäivämäärä:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Luoja:
-document_properties_producer=PDF-tuottaja:
-document_properties_version=PDF-versio:
-document_properties_page_count=Sivujen määrä:
-document_properties_page_size=Sivun koko:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=pysty
-document_properties_page_size_orientation_landscape=vaaka
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Nopea web-katselu:
-document_properties_linearized_yes=Kyllä
-document_properties_linearized_no=Ei
-document_properties_close=Sulje
-
-print_progress_message=Valmistellaan dokumenttia tulostamista varten…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}Â %
-print_progress_close=Peruuta
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Näytä/piilota sivupaneeli
-toggle_sidebar_notification2.title=Näytä/piilota sivupaneeli (dokumentissa on sisällys/liitteitä/tasoja)
-toggle_sidebar_label=Näytä/piilota sivupaneeli
-document_outline.title=Näytä dokumentin sisällys (laajenna tai kutista kohdat kaksoisnapsauttamalla)
-document_outline_label=Dokumentin sisällys
-attachments.title=Näytä liitteet
-attachments_label=Liitteet
-layers.title=Näytä tasot (kaksoisnapsauta palauttaaksesi kaikki tasot oletustilaan)
-layers_label=Tasot
-thumbs.title=Näytä pienoiskuvat
-thumbs_label=Pienoiskuvat
-current_outline_item.title=Etsi nykyinen sisällyksen kohta
-current_outline_item_label=Nykyinen sisällyksen kohta
-findbar.title=Etsi dokumentista
-findbar_label=Etsi
-
-additional_layers=Lisätasot
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Sivu {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Sivu {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Pienoiskuva sivusta {{page}}
-
-# Find panel button title and messages
-find_input.title=Etsi
-find_input.placeholder=Etsi dokumentista…
-find_previous.title=Etsi hakusanan edellinen osuma
-find_previous_label=Edellinen
-find_next.title=Etsi hakusanan seuraava osuma
-find_next_label=Seuraava
-find_highlight=Korosta kaikki
-find_match_case_label=Huomioi kirjainkoko
-find_match_diacritics_label=Erota tarkkeet
-find_entire_word_label=Kokonaiset sanat
-find_reached_top=Päästiin dokumentin alkuun, jatketaan lopusta
-find_reached_bottom=Päästiin dokumentin loppuun, jatketaan alusta
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} / {{total}} osuma
-find_match_count[two]={{current}} / {{total}} osumaa
-find_match_count[few]={{current}} / {{total}} osumaa
-find_match_count[many]={{current}} / {{total}} osumaa
-find_match_count[other]={{current}} / {{total}} osumaa
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Enemmän kuin {{limit}} osumaa
-find_match_count_limit[one]=Enemmän kuin {{limit}} osuma
-find_match_count_limit[two]=Enemmän kuin {{limit}} osumaa
-find_match_count_limit[few]=Enemmän kuin {{limit}} osumaa
-find_match_count_limit[many]=Enemmän kuin {{limit}} osumaa
-find_match_count_limit[other]=Enemmän kuin {{limit}} osumaa
-find_not_found=Hakusanaa ei löytynyt
-
-# Error panel labels
-error_more_info=Lisätietoja
-error_less_info=Lisätietoja
-error_close=Sulje
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (kooste: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Virheilmoitus: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pino: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Tiedosto: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Rivi: {{line}}
-rendering_error=Tapahtui virhe piirrettäessä sivua.
-
-# Predefined zoom values
-page_scale_width=Sivun leveys
-page_scale_fit=Koko sivu
-page_scale_auto=Automaattinen suurennus
-page_scale_actual=Todellinen koko
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}} %
-
-# Loading indicator messages
-loading=Ladataan…
-loading_error=Tapahtui virhe ladattaessa PDF-tiedostoa.
-invalid_file_error=Virheellinen tai vioittunut PDF-tiedosto.
-missing_file_error=Puuttuva PDF-tiedosto.
-unexpected_response_error=Odottamaton vastaus palvelimelta.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=Kirjoita PDF-tiedoston salasana.
-password_invalid=Virheellinen salasana. Yritä uudestaan.
-password_ok=OK
-password_cancel=Peruuta
-
-printing_not_supported=Varoitus: Selain ei tue kaikkia tulostustapoja.
-printing_not_ready=Varoitus: PDF-tiedosto ei ole vielä latautunut kokonaan, eikä sitä voi vielä tulostaa.
-web_fonts_disabled=Verkkosivujen omat kirjasinlajit on estetty: ei voida käyttää upotettuja PDF-kirjasinlajeja.
-
-# Editor
-editor_none_label=Poista muokkaus käytöstä
-
-
-free_text_default_content=Kirjoita tekstiä…
-
-# Editor Parameters
-
-# Editor Parameters
-editor_free_text_color=Väri
-editor_free_text_size=Koko
-editor_ink_color=Väri
-
-# Editor aria
-editor_ink_canvas_aria_label=Käyttäjän luoma kuva
diff --git a/static/js/pdf-js/web/locale/fr/viewer.properties b/static/js/pdf-js/web/locale/fr/viewer.properties
deleted file mode 100644
index 1d358c2..0000000
--- a/static/js/pdf-js/web/locale/fr/viewer.properties
+++ /dev/null
@@ -1,279 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Page précédente
-previous_label=Précédent
-next.title=Page suivante
-next_label=Suivant
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Page
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=sur {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} sur {{pagesCount}})
-
-zoom_out.title=Zoom arrière
-zoom_out_label=Zoom arrière
-zoom_in.title=Zoom avant
-zoom_in_label=Zoom avant
-zoom.title=Zoom
-presentation_mode.title=Basculer en mode présentation
-presentation_mode_label=Mode présentation
-open_file.title=Ouvrir le fichier
-open_file_label=Ouvrir le fichier
-print.title=Imprimer
-print_label=Imprimer
-download.title=Télécharger
-download_label=Télécharger
-bookmark.title=Affichage courant (copier ou ouvrir dans une nouvelle fenêtre)
-bookmark_label=Affichage actuel
-
-# Secondary toolbar and context menu
-tools.title=Outils
-tools_label=Outils
-first_page.title=Aller à la première page
-first_page_label=Aller à la première page
-last_page.title=Aller à la dernière page
-last_page_label=Aller à la dernière page
-page_rotate_cw.title=Rotation horaire
-page_rotate_cw_label=Rotation horaire
-page_rotate_ccw.title=Rotation antihoraire
-page_rotate_ccw_label=Rotation antihoraire
-
-cursor_text_select_tool.title=Activer l’outil de sélection de texte
-cursor_text_select_tool_label=Outil de sélection de texte
-cursor_hand_tool.title=Activer l’outil main
-cursor_hand_tool_label=Outil main
-
-scroll_page.title=Utiliser le défilement par page
-scroll_page_label=Défilement par page
-scroll_vertical.title=Utiliser le défilement vertical
-scroll_vertical_label=Défilement vertical
-scroll_horizontal.title=Utiliser le défilement horizontal
-scroll_horizontal_label=Défilement horizontal
-scroll_wrapped.title=Utiliser le défilement par bloc
-scroll_wrapped_label=Défilement par bloc
-
-spread_none.title=Ne pas afficher les pages deux à deux
-spread_none_label=Pas de double affichage
-spread_odd.title=Afficher les pages par deux, impaires à gauche
-spread_odd_label=Doubles pages, impaires à gauche
-spread_even.title=Afficher les pages par deux, paires à gauche
-spread_even_label=Doubles pages, paires à gauche
-
-# Document properties dialog box
-document_properties.title=Propriétés du document…
-document_properties_label=Propriétés du document…
-document_properties_file_name=Nom du fichier :
-document_properties_file_size=Taille du fichier :
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}}Â Ko ({{size_b}} octets)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}}Â Mo ({{size_b}} octets)
-document_properties_title=Titre :
-document_properties_author=Auteur :
-document_properties_subject=Sujet :
-document_properties_keywords=Mots-clés :
-document_properties_creation_date=Date de création :
-document_properties_modification_date=Modifié le :
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}} Ã {{time}}
-document_properties_creator=Créé par :
-document_properties_producer=Outil de conversion PDFÂ :
-document_properties_version=Version PDFÂ :
-document_properties_page_count=Nombre de pages :
-document_properties_page_size=Taille de la page :
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portrait
-document_properties_page_size_orientation_landscape=paysage
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=lettre
-document_properties_page_size_name_legal=document juridique
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Affichage rapide des pages web :
-document_properties_linearized_yes=Oui
-document_properties_linearized_no=Non
-document_properties_close=Fermer
-
-print_progress_message=Préparation du document pour l’impression…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}Â %
-print_progress_close=Annuler
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Afficher/Masquer le panneau latéral
-toggle_sidebar_notification2.title=Afficher/Masquer le panneau latéral (le document contient des signets/pièces jointes/calques)
-toggle_sidebar_label=Afficher/Masquer le panneau latéral
-document_outline.title=Afficher les signets du document (double-cliquer pour développer/réduire tous les éléments)
-document_outline_label=Signets du document
-attachments.title=Afficher les pièces jointes
-attachments_label=Pièces jointes
-layers.title=Afficher les calques (double-cliquer pour réinitialiser tous les calques à l’état par défaut)
-layers_label=Calques
-thumbs.title=Afficher les vignettes
-thumbs_label=Vignettes
-current_outline_item.title=Trouver l’élément de plan actuel
-current_outline_item_label=Élément de plan actuel
-findbar.title=Rechercher dans le document
-findbar_label=Rechercher
-
-additional_layers=Calques additionnels
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Page {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Page {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Vignette de la page {{page}}
-
-# Find panel button title and messages
-find_input.title=Rechercher
-find_input.placeholder=Rechercher dans le document…
-find_previous.title=Trouver l’occurrence précédente de l’expression
-find_previous_label=Précédent
-find_next.title=Trouver la prochaine occurrence de l’expression
-find_next_label=Suivant
-find_highlight=Tout surligner
-find_match_case_label=Respecter la casse
-find_match_diacritics_label=Respecter les accents et diacritiques
-find_entire_word_label=Mots entiers
-find_reached_top=Haut de la page atteint, poursuite depuis la fin
-find_reached_bottom=Bas de la page atteint, poursuite au début
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]=Occurrence {{current}} sur {{total}}
-find_match_count[two]=Occurrence {{current}} sur {{total}}
-find_match_count[few]=Occurrence {{current}} sur {{total}}
-find_match_count[many]=Occurrence {{current}} sur {{total}}
-find_match_count[other]=Occurrence {{current}} sur {{total}}
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Plus de {{limit}} correspondances
-find_match_count_limit[one]=Plus de {{limit}} correspondance
-find_match_count_limit[two]=Plus de {{limit}} correspondances
-find_match_count_limit[few]=Plus de {{limit}} correspondances
-find_match_count_limit[many]=Plus de {{limit}} correspondances
-find_match_count_limit[other]=Plus de {{limit}} correspondances
-find_not_found=Expression non trouvée
-
-# Error panel labels
-error_more_info=Plus d’informations
-error_less_info=Moins d’informations
-error_close=Fermer
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (identifiant de compilation : {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Message : {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pile : {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fichier : {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Ligne : {{line}}
-rendering_error=Une erreur s’est produite lors de l’affichage de la page.
-
-# Predefined zoom values
-page_scale_width=Pleine largeur
-page_scale_fit=Page entière
-page_scale_auto=Zoom automatique
-page_scale_actual=Taille réelle
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}Â %
-
-# Loading indicator messages
-loading=Chargement…
-loading_error=Une erreur s’est produite lors du chargement du fichier PDF.
-invalid_file_error=Fichier PDF invalide ou corrompu.
-missing_file_error=Fichier PDF manquant.
-unexpected_response_error=Réponse inattendue du serveur.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}} Ã {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Annotation {{type}}]
-password_label=Veuillez saisir le mot de passe pour ouvrir ce fichier PDF.
-password_invalid=Mot de passe incorrect. Veuillez réessayer.
-password_ok=OK
-password_cancel=Annuler
-
-printing_not_supported=Attention : l’impression n’est pas totalement prise en charge par ce navigateur.
-printing_not_ready=Attention : le PDF n’est pas entièrement chargé pour pouvoir l’imprimer.
-web_fonts_disabled=Les polices web sont désactivées : impossible d’utiliser les polices intégrées au PDF.
-
-# Editor
-editor_none.title=Désactiver l’édition d’annotations
-editor_none_label=Désactiver l’édition
-editor_free_text.title=Ajouter du texte
-editor_free_text_label=Texte
-editor_ink.title=Dessiner
-editor_ink_label=Dessin
-
-free_text_default_content=Saisissez du texte…
-
-# Editor Parameters
-editor_free_text_font_color=Couleur de police
-editor_free_text_font_size=Taille de police
-editor_ink_line_color=Couleur de la ligne
-editor_ink_line_thickness=Épaisseur de la ligne
-
-# Editor Parameters
-editor_free_text_color=Couleur
-editor_free_text_size=Taille
-editor_ink_color=Couleur
-editor_ink_thickness=Épaisseur
-editor_ink_opacity=Opacité
-
-# Editor aria
-editor_free_text_aria_label=Éditeur de texte
-editor_ink_aria_label=Dessin
-editor_ink_canvas_aria_label=Image créée par l’utilisateur·trice
diff --git a/static/js/pdf-js/web/locale/fy-NL/viewer.properties b/static/js/pdf-js/web/locale/fy-NL/viewer.properties
deleted file mode 100644
index d6ecbb6..0000000
--- a/static/js/pdf-js/web/locale/fy-NL/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Foarige side
-previous_label=Foarige
-next.title=Folgjende side
-next_label=Folgjende
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Side
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=fan {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} fan {{pagesCount}})
-
-zoom_out.title=Utzoome
-zoom_out_label=Utzoome
-zoom_in.title=Ynzoome
-zoom_in_label=Ynzoome
-zoom.title=Zoome
-presentation_mode.title=Wikselje nei presintaasjemodus
-presentation_mode_label=Presintaasjemodus
-open_file.title=Bestân iepenje
-open_file_label=Iepenje
-print.title=Ofdrukke
-print_label=Ofdrukke
-download.title=Downloade
-download_label=Downloade
-bookmark.title=Aktuele finster (kopiearje of iepenje yn nij finster)
-bookmark_label=Aktuele finster
-
-# Secondary toolbar and context menu
-tools.title=Ark
-tools_label=Ark
-first_page.title=Gean nei earste side
-first_page_label=Gean nei earste side
-last_page.title=Gean nei lêste side
-last_page_label=Gean nei lêste side
-page_rotate_cw.title=Rjochtsom draaie
-page_rotate_cw_label=Rjochtsom draaie
-page_rotate_ccw.title=Loftsom draaie
-page_rotate_ccw_label=Loftsom draaie
-
-cursor_text_select_tool.title=Tekstseleksjehelpmiddel ynskeakelje
-cursor_text_select_tool_label=Tekstseleksjehelpmiddel
-cursor_hand_tool.title=Hânhelpmiddel ynskeakelje
-cursor_hand_tool_label=Hânhelpmiddel
-
-scroll_page.title=Sideskowen brûke
-scroll_page_label=Sideskowen
-scroll_vertical.title=Fertikaal skowe brûke
-scroll_vertical_label=Fertikaal skowe
-scroll_horizontal.title=Horizontaal skowe brûke
-scroll_horizontal_label=Horizontaal skowe
-scroll_wrapped.title=Skowe mei oersjoch brûke
-scroll_wrapped_label=Skowe mei oersjoch
-
-spread_none.title=Sidesprieding net gearfetsje
-spread_none_label=Gjin sprieding
-spread_odd.title=Sidesprieding gearfetsje te starten mei ûneven nûmers
-spread_odd_label=Uneven sprieding
-spread_even.title=Sidesprieding gearfetsje te starten mei even nûmers
-spread_even_label=Even sprieding
-
-# Document properties dialog box
-document_properties.title=Dokuminteigenskippen…
-document_properties_label=Dokuminteigenskippen…
-document_properties_file_name=Bestânsnamme:
-document_properties_file_size=Bestânsgrutte:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Titel:
-document_properties_author=Auteur:
-document_properties_subject=Underwerp:
-document_properties_keywords=Kaaiwurden:
-document_properties_creation_date=Oanmaakdatum:
-document_properties_modification_date=Bewurkingsdatum:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Makker:
-document_properties_producer=PDF-makker:
-document_properties_version=PDF-ferzje:
-document_properties_page_count=Siden:
-document_properties_page_size=Sideformaat:
-document_properties_page_size_unit_inches=yn
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=steand
-document_properties_page_size_orientation_landscape=lizzend
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Juridysk
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Flugge webwerjefte:
-document_properties_linearized_yes=Ja
-document_properties_linearized_no=Nee
-document_properties_close=Slute
-
-print_progress_message=Dokumint tariede oar ôfdrukken…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Annulearje
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Sidebalke yn-/útskeakelje
-toggle_sidebar_notification2.title=Sidebalke yn-/útskeakelje (dokumint befettet oersjoch/bylagen/lagen)
-toggle_sidebar_label=Sidebalke yn-/útskeakelje
-document_outline.title=Dokumintoersjoch toane (dûbelklik om alle items út/yn te klappen)
-document_outline_label=Dokumintoersjoch
-attachments.title=Bylagen toane
-attachments_label=Bylagen
-layers.title=Lagen toane (dûbelklik om alle lagen nei de standertsteat werom te setten)
-layers_label=Lagen
-thumbs.title=Foarbylden toane
-thumbs_label=Foarbylden
-current_outline_item.title=Aktueel item yn ynhâldsopjefte sykje
-current_outline_item_label=Aktueel item yn ynhâldsopjefte
-findbar.title=Sykje yn dokumint
-findbar_label=Sykje
-
-additional_layers=Oanfoljende lagen
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Side {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Side {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Foarbyld fan side {{page}}
-
-# Find panel button title and messages
-find_input.title=Sykje
-find_input.placeholder=Sykje yn dokumint…
-find_previous.title=It foarige foarkommen fan de tekst sykje
-find_previous_label=Foarige
-find_next.title=It folgjende foarkommen fan de tekst sykje
-find_next_label=Folgjende
-find_highlight=Alles markearje
-find_match_case_label=Haadlettergefoelich
-find_match_diacritics_label=Diakrityske tekens brûke
-find_entire_word_label=Hiele wurden
-find_reached_top=Boppekant fan dokumint berikt, trochgien fan ûnder ôf
-find_reached_bottom=Ein fan dokumint berikt, trochgien fan boppe ôf
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} fan {{total}} oerienkomst
-find_match_count[two]={{current}} fan {{total}} oerienkomsten
-find_match_count[few]={{current}} fan {{total}} oerienkomsten
-find_match_count[many]={{current}} fan {{total}} oerienkomsten
-find_match_count[other]={{current}} fan {{total}} oerienkomsten
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Mear as {{limit}} oerienkomsten
-find_match_count_limit[one]=Mear as {{limit}} oerienkomst
-find_match_count_limit[two]=Mear as {{limit}} oerienkomsten
-find_match_count_limit[few]=Mear as {{limit}} oerienkomsten
-find_match_count_limit[many]=Mear as {{limit}} oerienkomsten
-find_match_count_limit[other]=Mear as {{limit}} oerienkomsten
-find_not_found=Tekst net fûn
-
-# Error panel labels
-error_more_info=Mear ynformaasje
-error_less_info=Minder ynformaasje
-error_close=Slute
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js f{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Berjocht: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Bestân: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Rigel: {{line}}
-rendering_error=Der is in flater bard by it renderjen fan de side.
-
-# Predefined zoom values
-page_scale_width=Sidebreedte
-page_scale_fit=Hiele side
-page_scale_auto=Automatysk zoome
-page_scale_actual=Werklike grutte
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Lade…
-loading_error=Der is in flater bard by it laden fan de PDF.
-invalid_file_error=Ynfalide of korruptearre PDF-bestân.
-missing_file_error=PDF-bestân ûntbrekt.
-unexpected_response_error=Unferwacht serverantwurd.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}}-annotaasje]
-password_label=Jou it wachtwurd om dit PDF-bestân te iepenjen.
-password_invalid=Ferkeard wachtwurd. Probearje opnij.
-password_ok=OK
-password_cancel=Annulearje
-
-printing_not_supported=Warning: Printen is net folslein stipe troch dizze browser.
-printing_not_ready=Warning: PDF is net folslein laden om ôf te drukken.
-web_fonts_disabled=Weblettertypen binne útskeakele: gebrûk fan ynsluten PDF-lettertypen is net mooglik.
-
-# Editor
-editor_none.title=Bewurkjen fan annotaasjes útskeakelje
-editor_none_label=Bewurkjen útskeakelje
-editor_free_text.title=FreeText-annotaasje tafoegje
-editor_free_text_label=FreeText-annotaasje
-editor_ink.title=Ink-annotaasje tafoegje
-editor_ink_label=Ink-annotaasje
-
-freetext_default_content=Fier wat tekst yn…
-
-free_text_default_content=Fier tekst yn…
-
-# Editor Parameters
-editor_free_text_font_color=Letterkleur
-editor_free_text_font_size=Lettergrutte
-editor_ink_line_color=Linekleur
-editor_ink_line_thickness=Linedikte
-
-# Editor Parameters
-editor_free_text_color=Kleur
-editor_free_text_size=Grutte
-editor_ink_color=Kleur
-editor_ink_thickness=Tsjokte
-editor_ink_opacity=Transparânsje
-
-# Editor aria
-editor_free_text_aria_label=FreeText-bewurker
-editor_ink_aria_label=Ink-bewurker
-editor_ink_canvas_aria_label=Troch brûker makke ôfbylding
diff --git a/static/js/pdf-js/web/locale/ga-IE/viewer.properties b/static/js/pdf-js/web/locale/ga-IE/viewer.properties
deleted file mode 100644
index e82e55b..0000000
--- a/static/js/pdf-js/web/locale/ga-IE/viewer.properties
+++ /dev/null
@@ -1,201 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=An Leathanach Roimhe Seo
-previous_label=Roimhe Seo
-next.title=An Chéad Leathanach Eile
-next_label=Ar Aghaidh
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Leathanach
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=as {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} as {{pagesCount}})
-
-zoom_out.title=Súmáil Amach
-zoom_out_label=Súmáil Amach
-zoom_in.title=Súmáil Isteach
-zoom_in_label=Súmáil Isteach
-zoom.title=Súmáil
-presentation_mode.title=Úsáid an Mód Láithreoireachta
-presentation_mode_label=Mód Láithreoireachta
-open_file.title=Oscail Comhad
-open_file_label=Oscail
-print.title=Priontáil
-print_label=Priontáil
-download.title=Ãoslódáil
-download_label=Ãoslódáil
-bookmark.title=An t-amharc reatha (cóipeáil nó oscail i bhfuinneog nua)
-bookmark_label=An tAmharc Reatha
-
-# Secondary toolbar and context menu
-tools.title=UirlisÃ
-tools_label=UirlisÃ
-first_page.title=Go dtà an chéad leathanach
-first_page_label=Go dtà an chéad leathanach
-last_page.title=Go dtà an leathanach deiridh
-last_page_label=Go dtà an leathanach deiridh
-page_rotate_cw.title=Rothlaigh ar deiseal
-page_rotate_cw_label=Rothlaigh ar deiseal
-page_rotate_ccw.title=Rothlaigh ar tuathal
-page_rotate_ccw_label=Rothlaigh ar tuathal
-
-cursor_text_select_tool.title=Cumasaigh an Uirlis Roghnaithe Téacs
-cursor_text_select_tool_label=Uirlis Roghnaithe Téacs
-cursor_hand_tool.title=Cumasaigh an Uirlis Láimhe
-cursor_hand_tool_label=Uirlis Láimhe
-
-
-
-# Document properties dialog box
-document_properties.title=AirÃonna na Cáipéise…
-document_properties_label=AirÃonna na Cáipéise…
-document_properties_file_name=Ainm an chomhaid:
-document_properties_file_size=Méid an chomhaid:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} kB ({{size_b}} beart)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} beart)
-document_properties_title=Teideal:
-document_properties_author=Údar:
-document_properties_subject=Ãbhar:
-document_properties_keywords=Eochairfhocail:
-document_properties_creation_date=Dáta Cruthaithe:
-document_properties_modification_date=Dáta Athraithe:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Cruthaitheoir:
-document_properties_producer=Cruthaitheoir an PDF:
-document_properties_version=Leagan PDF:
-document_properties_page_count=LÃon Leathanach:
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_close=Dún
-
-print_progress_message=Cáipéis á hullmhú le priontáil…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cealaigh
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Scoránaigh an Barra Taoibh
-toggle_sidebar_label=Scoránaigh an Barra Taoibh
-document_outline.title=Taispeáin ImlÃne na Cáipéise (déchliceáil chun chuile rud a leathnú nó a laghdú)
-document_outline_label=Creatlach na Cáipéise
-attachments.title=Taispeáin Iatáin
-attachments_label=Iatáin
-thumbs.title=Taispeáin Mionsamhlacha
-thumbs_label=Mionsamhlacha
-findbar.title=Aimsigh sa Cháipéis
-findbar_label=Aimsigh
-
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Leathanach {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Mionsamhail Leathanaigh {{page}}
-
-# Find panel button title and messages
-find_input.title=Aimsigh
-find_input.placeholder=Aimsigh sa cháipéis…
-find_previous.title=Aimsigh an sampla roimhe seo den nath seo
-find_previous_label=Roimhe seo
-find_next.title=Aimsigh an chéad sampla eile den nath sin
-find_next_label=Ar aghaidh
-find_highlight=Aibhsigh uile
-find_match_case_label=CásÃogair
-find_entire_word_label=Focail iomlána
-find_reached_top=Ag barr na cáipéise, ag leanúint ón mbun
-find_reached_bottom=Ag bun na cáipéise, ag leanúint ón mbarr
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_not_found=Frása gan aimsiú
-
-# Error panel labels
-error_more_info=Tuilleadh Eolais
-error_less_info=NÃos Lú Eolais
-error_close=Dún
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Teachtaireacht: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Cruach: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Comhad: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=LÃne: {{line}}
-rendering_error=Tharla earráid agus an leathanach á leagan amach.
-
-# Predefined zoom values
-page_scale_width=Leithead Leathanaigh
-page_scale_fit=Laghdaigh go dtà an Leathanach
-page_scale_auto=Súmáil UathoibrÃoch
-page_scale_actual=FÃormhéid
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error=Tharla earráid agus an cháipéis PDF á lódáil.
-invalid_file_error=Comhad neamhbhailà nó truaillithe PDF.
-missing_file_error=Comhad PDF ar iarraidh.
-unexpected_response_error=Freagra ón bhfreastalaà nach rabhthas ag súil leis.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anótáil {{type}}]
-password_label=Cuir an focal faire isteach chun an comhad PDF seo a oscailt.
-password_invalid=Focal faire mÃcheart. Déan iarracht eile.
-password_ok=OK
-password_cancel=Cealaigh
-
-printing_not_supported=Rabhadh: Nà thacaÃonn an brabhsálaà le priontáil go hiomlán.
-printing_not_ready=Rabhadh: Nà féidir an PDF a phriontáil go dtà go mbeidh an cháipéis iomlán lódáilte.
-web_fonts_disabled=Tá clófhoirne Gréasáin dÃchumasaithe: nà féidir clófhoirne leabaithe PDF a úsáid.
diff --git a/static/js/pdf-js/web/locale/gd/viewer.properties b/static/js/pdf-js/web/locale/gd/viewer.properties
deleted file mode 100644
index 4f056b1..0000000
--- a/static/js/pdf-js/web/locale/gd/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=An duilleag roimhe
-previous_label=Air ais
-next.title=An ath-dhuilleag
-next_label=Air adhart
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Duilleag
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=Ã {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} Ã {{pagesCount}})
-
-zoom_out.title=Sùm a-mach
-zoom_out_label=Sùm a-mach
-zoom_in.title=Sùm a-steach
-zoom_in_label=Sùm a-steach
-zoom.title=Sùm
-presentation_mode.title=Gearr leum dhan mhodh taisbeanaidh
-presentation_mode_label=Am modh taisbeanaidh
-open_file.title=Fosgail faidhle
-open_file_label=Fosgail
-print.title=Clò-bhuail
-print_label=Clò-bhuail
-download.title=Luchdaich a-nuas
-download_label=Luchdaich a-nuas
-bookmark.title=An sealladh là ithreach (dèan lethbhreac no fosgail e ann an uinneag ùr)
-bookmark_label=An sealladh là ithreach
-
-# Secondary toolbar and context menu
-tools.title=Innealan
-tools_label=Innealan
-first_page.title=Rach gun chiad duilleag
-first_page_label=Rach gun chiad duilleag
-last_page.title=Rach gun duilleag mu dheireadh
-last_page_label=Rach gun duilleag mu dheireadh
-page_rotate_cw.title=Cuairtich gu deiseil
-page_rotate_cw_label=Cuairtich gu deiseil
-page_rotate_ccw.title=Cuairtich gu tuathail
-page_rotate_ccw_label=Cuairtich gu tuathail
-
-cursor_text_select_tool.title=Cuir an comas inneal taghadh an teacsa
-cursor_text_select_tool_label=Inneal taghadh an teacsa
-cursor_hand_tool.title=Cuir inneal na là imhe an comas
-cursor_hand_tool_label=Inneal na là imhe
-
-scroll_vertical.title=Cleachd sgroladh inghearach
-scroll_vertical_label=Sgroladh inghearach
-scroll_horizontal.title=Cleachd sgroladh còmhnard
-scroll_horizontal_label=Sgroladh còmhnard
-scroll_wrapped.title=Cleachd sgroladh paisgte
-scroll_wrapped_label=Sgroladh paisgte
-
-spread_none.title=Na cuir còmhla sgoileadh dhuilleagan
-spread_none_label=Gun sgaoileadh dhuilleagan
-spread_odd.title=Cuir còmhla duilleagan sgaoilte a thòisicheas le duilleagan aig a bheil à ireamh chorr
-spread_odd_label=Sgaoileadh dhuilleagan corra
-spread_even.title=Cuir còmhla duilleagan sgaoilte a thòisicheas le duilleagan aig a bheil à ireamh chothrom
-spread_even_label=Sgaoileadh dhuilleagan cothrom
-
-# Document properties dialog box
-document_properties.title=Roghainnean na sgrìobhainne…
-document_properties_label=Roghainnean na sgrìobhainne…
-document_properties_file_name=Ainm an fhaidhle:
-document_properties_file_size=Meud an fhaidhle:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Tiotal:
-document_properties_author=Ùghdar:
-document_properties_subject=Cuspair:
-document_properties_keywords=Faclan-luirg:
-document_properties_creation_date=Latha a chruthachaidh:
-document_properties_modification_date=Latha atharrachaidh:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Cruthadair:
-document_properties_producer=Saothraiche a' PDF:
-document_properties_version=Tionndadh a' PDF:
-document_properties_page_count=Àireamh de dhuilleagan:
-document_properties_page_size=Meud na duilleige:
-document_properties_page_size_unit_inches=ann an
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portraid
-document_properties_page_size_orientation_landscape=dreach-tìre
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Litir
-document_properties_page_size_name_legal=Laghail
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Grad shealladh-lìn:
-document_properties_linearized_yes=Tha
-document_properties_linearized_no=Chan eil
-document_properties_close=Dùin
-
-print_progress_message=Ag ullachadh na sgrìobhainn airson clò-bhualadh…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Sguir dheth
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Toglaich am bà r-taoibh
-toggle_sidebar_notification2.title=Toglaich am bà r-taoibh (tha oir-loidhne/ceanglachain/breathan aig an sgrìobhainn)
-toggle_sidebar_label=Toglaich am bà r-taoibh
-document_outline.title=Seall oir-loidhne na sgrìobhainn (dèan briogadh dùbailte airson a h-uile nì a leudachadh/a cho-theannadh)
-document_outline_label=Oir-loidhne na sgrìobhainne
-attachments.title=Seall na ceanglachain
-attachments_label=Ceanglachain
-layers.title=Seall na breathan (dèan briogadh dùbailte airson a h-uile breath ath-shuidheachadh dhan staid bhunaiteach)
-layers_label=Breathan
-thumbs.title=Seall na dealbhagan
-thumbs_label=Dealbhagan
-current_outline_item.title=Lorg nì là ithreach na h-oir-loidhne
-current_outline_item_label=Nì là ithreach na h-oir-loidhne
-findbar.title=Lorg san sgrìobhainn
-findbar_label=Lorg
-
-additional_layers=Barrachd breathan
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Duilleag {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Duilleag a {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Dealbhag duilleag a {{page}}
-
-# Find panel button title and messages
-find_input.title=Lorg
-find_input.placeholder=Lorg san sgrìobhainn...
-find_previous.title=Lorg là thair roimhe na h-abairt seo
-find_previous_label=Air ais
-find_next.title=Lorg ath-là thair na h-abairt seo
-find_next_label=Air adhart
-find_highlight=Soillsich a h-uile
-find_match_case_label=Aire do litrichean mòra is beaga
-find_entire_word_label=Faclan-slà na
-find_reached_top=RÃ inig sinn barr na duilleige, a' leantainn air adhart o bhonn na duilleige
-find_reached_bottom=RÃ inig sinn bonn na duilleige, a' leantainn air adhart o bharr na duilleige
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} Ã {{total}} mhaids
-find_match_count[two]={{current}} Ã {{total}} mhaids
-find_match_count[few]={{current}} Ã {{total}} maidsichean
-find_match_count[many]={{current}} Ã {{total}} maids
-find_match_count[other]={{current}} Ã {{total}} maids
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Barrachd air {{limit}} maids
-find_match_count_limit[one]=Barrachd air {{limit}} mhaids
-find_match_count_limit[two]=Barrachd air {{limit}} mhaids
-find_match_count_limit[few]=Barrachd air {{limit}} maidsichean
-find_match_count_limit[many]=Barrachd air {{limit}} maids
-find_match_count_limit[other]=Barrachd air {{limit}} maids
-find_not_found=Cha deach an abairt a lorg
-
-# Error panel labels
-error_more_info=Barrachd fiosrachaidh
-error_less_info=Nas lugha de dh'fhiosrachadh
-error_close=Dùin
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Teachdaireachd: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stac: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Faidhle: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Loidhne: {{line}}
-rendering_error=Thachair mearachd rè reandaradh na duilleige.
-
-# Predefined zoom values
-page_scale_width=Leud na duilleige
-page_scale_fit=Freagair ri meud na duilleige
-page_scale_auto=Sùm fèin-obrachail
-page_scale_actual=Am fìor-mheud
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=’Ga luchdadh…
-loading_error=Thachair mearachd rè luchdadh a' PDF.
-invalid_file_error=Faidhle PDF a tha mì-dhligheach no coirbte.
-missing_file_error=Faidhle PDF a tha a dhìth.
-unexpected_response_error=Freagairt on fhrithealaiche ris nach robh dùil.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Nòtachadh {{type}}]
-password_label=Cuir a-steach am facal-faire gus am faidhle PDF seo fhosgladh.
-password_invalid=Tha am facal-faire cearr. Nach fheuch thu ris a-rithist?
-password_ok=Ceart ma-thÃ
-password_cancel=Sguir dheth
-
-printing_not_supported=Rabhadh: Chan eil am brabhsair seo a' cur là n-taic ri clò-bhualadh.
-printing_not_ready=Rabhadh: Cha deach am PDF a luchdadh gu tur airson clò-bhualadh.
-web_fonts_disabled=Tha cruthan-clò lìn à comas: Chan urrainn dhuinn cruthan-clò PDF leabaichte a chleachdadh.
diff --git a/static/js/pdf-js/web/locale/gl/viewer.properties b/static/js/pdf-js/web/locale/gl/viewer.properties
deleted file mode 100644
index d4ea817..0000000
--- a/static/js/pdf-js/web/locale/gl/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Páxina anterior
-previous_label=Anterior
-next.title=Seguinte páxina
-next_label=Seguinte
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Páxina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Reducir
-zoom_out_label=Reducir
-zoom_in.title=Ampliar
-zoom_in_label=Ampliar
-zoom.title=Zoom
-presentation_mode.title=Cambiar ao modo presentación
-presentation_mode_label=Modo presentación
-open_file.title=Abrir ficheiro
-open_file_label=Abrir
-print.title=Imprimir
-print_label=Imprimir
-download.title=Descargar
-download_label=Descargar
-bookmark.title=Vista actual (copiar ou abrir nunha nova xanela)
-bookmark_label=Vista actual
-
-# Secondary toolbar and context menu
-tools.title=Ferramentas
-tools_label=Ferramentas
-first_page.title=Ir á primeira páxina
-first_page_label=Ir á primeira páxina
-last_page.title=Ir á última páxina
-last_page_label=Ir á última páxina
-page_rotate_cw.title=Rotar no sentido das agullas do reloxo
-page_rotate_cw_label=Rotar no sentido das agullas do reloxo
-page_rotate_ccw.title=Rotar no sentido contrario ás agullas do reloxo
-page_rotate_ccw_label=Rotar no sentido contrario ás agullas do reloxo
-
-cursor_text_select_tool.title=Activar a ferramenta de selección de texto
-cursor_text_select_tool_label=Ferramenta de selección de texto
-cursor_hand_tool.title=Activar a ferramenta man
-cursor_hand_tool_label=Ferramenta man
-
-scroll_vertical.title=Usar o desprazamento vertical
-scroll_vertical_label=Desprazamento vertical
-scroll_horizontal.title=Usar o desprazamento horizontal
-scroll_horizontal_label=Desprazamento horizontal
-scroll_wrapped.title=Usar desprazamento en bloque
-scroll_wrapped_label=Desprazamento en bloque
-
-spread_none.title=Non agrupar páxinas
-spread_none_label=Ningún agrupamento
-spread_odd.title=Crea grupo de páxinas que comezan con números de páxina impares
-spread_odd_label=Agrupamento impar
-spread_even.title=Crea grupo de páxinas que comezan con números de páxina pares
-spread_even_label=Agrupamento par
-
-# Document properties dialog box
-document_properties.title=Propiedades do documento…
-document_properties_label=Propiedades do documento…
-document_properties_file_name=Nome do ficheiro:
-document_properties_file_size=Tamaño do ficheiro:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=TÃtulo:
-document_properties_author=Autor:
-document_properties_subject=Asunto:
-document_properties_keywords=Palabras clave:
-document_properties_creation_date=Data de creación:
-document_properties_modification_date=Data de modificación:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creado por:
-document_properties_producer=Xenerador do PDF:
-document_properties_version=Versión de PDF:
-document_properties_page_count=Número de páxinas:
-document_properties_page_size=Tamaño da páxina:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=Vertical
-document_properties_page_size_orientation_landscape=Horizontal
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Carta
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Visualización rápida das páxinas web:
-document_properties_linearized_yes=Si
-document_properties_linearized_no=Non
-document_properties_close=Pechar
-
-print_progress_message=Preparando documento para imprimir…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancelar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Amosar/agochar a barra lateral
-toggle_sidebar_notification2.title=Alternar barra lateral (o documento contén esquema/anexos/capas)
-toggle_sidebar_label=Amosar/agochar a barra lateral
-document_outline.title=Amosar o esquema do documento (prema dúas veces para expandir/contraer todos os elementos)
-document_outline_label=Esquema do documento
-attachments.title=Amosar anexos
-attachments_label=Anexos
-layers.title=Mostrar capas (prema dúas veces para restaurar todas as capas o estado predeterminado)
-layers_label=Capas
-thumbs.title=Amosar miniaturas
-thumbs_label=Miniaturas
-current_outline_item.title=Atopar o elemento delimitado actualmente
-current_outline_item_label=Elemento delimitado actualmente
-findbar.title=Atopar no documento
-findbar_label=Atopar
-
-additional_layers=Capas adicionais
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Páxina {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Páxina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura da páxina {{page}}
-
-# Find panel button title and messages
-find_input.title=Atopar
-find_input.placeholder=Atopar no documento…
-find_previous.title=Atopar a anterior aparición da frase
-find_previous_label=Anterior
-find_next.title=Atopar a seguinte aparición da frase
-find_next_label=Seguinte
-find_highlight=Realzar todo
-find_match_case_label=Diferenciar maiúsculas de minúsculas
-find_entire_word_label=Palabras completas
-find_reached_top=Chegouse ao inicio do documento, continuar desde o final
-find_reached_bottom=Chegouse ao final do documento, continuar desde o inicio
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} de {{total}} coincidencia
-find_match_count[two]={{current}} de {{total}} coincidencias
-find_match_count[few]={{current}} de {{total}} coincidencias
-find_match_count[many]={{current}} de {{total}} coincidencias
-find_match_count[other]={{current}} de {{total}} coincidencias
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Máis de {{limit}} coincidencias
-find_match_count_limit[one]=Máis de {{limit}} coincidencia
-find_match_count_limit[two]=Máis de {{limit}} coincidencias
-find_match_count_limit[few]=Máis de {{limit}} coincidencias
-find_match_count_limit[many]=Máis de {{limit}} coincidencias
-find_match_count_limit[other]=Máis de {{limit}} coincidencias
-find_not_found=Non se atopou a frase
-
-# Error panel labels
-error_more_info=Máis información
-error_less_info=Menos información
-error_close=Pechar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (Identificador da compilación: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mensaxe: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Ficheiro: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Liña: {{line}}
-rendering_error=Produciuse un erro ao representar a páxina.
-
-# Predefined zoom values
-page_scale_width=Largura da páxina
-page_scale_fit=Axuste de páxina
-page_scale_auto=Zoom automático
-page_scale_actual=Tamaño actual
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=A cargar…
-loading_error=Produciuse un erro ao cargar o PDF.
-invalid_file_error=Ficheiro PDF danado ou non válido.
-missing_file_error=Falta o ficheiro PDF.
-unexpected_response_error=Resposta inesperada do servidor.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotación {{type}}]
-password_label=Escriba o contrasinal para abrir este ficheiro PDF.
-password_invalid=Contrasinal incorrecto. Tente de novo.
-password_ok=Aceptar
-password_cancel=Cancelar
-
-printing_not_supported=Aviso: A impresión non é compatÃbel de todo con este navegador.
-printing_not_ready=Aviso: O PDF non se cargou completamente para imprimirse.
-web_fonts_disabled=Desactiváronse as fontes web: foi imposÃbel usar as fontes incrustadas no PDF.
diff --git a/static/js/pdf-js/web/locale/gn/viewer.properties b/static/js/pdf-js/web/locale/gn/viewer.properties
deleted file mode 100644
index 566e361..0000000
--- a/static/js/pdf-js/web/locale/gn/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Kuatiarogue mboyvegua
-previous_label=Mboyvegua
-next.title=Kuatiarogue upeigua
-next_label=Upeigua
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Kuatiarogue
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} gui
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} of {{pagesCount}})
-
-zoom_out.title=Momichĩ
-zoom_out_label=Momichĩ
-zoom_in.title=Mbotuicha
-zoom_in_label=Mbotuicha
-zoom.title=Tuichakue
-presentation_mode.title=Jehechauka reko moambue
-presentation_mode_label=Jehechauka reko
-open_file.title=Marandurendápe jeike
-open_file_label=Jeike
-print.title=Monguatia
-print_label=Monguatia
-download.title=Mboguejy
-download_label=Mboguejy
-bookmark.title=Ag̃agua jehecha (mbohasarã térã eike peteĩ ovetã pyahúpe)
-bookmark_label=Ag̃agua jehecha
-
-# Secondary toolbar and context menu
-tools.title=Tembipuru
-tools_label=Tembipuru
-first_page.title=Kuatiarogue ñepyrũme jeho
-first_page_label=Kuatiarogue ñepyrũme jeho
-last_page.title=Kuatiarogue pahápe jeho
-last_page_label=Kuatiarogue pahápe jeho
-page_rotate_cw.title=Aravóicha mbojere
-page_rotate_cw_label=Aravóicha mbojere
-page_rotate_ccw.title=Aravo rapykue gotyo mbojere
-page_rotate_ccw_label=Aravo rapykue gotyo mbojere
-
-cursor_text_select_tool.title=Emyandy moñe’ẽrã jeporavo rembipuru
-cursor_text_select_tool_label=Moñe’ẽrã jeporavo rembipuru
-cursor_hand_tool.title=Tembipuru po pegua myandy
-cursor_hand_tool_label=Tembipuru po pegua
-
-scroll_page.title=Eipuru kuatiarogue jeku’e
-scroll_page_label=Kuatiarogue jeku’e
-scroll_vertical.title=Eipuru jeku’e ykeguáva
-scroll_vertical_label=Jeku’e ykeguáva
-scroll_horizontal.title=Eipuru jeku’e yvate gotyo
-scroll_horizontal_label=Jeku’e yvate gotyo
-scroll_wrapped.title=Eipuru jeku’e mbohyrupyre
-scroll_wrapped_label=Jeku’e mbohyrupyre
-
-spread_none.title=Ani ejuaju spreads kuatiarogue ndive
-spread_none_label=Spreads ỹre
-spread_odd.title=Embojuaju kuatiarogue jepysokue eñepyrũvo kuatiarogue impar-vagui
-spread_odd_label=Spreads impar
-spread_even.title=Embojuaju kuatiarogue jepysokue eñepyrũvo kuatiarogue par-vagui
-spread_even_label=Ipukuve uvei
-
-# Document properties dialog box
-document_properties.title=Kuatia mba’etee…
-document_properties_label=Kuatia mba’etee…
-document_properties_file_name=Marandurenda réra:
-document_properties_file_size=Marandurenda tuichakue:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Teratee:
-document_properties_author=Apohára:
-document_properties_subject=Mba’egua:
-document_properties_keywords=Jehero:
-document_properties_creation_date=Teñoihague arange:
-document_properties_modification_date=Iñambue hague arange:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Apo’ypyha:
-document_properties_producer=PDF mbosako’iha:
-document_properties_version=PDF mbojuehegua:
-document_properties_page_count=Kuatiarogue papapy:
-document_properties_page_size=Kuatiarogue tuichakue:
-document_properties_page_size_unit_inches=Amo
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=Oĩháicha
-document_properties_page_size_orientation_landscape=apaisado
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Kuatiañe’ẽ
-document_properties_page_size_name_legal=Tee
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Ñanduti jahecha pya’e:
-document_properties_linearized_yes=Añete
-document_properties_linearized_no=Ahániri
-document_properties_close=Mboty
-
-print_progress_message=Embosako’i kuatia emonguatia hag̃ua…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Heja
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Tenda yke moambue
-toggle_sidebar_notification2.title=Embojopyru tenda ykegua (kuatia oguereko kuaakaha/moirũha/ñuãha)
-toggle_sidebar_label=Tenda yke moambue
-document_outline.title=Ehechauka kuatia rape (eikutu mokõi jey embotuicha/emomichĩ hag̃ua opavavete mba’epuru)
-document_outline_label=Kuatia apopyre
-attachments.title=Moirũha jehechauka
-attachments_label=Moirũha
-layers.title=Ehechauka ñuãha (eikutu jo’a emomba’apo hag̃ua opaite ñuãha tekoypýpe)
-layers_label=Ñuãha
-thumbs.title=Mba’emirĩ jehechauka
-thumbs_label=Mba’emirĩ
-current_outline_item.title=Eheka mba’epuru ag̃aguaitéva
-current_outline_item_label=Mba’epuru ag̃aguaitéva
-findbar.title=Kuatiápe jeheka
-findbar_label=Juhu
-
-additional_layers=Ñuãha moirũguáva
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Kuatiarogue {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Kuatiarogue {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Kuatiarogue mba’emirĩ {{page}}
-
-# Find panel button title and messages
-find_input.title=Juhu
-find_input.placeholder=Kuatiápe jejuhu…
-find_previous.title=Ejuhu ñe’ẽrysýi osẽ’ypy hague
-find_previous_label=Mboyvegua
-find_next.title=Eho ñe’ẽ juhupyre upeiguávape
-find_next_label=Upeigua
-find_highlight=Embojekuaavepa
-find_match_case_label=Ejesareko taiguasu/taimichĩre
-find_match_diacritics_label=DiacrÃtico moñondive
-find_entire_word_label=Ñe’ẽ oĩmbáva
-find_reached_top=Ojehupyty kuatia ñepyrũ, oku’ejeýta kuatia paha guive
-find_reached_bottom=Ojehupyty kuatia paha, oku’ejeýta kuatia ñepyrũ guive
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} {{total}} ojojoguáva
-find_match_count[two]={{current}} {{total}} ojojoguáva
-find_match_count[few]={{current}} {{total}} ojojoguáva
-find_match_count[many]={{current}} {{total}} ojojoguáva
-find_match_count[other]={{current}} {{total}} ojojoguáva
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Hetave {{limit}} ojojoguáva
-find_match_count_limit[one]=Hetave {{limit}} ojojogua
-find_match_count_limit[two]=Hetave {{limit}} ojojoguáva
-find_match_count_limit[few]=Hetave {{limit}} ojojoguáva
-find_match_count_limit[many]=Hetave {{limit}} ojojoguáva
-find_match_count_limit[other]=Hetave {{limit}} ojojoguáva
-find_not_found=Ñe’ẽrysýi ojejuhu’ỹva
-
-# Error panel labels
-error_more_info=Maranduve
-error_less_info=Sa’ive marandu
-error_close=Mboty
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Ñe’ẽmondo: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Mbojo’apy: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Marandurenda: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Tairenda: {{line}}
-rendering_error=Oiko jejavy ehechaukasévo kuatiarogue.
-
-# Predefined zoom values
-page_scale_width=Kuatiarogue pekue
-page_scale_fit=Kuatiarogue ñemoĩporã
-page_scale_auto=Tuichakue ijeheguÃva
-page_scale_actual=Tuichakue ag̃agua
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=HenyhẽhÃna…
-loading_error=Oiko jejavy PDF oñemyeñyhẽnguévo.
-invalid_file_error=PDF marandurenda ndoikóiva térã ivaipyréva.
-missing_file_error=Ndaipóri PDF marandurenda
-unexpected_response_error=Mohendahavusu mbohovái ñeha’arõ’ỹva.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Jehaipy {{type}}]
-password_label=Emoinge ñe’ẽñemi eipe’a hag̃ua ko marandurenda PDF.
-password_invalid=Ñe’ẽñemi ndoikóiva. Eha’ã jey.
-password_ok=MONEĨ
-password_cancel=Heja
-
-printing_not_supported=Kyhyjerã: Ñembokuatia ndojokupytypái ko kundahára ndive.
-printing_not_ready=Kyhyjerã: Ko PDF nahenyhẽmbái oñembokuatia hag̃uáicha.
-web_fonts_disabled=Ñanduti taity oñemongéma: ndaikatumo’ãi eipuru PDF jehai’Ãva taity.
-
-# Editor
-editor_none.title=Eipe’a jehaiha ñembosako’i
-editor_none_label=Eipe’a ñembosako’i
-editor_free_text.title=Embojuaju FreeText jehaiha
-editor_free_text_label=FreeTextjehaiha
-editor_ink.title=Embojuaju mbokuatiarã jehaiha
-editor_ink_label=Mbokuatiarã jehaiha
-
-freetext_default_content=Emoinge moñe’ẽrã…
-
-free_text_default_content=Emoinge moñe’ẽrã…
-
-# Editor Parameters
-editor_free_text_font_color=Teñoiha Sa’y
-editor_free_text_font_size=Tai tuichakue
-editor_ink_line_color=Tairenda sa’y
-editor_ink_line_thickness=Tairenda poguasukue
-
-# Editor Parameters
-editor_free_text_color=Sa’y
-editor_free_text_size=Tuichakue
-editor_ink_color=Sa’y
-editor_ink_thickness=Anambusu
-editor_ink_opacity=Pytũngy
-
-# Editor aria
-editor_free_text_aria_label=FreeText Moheñoiha
-editor_ink_aria_label=Jehaiha moheñoiha
-editor_ink_canvas_aria_label=Ta’ãnga omoheñóiva puruhára
diff --git a/static/js/pdf-js/web/locale/gu-IN/viewer.properties b/static/js/pdf-js/web/locale/gu-IN/viewer.properties
deleted file mode 100644
index 174d464..0000000
--- a/static/js/pdf-js/web/locale/gu-IN/viewer.properties
+++ /dev/null
@@ -1,234 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=પહેલાનૠપાનà«àª‚
-previous_label=પહેલાનà«
-next.title=આગળનૠપાનà«àª‚
-next_label=આગળનà«àª‚
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=પાનà«àª‚
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=નો {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} નો {{pagesCount}})
-
-zoom_out.title=મોટૠકરો
-zoom_out_label=મોટૠકરો
-zoom_in.title=નાનà«àª‚ કરો
-zoom_in_label=નાનà«àª‚ કરો
-zoom.title=નાનà«àª‚ મોટૠકરો
-presentation_mode.title=રજૂઆત સà«àª¥àª¿àª¤àª¿àª®àª¾àª‚ જાવ
-presentation_mode_label=રજૂઆત સà«àª¥àª¿àª¤àª¿
-open_file.title=ફાઇલ ખોલો
-open_file_label=ખોલો
-print.title=છાપો
-print_label=છારો
-download.title=ડાઉનલોડ
-download_label=ડાઉનલોડ
-bookmark.title=વરà«àª¤àª®àª¾àª¨ દૃશà«àª¯ (નવી વિનà«àª¡à«‹àª®àª¾àª‚ નકલ કરો અથવા ખોલો)
-bookmark_label=વરà«àª¤àª®àª¾àª¨ દૃશà«àª¯
-
-# Secondary toolbar and context menu
-tools.title=સાધનો
-tools_label=સાધનો
-first_page.title=પહેલાં પાનામાં જાવ
-first_page_label=પà«àª°àª¥àª® પાનાં પર જાવ
-last_page.title=છેલà«àª²àª¾ પાનાં પર જાવ
-last_page_label=છેલà«àª²àª¾ પાનાં પર જાવ
-page_rotate_cw.title=ઘડિયાળનાં કાંટા તરફ ફેરવો
-page_rotate_cw_label=ઘડિયાળનાં કાંટા તરફ ફેરવો
-page_rotate_ccw.title=ઘડિયાળનાં કાંટાની ઉલટી દિશામાં ફેરવો
-page_rotate_ccw_label=ઘડિયાળનાં કાંટાની વિરà«àª¦à«àª¦ ફેરવો
-
-cursor_text_select_tool.title=ટેકà«àª¸à«àªŸ પસંદગી ટૂલ સકà«àª·àª® કરો
-cursor_text_select_tool_label=ટેકà«àª¸à«àªŸ પસંદગી ટૂલ
-cursor_hand_tool.title=હાથનાં સાધનને સકà«àª°àª¿àª¯ કરો
-cursor_hand_tool_label=હેનà«àª¡ ટૂલ
-
-scroll_vertical.title=ઊàªà«€ સà«àª•à«àª°à«‹àª²àª¿àª‚ગનો ઉપયોગ કરો
-scroll_vertical_label=ઊàªà«€ સà«àª•à«àª°à«‹àª²àª¿àª‚ગ
-scroll_horizontal.title=આડી સà«àª•à«àª°à«‹àª²àª¿àª‚ગનો ઉપયોગ કરો
-scroll_horizontal_label=આડી સà«àª•à«àª°à«‹àª²àª¿àª‚ગ
-scroll_wrapped.title=આવરિત સà«àª•à«àª°à«‹àª²àª¿àª‚ગનો ઉપયોગ કરો
-scroll_wrapped_label=આવરિત સà«àª•à«àª°à«‹àª²àª¿àª‚ગ
-
-spread_none.title=પૃષà«àª સà«àªªà«àª°à«‡àª¡àª®àª¾àª‚ જોડાવશો નહીં
-spread_none_label=કોઈ સà«àªªà«àª°à«‡àª¡ નથી
-spread_odd.title=àªàª•à«€-કà«àª°àª®àª¾àª‚કિત પૃષà«àª à«‹ સાથે પà«àª°àª¾àª°àª‚ઠથતાં પૃષà«àª સà«àªªà«àª°à«‡àª¡àª®àª¾àª‚ જોડાઓ
-spread_odd_label=àªàª•à«€ સà«àªªà«àª°à«‡àª¡à«àª¸
-spread_even.title=નંબર-કà«àª°àª®àª¾àª‚કિત પૃષà«àª ોથી શરૂ થતાં પૃષà«àª સà«àªªà«àª°à«‡àª¡àª®àª¾àª‚ જોડાઓ
-spread_even_label=સરખà«àª‚ ફેલાવવà«àª‚
-
-# Document properties dialog box
-document_properties.title=દસà«àª¤àª¾àªµà«‡àªœ ગà«àª£àª§àª°à«àª®à«‹â€¦
-document_properties_label=દસà«àª¤àª¾àªµà«‡àªœ ગà«àª£àª§àª°à«àª®à«‹â€¦
-document_properties_file_name=ફાઇલ નામ:
-document_properties_file_size=ફાઇલ માપ:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} બાઇટ)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} બાઇટ)
-document_properties_title=શીરà«àª·àª•:
-document_properties_author=લેખક:
-document_properties_subject=વિષય:
-document_properties_keywords=કિવરà«àª¡:
-document_properties_creation_date=નિરà«àª®àª¾àª£ તારીખ:
-document_properties_modification_date=ફેરફાર તારીખ:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=નિરà«àª®àª¾àª¤àª¾:
-document_properties_producer=PDF નિરà«àª®àª¾àª¤àª¾:
-document_properties_version=PDF આવૃતà«àª¤àª¿:
-document_properties_page_count=પાનાં ગણતરી:
-document_properties_page_size=પૃષà«àª નà«àª‚ કદ:
-document_properties_page_size_unit_inches=ઇંચ
-document_properties_page_size_unit_millimeters=મીમી
-document_properties_page_size_orientation_portrait=ઉàªà«àª‚
-document_properties_page_size_orientation_landscape=આડà«
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=પતà«àª°
-document_properties_page_size_name_legal=કાયદાકીય
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=àªàª¡àªªà«€ વૅબ દૃશà«àª¯:
-document_properties_linearized_yes=હા
-document_properties_linearized_no=ના
-document_properties_close=બંધ કરો
-
-print_progress_message=છાપકામ માટે દસà«àª¤àª¾àªµà«‡àªœ તૈયાર કરી રહà«àª¯àª¾ છે…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=રદ કરો
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=ટૉગલ બાજà«àªªàªŸà«àªŸà«€
-toggle_sidebar_label=ટૉગલ બાજà«àªªàªŸà«àªŸà«€
-document_outline.title=દસà«àª¤àª¾àªµà«‡àªœàª¨à«€ રૂપરેખા બતાવો(બધી આઇટમà«àª¸àª¨à«‡ વિસà«àª¤à«ƒàª¤/સંકà«àªšàª¿àª¤ કરવા માટે ડબલ-કà«àª²àª¿àª• કરો)
-document_outline_label=દસà«àª¤àª¾àªµà«‡àªœ રૂપરેખા
-attachments.title=જોડાણોને બતાવો
-attachments_label=જોડાણો
-thumbs.title=થંબનેલà«àª¸ બતાવો
-thumbs_label=થંબનેલà«àª¸
-findbar.title=દસà«àª¤àª¾àªµà«‡àªœàª®àª¾àª‚ શોધો
-findbar_label=શોધો
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=પાનà«àª‚ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=પાનાં {{page}} નà«àª‚ થંબનેલà«àª¸
-
-# Find panel button title and messages
-find_input.title=શોધો
-find_input.placeholder=દસà«àª¤àª¾àªµà«‡àªœàª®àª¾àª‚ શોધો…
-find_previous.title=શબà«àª¦àª¸àª®à«‚હની પાછલી ઘટનાને શોધો
-find_previous_label=પહેલાંનà«
-find_next.title=શબà«àª¦àª¸àª®à«‚હની આગળની ઘટનાને શોધો
-find_next_label=આગળનà«àª‚
-find_highlight=બધૠપà«àª°àª•ાશિત કરો
-find_match_case_label=કેસ બંધબેસાડો
-find_entire_word_label=સંપૂરà«àª£ શબà«àª¦à«‹
-find_reached_top=દસà«àª¤àª¾àªµà«‡àªœàª¨àª¾àª‚ ટોચે પહોંચી ગયા, તળિયેથી ચાલૠકરેલ હતà«
-find_reached_bottom=દસà«àª¤àª¾àªµà«‡àªœàª¨àª¾àª‚ અંતે પહોંચી ગયા, ઉપરથી ચાલૠકરેલ હતà«
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{total}} માંથી {{current}} સરખà«àª‚ મળà«àª¯à«àª‚
-find_match_count[two]={{total}} માંથી {{current}} સરખા મળà«àª¯àª¾àª‚
-find_match_count[few]={{total}} માંથી {{current}} સરખા મળà«àª¯àª¾àª‚
-find_match_count[many]={{total}} માંથી {{current}} સરખા મળà«àª¯àª¾àª‚
-find_match_count[other]={{total}} માંથી {{current}} સરખા મળà«àª¯àª¾àª‚
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}} કરતાં વધૠસરખા મળà«àª¯àª¾àª‚
-find_match_count_limit[one]={{limit}} કરતાં વધૠસરખà«àª‚ મળà«àª¯à«àª‚
-find_match_count_limit[two]={{limit}} કરતાં વધૠસરખા મળà«àª¯àª¾àª‚
-find_match_count_limit[few]={{limit}} કરતાં વધૠસરખા મળà«àª¯àª¾àª‚
-find_match_count_limit[many]={{limit}} કરતાં વધૠસરખા મળà«àª¯àª¾àª‚
-find_match_count_limit[other]={{limit}} કરતાં વધૠસરખા મળà«àª¯àª¾àª‚
-find_not_found=શબà«àª¦àª¸àª®à«‚હ મળà«àª¯à« નથી
-
-# Error panel labels
-error_more_info=વધારે જાણકારી
-error_less_info=ઓછી જાણકારી
-error_close=બંધ કરો
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=સંદેશો: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=સà«àªŸà«‡àª•: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ફાઇલ: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=વાકà«àª¯: {{line}}
-rendering_error=àªà«‚લ ઉદà«àªàªµà«€ જà«àª¯àª¾àª°à«‡ પાનાંનૠરેનà«àª¡ કરી રહà«àª¯àª¾ હોય.
-
-# Predefined zoom values
-page_scale_width=પાનાની પહોળાઇ
-page_scale_fit=પાનà«àª‚ બંધબેસતà«
-page_scale_auto=આપમેળે નાનà«àª‚મોટૠકરો
-page_scale_actual=ચોકà«àª•સ માપ
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=àªà«‚લ ઉદà«àªàªµà«€ જà«àª¯àª¾àª°à«‡ PDF ને લાવી રહà«àª¯àª¾ હોય.
-invalid_file_error=અયોગà«àª¯ અથવા àªàª¾àª‚ગેલ PDF ફાઇલ.
-missing_file_error=ગà«àª® થયેલ PDF ફાઇલ.
-unexpected_response_error=અનપેકà«àª·àª¿àª¤ સરà«àªµàª° પà«àª°àª¤àª¿àª¸àª¾àª¦.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=આ PDF ફાઇલને ખોલવા પાસવરà«àª¡àª¨à«‡ દાખલ કરો.
-password_invalid=અયોગà«àª¯ પાસવરà«àª¡. મહેરબાની કરીને ફરી પà«àª°àª¯àª¤à«àª¨ કરો.
-password_ok=બરાબર
-password_cancel=રદ કરો
-
-printing_not_supported=ચેતવણી: છાપવાનà«àª‚ આ બà«àª°àª¾àª‰àªàª° દà«àª¦àª¾àª°àª¾ સંપૂરà«àª£àªªàª£à«‡ આધારàªà«‚ત નથી.
-printing_not_ready=Warning: PDF ઠછાપવા માટે સંપૂરà«àª£àªªàª£à«‡ લાવેલ છે.
-web_fonts_disabled=વેબ ફોનà«àªŸ નિષà«àª•à«àª°àª¿àª¯ થયેલ છે: àªàª®à«àª¬à«‡àª¡ થયેલ PDF ફોનà«àªŸàª¨à«‡ વાપરવાનà«àª‚ અસમરà«àª¥.
diff --git a/static/js/pdf-js/web/locale/he/viewer.properties b/static/js/pdf-js/web/locale/he/viewer.properties
deleted file mode 100644
index 65f35ed..0000000
--- a/static/js/pdf-js/web/locale/he/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=דף קוד×
-previous_label=קוד×
-next.title=דף הב×
-next_label=הב×
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=דף
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=מתוך {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} מתוך {{pagesCount}})
-
-zoom_out.title=התרחקות
-zoom_out_label=התרחקות
-zoom_in.title=התקרבות
-zoom_in_label=התקרבות
-zoom.title=מרחק מתצוגה
-presentation_mode.title=מעבר למצב מצגת
-presentation_mode_label=מצב מצגת
-open_file.title=פתיחת קובץ
-open_file_label=פתיחה
-print.title=הדפסה
-print_label=הדפסה
-download.title=הורדה
-download_label=הורדה
-bookmark.title=תצוגה × ×•×›×—×™×ª (העתקה ×ו פתיחה בחלון חדש)
-bookmark_label=תצוגה × ×•×›×—×™×ª
-
-# Secondary toolbar and context menu
-tools.title=כלי×
-tools_label=כלי×
-first_page.title=מעבר לעמוד הר×שון
-first_page_label=מעבר לעמוד הר×שון
-last_page.title=מעבר לעמוד ×”×חרון
-last_page_label=מעבר לעמוד ×”×חרון
-page_rotate_cw.title=הטיה ×¢× ×›×™×•×•×Ÿ השעון
-page_rotate_cw_label=הטיה ×¢× ×›×™×•×•×Ÿ השעון
-page_rotate_ccw.title=הטיה ×›× ×’×“ כיוון השעון
-page_rotate_ccw_label=הטיה ×›× ×’×“ כיוון השעון
-
-cursor_text_select_tool.title=הפעלת כלי בחירת טקסט
-cursor_text_select_tool_label=כלי בחירת טקסט
-cursor_hand_tool.title=הפעלת כלי היד
-cursor_hand_tool_label=כלי יד
-
-scroll_page.title=שימוש בגלילת עמוד
-scroll_page_label=גלילת עמוד
-scroll_vertical.title=שימוש בגלילה ×× ×›×™×ª
-scroll_vertical_label=גלילה ×× ×›×™×ª
-scroll_horizontal.title=שימוש בגלילה ×ופקית
-scroll_horizontal_label=גלילה ×ופקית
-scroll_wrapped.title=שימוש בגלילה רציפה
-scroll_wrapped_label=גלילה רציפה
-
-spread_none.title=×œ× ×œ×¦×¨×£ מפתחי עמודי×
-spread_none_label=×œ×œ× ×ž×¤×ª×—×™×
-spread_odd.title=צירוף מפתחי ×¢×ž×•×“×™× ×©×ž×ª×—×™×œ×™× ×‘×“×¤×™× ×¢× ×ž×¡×¤×¨×™× ×י־זוגיי×
-spread_odd_label=×ž×¤×ª×—×™× ×י־זוגיי×
-spread_even.title=צירוף מפתחי ×¢×ž×•×“×™× ×©×ž×ª×—×™×œ×™× ×‘×“×¤×™× ×¢× ×ž×¡×¤×¨×™× ×–×•×’×™×™×
-spread_even_label=×ž×¤×ª×—×™× ×–×•×’×™×™×
-
-# Document properties dialog box
-document_properties.title=מ××¤×™×™× ×™ מסמך…
-document_properties_label=מ××¤×™×™× ×™ מסמך…
-document_properties_file_name=×©× ×§×•×‘×¥:
-document_properties_file_size=גודל הקובץ:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} ק״ב ({{size_b}} בתי×)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} מ״ב ({{size_b}} בתי×)
-document_properties_title=כותרת:
-document_properties_author=מחבר:
-document_properties_subject=× ×•×©×:
-document_properties_keywords=מילות מפתח:
-document_properties_creation_date=ת×ריך יצירה:
-document_properties_modification_date=ת×ריך ×©×™× ×•×™:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=יוצר:
-document_properties_producer=יצרן PDF:
-document_properties_version=גרסת PDF:
-document_properties_page_count=מספר דפי×:
-document_properties_page_size=גודל העמוד:
-document_properties_page_size_unit_inches=××™× ×³
-document_properties_page_size_unit_millimeters=מ״מ
-document_properties_page_size_orientation_portrait=ל×ורך
-document_properties_page_size_orientation_landscape=לרוחב
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=מכתב
-document_properties_page_size_name_legal=דף משפטי
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=תצוגת דף מהירה:
-document_properties_linearized_yes=כן
-document_properties_linearized_no=ל×
-document_properties_close=סגירה
-
-print_progress_message=מסמך ×‘×”×›× ×” להדפסה…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=ביטול
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=הצגה/הסתרה של סרגל הצד
-toggle_sidebar_notification2.title=החלפת תצוגת סרגל צד (מסמך שמכיל תוכן ×¢× ×™×™× ×™×/×§×‘×¦×™× ×ž×¦×•×¨×¤×™×/שכבות)
-toggle_sidebar_label=הצגה/הסתרה של סרגל הצד
-document_outline.title=הצגת תוכן ×”×¢× ×™×™× ×™× ×©×œ המסמך (לחיצה כפולה כדי להרחיב ×ו ×œ×¦×ž×¦× ×ת כל הפריטי×)
-document_outline_label=תוכן ×”×¢× ×™×™× ×™× ×©×œ המסמך
-attachments.title=הצגת צרופות
-attachments_label=צרופות
-layers.title=הצגת שכבות (יש ללחוץ לחיצה כפולה כדי ל×פס ×ת כל השכבות למצב ברירת המחדל)
-layers_label=שכבות
-thumbs.title=הצגת תצוגה מקדימה
-thumbs_label=תצוגה מקדימה
-current_outline_item.title=מצי×ת פריט תוכן ×”×¢× ×™×™× ×™× ×”× ×•×›×—×™
-current_outline_item_label=פריט תוכן ×”×¢× ×™×™× ×™× ×”× ×•×›×—×™
-findbar.title=חיפוש במסמך
-findbar_label=חיפוש
-
-additional_layers=שכבות × ×•×¡×¤×•×ª
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=עמוד {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=עמוד {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=תצוגה מקדימה של עמוד {{page}}
-
-# Find panel button title and messages
-find_input.title=חיפוש
-find_input.placeholder=חיפוש במסמך…
-find_previous.title=מצי×ת המופע ×”×§×•×“× ×©×œ הביטוי
-find_previous_label=קוד×
-find_next.title=מצי×ת המופע ×”×‘× ×©×œ הביטוי
-find_next_label=הב×
-find_highlight=הדגשת הכול
-find_match_case_label=הת×מת ×ותיות
-find_match_diacritics_label=הת×מה די×קריטית
-find_entire_word_label=×ž×™×œ×™× ×©×œ×ž×•×ª
-find_reached_top=×”×’×™×¢ לר×ש הדף, ממשיך מלמטה
-find_reached_bottom=הגיע לסוף הדף, ממשיך מלמעלה
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]=תוצ××” {{current}} מתוך {{total}}
-find_match_count[two]={{current}} מתוך {{total}} תוצ×ות
-find_match_count[few]={{current}} מתוך {{total}} תוצ×ות
-find_match_count[many]={{current}} מתוך {{total}} תוצ×ות
-find_match_count[other]={{current}} מתוך {{total}} תוצ×ות
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=יותר מ־{{limit}} תוצ×ות
-find_match_count_limit[one]=יותר מתוצ××” ×חת
-find_match_count_limit[two]=יותר מ־{{limit}} תוצ×ות
-find_match_count_limit[few]=יותר מ־{{limit}} תוצ×ות
-find_match_count_limit[many]=יותר מ־{{limit}} תוצ×ות
-find_match_count_limit[other]=יותר מ־{{limit}} תוצ×ות
-find_not_found=הביטוי ×œ× × ×ž×¦×
-
-# Error panel labels
-error_more_info=מידע × ×•×¡×£
-error_less_info=פחות מידע
-error_close=סגירה
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js גרסה {{version}} (×‘× ×™×™×”: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=הודעה: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=תוכן ×ž×—×¡× ×™×ª: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=קובץ: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=שורה: {{line}}
-rendering_error=×ירעה שגי××” בעת עיבוד הדף.
-
-# Predefined zoom values
-page_scale_width=רוחב העמוד
-page_scale_fit=הת×מה לעמוד
-page_scale_auto=מרחק מתצוגה ×וטומטי
-page_scale_actual=גודל ×מיתי
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=×‘×˜×¢×™× ×”â€¦
-loading_error=×ירעה שגי××” בעת ×˜×¢×™× ×ª ×”Ö¾PDF.
-invalid_file_error=קובץ PDF ×¤×’×•× ×ו ×œ× ×ª×§×™×Ÿ.
-missing_file_error=קובץ PDF חסר.
-unexpected_response_error=תגובת שרת ×œ× ×¦×¤×•×™×”.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[הערת {{type}}]
-password_label=× × ×œ×”×›× ×™×¡ ×ת הססמה לפתיחת קובץ PDF ×–×”.
-password_invalid=ססמה שגויה. × × ×œ× ×¡×•×ª ×©× ×™×ª.
-password_ok=×ישור
-password_cancel=ביטול
-
-printing_not_supported=×זהרה: הדפסה ××™× ×” × ×ª×ž×›×ª במלו××” בדפדפן ×–×”.
-printing_not_ready=×זהרה: מסמך ×”Ö¾PDF ×œ× × ×˜×¢×Ÿ לחלוטין עד מצב שמ×פשר הדפסה.
-web_fonts_disabled=×’×•×¤× ×™ רשת ×ž× ×•×˜×¨×œ×™×: ×œ× × ×™×ª×Ÿ להשתמש ×‘×’×•×¤× ×™ PDF מוטבעי×.
-
-# Editor
-editor_none.title=השבתת עריכת ההערות
-editor_none_label=השבתת עריכה
-editor_free_text.title=הוספת הערת FreeText
-editor_free_text_label=הערת FreeText
-editor_ink.title=הוספת הערת דיו
-editor_ink_label=הערת דיו
-
-freetext_default_content=× × ×œ×”×–×™×Ÿ טקסט…
-
-free_text_default_content=× × ×œ×”×§×œ×™×“ טקסט…
-
-# Editor Parameters
-editor_free_text_font_color=צבע גופן
-editor_free_text_font_size=גודל גופן
-editor_ink_line_color=צבע קו
-editor_ink_line_thickness=עובי קו
-
-# Editor Parameters
-editor_free_text_color=צבע
-editor_free_text_size=גודל
-editor_ink_color=צבע
-editor_ink_thickness=עובי
-editor_ink_opacity=×טימות
-
-# Editor aria
-editor_free_text_aria_label=עורך FreeText
-editor_ink_aria_label=עורך דיו
-editor_ink_canvas_aria_label=×ª×ž×•× ×” ×©× ×•×¦×¨×” על־ידי משתמש
diff --git a/static/js/pdf-js/web/locale/hi-IN/viewer.properties b/static/js/pdf-js/web/locale/hi-IN/viewer.properties
deleted file mode 100644
index 27064ee..0000000
--- a/static/js/pdf-js/web/locale/hi-IN/viewer.properties
+++ /dev/null
@@ -1,234 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=पिछला पृषà¥à¤
-previous_label=पिछला
-next.title=अगला पृषà¥à¤
-next_label=आगे
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=पृषà¥à¤ :
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} का
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} of {{pagesCount}})
-
-zoom_out.title=\u0020छोटा करें
-zoom_out_label=\u0020छोटा करें
-zoom_in.title=बड़ा करें
-zoom_in_label=बड़ा करें
-zoom.title=बड़ा-छोटा करें
-presentation_mode.title=पà¥à¤°à¤¸à¥à¤¤à¥à¤¤à¤¿ अवसà¥à¤¥à¤¾ में जाà¤à¤
-presentation_mode_label=\u0020पà¥à¤°à¤¸à¥à¤¤à¥à¤¤à¤¿ अवसà¥à¤¥à¤¾
-open_file.title=फ़ाइल खोलें
-open_file_label=\u0020खोलें
-print.title=छापें
-print_label=\u0020छापें
-download.title=डाउनलोड
-download_label=डाउनलोड
-bookmark.title=मौजूदा दृशà¥à¤¯ (नठविंडो में नक़ल लें या खोलें)
-bookmark_label=\u0020मौजूदा दृशà¥à¤¯
-
-# Secondary toolbar and context menu
-tools.title=औज़ार
-tools_label=औज़ार
-first_page.title=पà¥à¤°à¤¥à¤® पृषà¥à¤ पर जाà¤à¤
-first_page_label=पà¥à¤°à¤¥à¤® पृषà¥à¤ पर जाà¤à¤
-last_page.title=अंतिम पृषà¥à¤ पर जाà¤à¤
-last_page_label=\u0020अंतिम पृषà¥à¤ पर जाà¤à¤
-page_rotate_cw.title=घड़ी की दिशा में घà¥à¤®à¤¾à¤à¤
-page_rotate_cw_label=घड़ी की दिशा में घà¥à¤®à¤¾à¤à¤
-page_rotate_ccw.title=घड़ी की दिशा से उलà¥à¤Ÿà¤¾ घà¥à¤®à¤¾à¤à¤
-page_rotate_ccw_label=\u0020घड़ी की दिशा से उलà¥à¤Ÿà¤¾ घà¥à¤®à¤¾à¤à¤
-
-cursor_text_select_tool.title=पाठचयन उपकरण सकà¥à¤·à¤® करें
-cursor_text_select_tool_label=पाठचयन उपकरण
-cursor_hand_tool.title=हसà¥à¤¤ उपकरण सकà¥à¤·à¤® करें
-cursor_hand_tool_label=हसà¥à¤¤ उपकरण
-
-scroll_vertical.title=लंबवत सà¥à¤•à¥à¤°à¥‰à¤²à¤¿à¤‚ग का उपयोग करें
-scroll_vertical_label=लंबवत सà¥à¤•à¥à¤°à¥‰à¤²à¤¿à¤‚ग
-scroll_horizontal.title=कà¥à¤·à¤¿à¤¤à¤¿à¤œà¤¿à¤¯ सà¥à¤•à¥à¤°à¥‰à¤²à¤¿à¤‚ग का उपयोग करें
-scroll_horizontal_label=कà¥à¤·à¤¿à¤¤à¤¿à¤œà¤¿à¤¯ सà¥à¤•à¥à¤°à¥‰à¤²à¤¿à¤‚ग
-scroll_wrapped.title=वà¥à¤°à¤¾à¤ªà¥à¤ªà¥‡à¤¡ सà¥à¤•à¥à¤°à¥‰à¤²à¤¿à¤‚ग का उपयोग करें
-
-spread_none_label=कोई सà¥à¤ªà¥à¤°à¥‡à¤¡ उपलबà¥à¤§ नहीं
-spread_odd.title=विषम-कà¥à¤°à¤®à¤¾à¤‚कित पृषà¥à¤ ों से पà¥à¤°à¤¾à¤°à¤‚ठहोने वाले पृषà¥à¤ सà¥à¤ªà¥à¤°à¥‡à¤¡ में शामिल हों
-spread_odd_label=विषम फैलाव
-
-# Document properties dialog box
-document_properties.title=दसà¥à¤¤à¤¾à¤µà¥‡à¤œà¤¼ विशेषता...
-document_properties_label=दसà¥à¤¤à¤¾à¤µà¥‡à¤œà¤¼ विशेषता...
-document_properties_file_name=फ़ाइल नाम:
-document_properties_file_size=फाइल आकारः
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=शीरà¥à¤·à¤•:
-document_properties_author=लेखकः
-document_properties_subject=विषय:
-document_properties_keywords=कà¥à¤‚जी-शबà¥à¤¦:
-document_properties_creation_date=निरà¥à¤®à¤¾à¤£ दिनांक:
-document_properties_modification_date=संशोधन दिनांक:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=निरà¥à¤®à¤¾à¤¤à¤¾:
-document_properties_producer=PDF उतà¥à¤ªà¤¾à¤¦à¤•:
-document_properties_version=PDF संसà¥à¤•रण:
-document_properties_page_count=पृषà¥à¤ गिनती:
-document_properties_page_size=पृषà¥à¤ आकार:
-document_properties_page_size_unit_inches=इंच
-document_properties_page_size_unit_millimeters=मिमी
-document_properties_page_size_orientation_portrait=पोरà¥à¤Ÿà¥à¤°à¥‡à¤Ÿ
-document_properties_page_size_orientation_landscape=लैंडसà¥à¤•ेप
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=पतà¥à¤°
-document_properties_page_size_name_legal=क़ानूनी
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=तीवà¥à¤° वेब वà¥à¤¯à¥‚:
-document_properties_linearized_yes=हाà¤
-document_properties_linearized_no=नहीं
-document_properties_close=बंद करें
-
-print_progress_message=छपाई के लिठदसà¥à¤¤à¤¾à¤µà¥‡à¤œà¤¼ को तैयार किया जा रहा है...
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=रदà¥à¤¦ करें
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=\u0020सà¥à¤²à¤¾à¤‡à¤¡à¤° टॉगल करें
-toggle_sidebar_label=सà¥à¤²à¤¾à¤‡à¤¡à¤° टॉगल करें
-document_outline.title=दसà¥à¤¤à¤¾à¤µà¥‡à¤œà¤¼ की रूपरेखा दिखाइठ(सारी वसà¥à¤¤à¥à¤“ं को फलने अथवा समेटने के लिठदो बार कà¥à¤²à¤¿à¤• करें)
-document_outline_label=दसà¥à¤¤à¤¾à¤µà¥‡à¤œà¤¼ आउटलाइन
-attachments.title=संलगà¥à¤¨à¤• दिखायें
-attachments_label=संलगà¥à¤¨à¤•
-thumbs.title=लघà¥à¤›à¤µà¤¿à¤¯à¤¾à¤ दिखाà¤à¤
-thumbs_label=लघॠछवि
-findbar.title=\u0020दसà¥à¤¤à¤¾à¤µà¥‡à¤œà¤¼ में ढूà¤à¤¢à¤¼à¥‡à¤‚
-findbar_label=ढूà¤à¤¢à¥‡à¤‚
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=पृषà¥à¤ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=पृषà¥à¤ {{page}} की लघà¥-छवि
-
-# Find panel button title and messages
-find_input.title=ढूà¤à¤¢à¥‡à¤‚
-find_input.placeholder=दसà¥à¤¤à¤¾à¤µà¥‡à¤œà¤¼ में खोजें...
-find_previous.title=वाकà¥à¤¯à¤¾à¤‚श की पिछली उपसà¥à¤¥à¤¿à¤¤à¤¿ ढूà¤à¤¢à¤¼à¥‡à¤‚
-find_previous_label=पिछला
-find_next.title=वाकà¥à¤¯à¤¾à¤‚श की अगली उपसà¥à¤¥à¤¿à¤¤à¤¿ ढूà¤à¤¢à¤¼à¥‡à¤‚
-find_next_label=अगला
-find_highlight=\u0020सà¤à¥€ आलोकित करें
-find_match_case_label=मिलान सà¥à¤¥à¤¿à¤¤à¤¿
-find_entire_word_label=संपूरà¥à¤£ शबà¥à¤¦
-find_reached_top=पृषà¥à¤ के ऊपर पहà¥à¤‚च गया, नीचे से जारी रखें
-find_reached_bottom=पृषà¥à¤ के नीचे में जा पहà¥à¤à¤šà¤¾, ऊपर से जारी
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{total}} में {{current}} मेल
-find_match_count[two]={{total}} में {{current}} मेल
-find_match_count[few]={{total}} में {{current}} मेल
-find_match_count[many]={{total}} में {{current}} मेल
-find_match_count[other]={{total}} में {{current}} मेल
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}} से अधिक मेल
-find_match_count_limit[one]={{limit}} से अधिक मेल
-find_match_count_limit[two]={{limit}} से अधिक मेल
-find_match_count_limit[few]={{limit}} से अधिक मेल
-find_match_count_limit[many]={{limit}} से अधिक मेल
-find_match_count_limit[other]={{limit}} से अधिक मेल
-find_not_found=वाकà¥à¤¯à¤¾à¤‚श नहीं मिला
-
-# Error panel labels
-error_more_info=अधिक सूचना
-error_less_info=कम सूचना
-error_close=बंद करें
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=\u0020संदेश: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=सà¥à¤Ÿà¥ˆà¤•: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=फ़ाइल: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=पंकà¥à¤¤à¤¿: {{line}}
-rendering_error=पृषà¥à¤ रेंडरिंग के दौरान तà¥à¤°à¥à¤Ÿà¤¿ आई.
-
-# Predefined zoom values
-page_scale_width=\u0020पृषà¥à¤ चौड़ाई
-page_scale_fit=पृषà¥à¤ फिट
-page_scale_auto=सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ जूम
-page_scale_actual=वासà¥à¤¤à¤µà¤¿à¤• आकार
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=PDF लोड करते समय à¤à¤• तà¥à¤°à¥à¤Ÿà¤¿ हà¥à¤ˆ.
-invalid_file_error=अमानà¥à¤¯ या à¤à¥à¤°à¤·à¥à¤Ÿ PDF फ़ाइल.
-missing_file_error=\u0020अनà¥à¤ªà¤¸à¥à¤¥à¤¿à¤¤ PDF फ़ाइल.
-unexpected_response_error=अपà¥à¤°à¤¤à¥à¤¯à¤¾à¤¶à¤¿à¤¤ सरà¥à¤µà¤° पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=\u0020[{{type}} Annotation]
-password_label=इस PDF फ़ाइल को खोलने के लिठकृपया कूटशबà¥à¤¦ à¤à¤°à¥‡à¤‚.
-password_invalid=अवैध कूटशबà¥à¤¦, कृपया फिर कोशिश करें.
-password_ok=OK
-password_cancel=रदà¥à¤¦ करें
-
-printing_not_supported=चेतावनी: इस बà¥à¤°à¤¾à¤‰à¤œà¤¼à¤° पर छपाई पूरी तरह से समरà¥à¤¥à¤¿à¤¤ नहीं है.
-printing_not_ready=चेतावनी: PDF छपाई के लिठपूरी तरह से लोड नहीं है.
-web_fonts_disabled=वेब फॉनà¥à¤Ÿà¥à¤¸ निषà¥à¤•à¥à¤°à¤¿à¤¯ हैं: अंतःसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ PDF फॉनà¥à¤Ÿà¤¸ के उपयोग में असमरà¥à¤¥.
diff --git a/static/js/pdf-js/web/locale/hr/viewer.properties b/static/js/pdf-js/web/locale/hr/viewer.properties
deleted file mode 100644
index 1ccf441..0000000
--- a/static/js/pdf-js/web/locale/hr/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Prethodna stranica
-previous_label=Prethodna
-next.title=Sljedeća stranica
-next_label=Sljedeća
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Stranica
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=od {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} od {{pagesCount}})
-
-zoom_out.title=Umanji
-zoom_out_label=Umanji
-zoom_in.title=Uvećaj
-zoom_in_label=Uvećaj
-zoom.title=Zumiranje
-presentation_mode.title=Prebaci u prezentacijski naÄin rada
-presentation_mode_label=Prezentacijski naÄin rada
-open_file.title=Otvori datoteku
-open_file_label=Otvori
-print.title=Ispiši
-print_label=Ispiši
-download.title=Preuzmi
-download_label=Preuzmi
-bookmark.title=TrenutaÄni prikaz (kopiraj ili otvori u novom prozoru)
-bookmark_label=TrenutaÄni prikaz
-
-# Secondary toolbar and context menu
-tools.title=Alati
-tools_label=Alati
-first_page.title=Idi na prvu stranicu
-first_page_label=Idi na prvu stranicu
-last_page.title=Idi na posljednju stranicu
-last_page_label=Idi na posljednju stranicu
-page_rotate_cw.title=Rotiraj u smjeru kazaljke na satu
-page_rotate_cw_label=Rotiraj u smjeru kazaljke na satu
-page_rotate_ccw.title=Rotiraj obrnutno od smjera kazaljke na satu
-page_rotate_ccw_label=Rotiraj obrnutno od smjera kazaljke na satu
-
-cursor_text_select_tool.title=Omogući alat za oznaÄavanje teksta
-cursor_text_select_tool_label=Alat za oznaÄavanje teksta
-cursor_hand_tool.title=Omogući ruÄni alat
-cursor_hand_tool_label=RuÄni alat
-
-scroll_vertical.title=Koristi okomito pomicanje
-scroll_vertical_label=Okomito pomicanje
-scroll_horizontal.title=Koristi vodoravno pomicanje
-scroll_horizontal_label=Vodoravno pomicanje
-scroll_wrapped.title=Koristi kontinuirani raspored stranica
-scroll_wrapped_label=Kontinuirani raspored stranica
-
-spread_none.title=Ne izrađuj duplerice
-spread_none_label=PojedinaÄne stranice
-spread_odd.title=Izradi duplerice koje poÄinju s neparnim stranicama
-spread_odd_label=Neparne duplerice
-spread_even.title=Izradi duplerice koje poÄinju s parnim stranicama
-spread_even_label=Parne duplerice
-
-# Document properties dialog box
-document_properties.title=Svojstva dokumenta …
-document_properties_label=Svojstva dokumenta …
-document_properties_file_name=Naziv datoteke:
-document_properties_file_size=VeliÄina datoteke:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bajtova)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bajtova)
-document_properties_title=Naslov:
-document_properties_author=Autor:
-document_properties_subject=Predmet:
-document_properties_keywords=KljuÄne rijeÄi:
-document_properties_creation_date=Datum stvaranja:
-document_properties_modification_date=Datum promjene:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Stvaratelj:
-document_properties_producer=PDF stvaratelj:
-document_properties_version=PDF verzija:
-document_properties_page_count=Broj stranica:
-document_properties_page_size=Dimenzije stranice:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=uspravno
-document_properties_page_size_orientation_landscape=položeno
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Brzi web pregled:
-document_properties_linearized_yes=Da
-document_properties_linearized_no=Ne
-document_properties_close=Zatvori
-
-print_progress_message=Pripremanje dokumenta za ispis…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Odustani
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Prikaži/sakrij boÄnu traku
-toggle_sidebar_notification2.title=Prikazivanje i sklanjanje boÄne trake (dokument sadrži strukturu/privitke/slojeve)
-toggle_sidebar_label=Prikaži/sakrij boÄnu traku
-document_outline.title=Prikaži strukturu dokumenta (dvostruki klik za rasklapanje/sklapanje svih stavki)
-document_outline_label=Struktura dokumenta
-attachments.title=Prikaži privitke
-attachments_label=Privitci
-layers.title=Prikaži slojeve (dvoklik za vraćanje svih slojeva u zadano stanje)
-layers_label=Slojevi
-thumbs.title=Prikaži minijature
-thumbs_label=Minijature
-current_outline_item.title=PronaÄ‘i trenutaÄni element strukture
-current_outline_item_label=TrenutaÄni element strukture
-findbar.title=Pronađi u dokumentu
-findbar_label=Pronađi
-
-additional_layers=Dodatni slojevi
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Stranica {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Stranica {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Minijatura stranice {{page}}
-
-# Find panel button title and messages
-find_input.title=Pronađi
-find_input.placeholder=Pronađi u dokumentu …
-find_previous.title=Pronađi prethodno pojavljivanje ovog izraza
-find_previous_label=Prethodno
-find_next.title=Pronađi sljedeće pojavljivanje ovog izraza
-find_next_label=Sljedeće
-find_highlight=Istankni sve
-find_match_case_label=Razlikovanje velikih i malih slova
-find_entire_word_label=Cijele rijeÄi
-find_reached_top=Dosegnut poÄetak dokumenta, nastavak s kraja
-find_reached_bottom=Dosegnut kraj dokumenta, nastavak s poÄetka
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} od {{total}} se podudara
-find_match_count[two]={{current}} od {{total}} se podudara
-find_match_count[few]={{current}} od {{total}} se podudara
-find_match_count[many]={{current}} od {{total}} se podudara
-find_match_count[other]={{current}} od {{total}} se podudara
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Više od {{limit}} podudaranja
-find_match_count_limit[one]=Više od {{limit}} podudaranja
-find_match_count_limit[two]=Više od {{limit}} podudaranja
-find_match_count_limit[few]=Više od {{limit}} podudaranja
-find_match_count_limit[many]=Više od {{limit}} podudaranja
-find_match_count_limit[other]=Više od {{limit}} podudaranja
-find_not_found=Izraz nije pronađen
-
-# Error panel labels
-error_more_info=Više informacija
-error_less_info=Manje informacija
-error_close=Zatvori
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Poruka: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stog: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Datoteka: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Redak: {{line}}
-rendering_error=Došlo je do greške prilikom iscrtavanja stranice.
-
-# Predefined zoom values
-page_scale_width=Prilagodi širini prozora
-page_scale_fit=Prilagodi veliÄini prozora
-page_scale_auto=Automatsko zumiranje
-page_scale_actual=Stvarna veliÄina
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}} %
-
-# Loading indicator messages
-loading=UÄitavanje…
-loading_error=DoÅ¡lo je do greÅ¡ke pri uÄitavanju PDF-a.
-invalid_file_error=Neispravna ili oštećena PDF datoteka.
-missing_file_error=Nedostaje PDF datoteka.
-unexpected_response_error=NeoÄekivani odgovor poslužitelja.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Bilješka]
-password_label=Za otvoranje ove PDF datoteku upiši lozinku.
-password_invalid=Neispravna lozinka. Pokušaj ponovo.
-password_ok=U redu
-password_cancel=Odustani
-
-printing_not_supported=Upozorenje: Ovaj preglednik ne podržava u potpunosti ispisivanje.
-printing_not_ready=Upozorenje: PDF nije u potpunosti uÄitan za ispis.
-web_fonts_disabled=Web fontovi su deaktivirani: nije moguće koristiti ugrađene PDF fontove.
diff --git a/static/js/pdf-js/web/locale/hsb/viewer.properties b/static/js/pdf-js/web/locale/hsb/viewer.properties
deleted file mode 100644
index 86c2d79..0000000
--- a/static/js/pdf-js/web/locale/hsb/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Předchadna strona
-previous_label=Wróćo
-next.title=Přichodna strona
-next_label=Dale
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Strona
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=z {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} z {{pagesCount}})
-
-zoom_out.title=Pomjeńšić
-zoom_out_label=Pomjeńšić
-zoom_in.title=Powjetšić
-zoom_in_label=Powjetšić
-zoom.title=Skalowanje
-presentation_mode.title=Do prezentaciskeho modusa přeńć
-presentation_mode_label=Prezentaciski modus
-open_file.title=Dataju woÄinić
-open_file_label=WoÄinić
-print.title=Ćišćeć
-print_label=Ćišćeć
-download.title=Sćahnyć
-download_label=Sćahnyć
-bookmark.title=Aktualny napohlad (kopÄ›rować abo w nowym woknje woÄinić)
-bookmark_label=Aktualny napohlad
-
-# Secondary toolbar and context menu
-tools.title=Nastroje
-tools_label=Nastroje
-first_page.title=K prěnjej stronje
-first_page_label=K prěnjej stronje
-last_page.title=K poslednjej stronje
-last_page_label=K poslednjej stronje
-page_rotate_cw.title=K smÄ›rej Äasnika wjerćeć
-page_rotate_cw_label=K smÄ›rej Äasnika wjerćeć
-page_rotate_ccw.title=PÅ™ećiwo smÄ›rej Äasnika wjerćeć
-page_rotate_ccw_label=PÅ™ećiwo smÄ›rej Äasnika wjerćeć
-
-cursor_text_select_tool.title=Nastroj za wuběranje teksta zmóžnić
-cursor_text_select_tool_label=Nastroj za wuběranje teksta
-cursor_hand_tool.title=RuÄny nastroj zmóžnić
-cursor_hand_tool_label=RuÄny nastroj
-
-scroll_page.title=Kulenje strony wužiwać
-scroll_page_label=Kulenje strony
-scroll_vertical.title=Wertikalne suwanje wužiwać
-scroll_vertical_label=Wertikalne suwanje
-scroll_horizontal.title=Horicontalne suwanje wužiwać
-scroll_horizontal_label=Horicontalne suwanje
-scroll_wrapped.title=Postupne suwanje wužiwać
-scroll_wrapped_label=Postupne suwanje
-
-spread_none.title=Strony njezwjazać
-spread_none_label=Žana dwójna strona
-spread_odd.title=Strony zapoÄinajo z njerunymi stronami zwjazać
-spread_odd_label=Njerune strony
-spread_even.title=Strony zapoÄinajo z runymi stronami zwjazać
-spread_even_label=Rune strony
-
-# Document properties dialog box
-document_properties.title=Dokumentowe kajkosće…
-document_properties_label=Dokumentowe kajkosće…
-document_properties_file_name=Mjeno dataje:
-document_properties_file_size=Wulkosć dataje:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bajtow)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bajtow)
-document_properties_title=Titul:
-document_properties_author=Awtor:
-document_properties_subject=Předmjet:
-document_properties_keywords=KluÄowe sÅ‚owa:
-document_properties_creation_date=Datum wutworjenja:
-document_properties_modification_date=Datum změny:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Awtor:
-document_properties_producer=PDF-zhotowjer:
-document_properties_version=PDF-wersija:
-document_properties_page_count=LiÄba stronow:
-document_properties_page_size=Wulkosć strony:
-document_properties_page_size_unit_inches=cól
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=wysoki format
-document_properties_page_size_orientation_landscape=prÄ›Äny format
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=Haj
-document_properties_linearized_no=NÄ›
-document_properties_close=ZaÄinić
-
-print_progress_message=Dokument so za ćišćenje přihotuje…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Přetorhnyć
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=BóÄnicu pokazać/schować
-toggle_sidebar_notification2.title=BóÄnicu pÅ™epinać (dokument rozrjad/pÅ™iwěški/worÅ¡ty wobsahuje)
-toggle_sidebar_label=BóÄnicu pokazać/schować
-document_outline.title=Dokumentowy naćisk pokazać (dwójne kliknjenje, zo bychu so wšě zapiski pokazali/schowali)
-document_outline_label=Dokumentowa struktura
-attachments.title=Přiwěški pokazać
-attachments_label=Přiwěški
-layers.title=Woršty pokazać (klikńće dwójce, zo byšće wšě woršty na standardny staw wróćo stajił)
-layers_label=Woršty
-thumbs.title=Miniatury pokazać
-thumbs_label=Miniatury
-current_outline_item.title=Aktualny rozrjadowy zapisk pytać
-current_outline_item_label=Aktualny rozrjadowy zapisk
-findbar.title=W dokumenće pytać
-findbar_label=Pytać
-
-additional_layers=Dalše woršty
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Strona {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Strona {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura strony {{page}}
-
-# Find panel button title and messages
-find_input.title=Pytać
-find_input.placeholder=W dokumenće pytać…
-find_previous.title=Předchadne wustupowanje pytanskeho wuraza pytać
-find_previous_label=Wróćo
-find_next.title=Přichodne wustupowanje pytanskeho wuraza pytać
-find_next_label=Dale
-find_highlight=Wšě wuzběhnyć
-find_match_case_label=Wulkopisanje wobkedźbować
-find_match_diacritics_label=Diakritiske znamješka wužiwać
-find_entire_word_label=Cyłe słowa
-find_reached_top=SpoÄatk dokumenta docpÄ›ty, pokroÄuje so z kóncom
-find_reached_bottom=Kónc dokument docpÄ›ty, pokroÄuje so ze spoÄatkom
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} z {{total}} wotpowědnika
-find_match_count[two]={{current}} z {{total}} wotpowědnikow
-find_match_count[few]={{current}} z {{total}} wotpowědnikow
-find_match_count[many]={{current}} z {{total}} wotpowědnikow
-find_match_count[other]={{current}} z {{total}} wotpowědnikow
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Wjace haÄ {{limit}} wotpowÄ›dnikow
-find_match_count_limit[one]=Wjace haÄ {{limit}} wotpowÄ›dnik
-find_match_count_limit[two]=Wjace haÄ {{limit}} wotpowÄ›dnikaj
-find_match_count_limit[few]=Wjace haÄ {{limit}} wotpowÄ›dniki
-find_match_count_limit[many]=Wjace haÄ {{limit}} wotpowÄ›dnikow
-find_match_count_limit[other]=Wjace haÄ {{limit}} wotpowÄ›dnikow
-find_not_found=Pytanski wuraz njeje so namakał
-
-# Error panel labels
-error_more_info=Wjace informacijow
-error_less_info=Mjenje informacijow
-error_close=ZaÄinić
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Zdźělenka: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Lisćina zawołanjow: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Dataja: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linka: {{line}}
-rendering_error=Při zwobraznjenju strony je zmylk wustupił.
-
-# Predefined zoom values
-page_scale_width=Šěrokosć strony
-page_scale_fit=Wulkosć strony
-page_scale_auto=Awtomatiske skalowanje
-page_scale_actual=Aktualna wulkosć
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=ZaÄituje so…
-loading_error=PÅ™i zaÄitowanju PDF je zmylk wustupiÅ‚.
-invalid_file_error=Njepłaćiwa abo wobškodźena PDF-dataja.
-missing_file_error=Falowaca PDF-dataja.
-unexpected_response_error=NjewoÄakowana serwerowa wotmoÅ‚wa.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Typ přispomnjenki: {{type}}]
-password_label=Zapodajće hesÅ‚o, zo byšće PDF-dataju woÄiniÅ‚.
-password_invalid=Njepłaćiwe hesło. Prošu spytajće hišće raz.
-password_ok=W porjadku
-password_cancel=Přetorhnyć
-
-printing_not_supported=Warnowanje: Ćišćenje so přez tutón wobhladowak połnje njepodpěruje.
-printing_not_ready=Warnowanje: PDF njeje so za ćišćenje dospoÅ‚nje zaÄitaÅ‚.
-web_fonts_disabled=Webpisma su znjemóžnjene: njeje móžno, zasadźene PDF-pisma wužiwać.
-
-# Editor
-editor_none.title=Wobdźěłowanje anotacijow znjemóžnić
-editor_none_label=Wobdźěłowanje znjemóžnić
-editor_free_text.title=Anotaciju FreeText přidać
-editor_free_text_label=Anotacija FreeText
-editor_ink.title=Tintowu anotaciju přidać
-editor_ink_label=Tintowa anotacija
-
-freetext_default_content=Zapodajće trochu teksta…
-
-free_text_default_content=Tekst zapodać…
-
-# Editor Parameters
-editor_free_text_font_color=Pismowa barba
-editor_free_text_font_size=Pismowa wulkosć
-editor_ink_line_color=Linijowa barba
-editor_ink_line_thickness=Linijowa tołstosć
-
-# Editor Parameters
-editor_free_text_color=Barba
-editor_free_text_size=Wulkosć
-editor_ink_color=Barba
-editor_ink_thickness=Tołstosć
-editor_ink_opacity=Opacita
-
-# Editor aria
-editor_free_text_aria_label=Darmotny tekstowy editor
-editor_ink_aria_label=Tintowy editor
-editor_ink_canvas_aria_label=Wobraz wutworjeny wot wužiwarja
diff --git a/static/js/pdf-js/web/locale/hu/viewer.properties b/static/js/pdf-js/web/locale/hu/viewer.properties
deleted file mode 100644
index f7a4851..0000000
--- a/static/js/pdf-js/web/locale/hu/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Előző oldal
-previous_label=Előző
-next.title=Következő oldal
-next_label=Tovább
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Oldal
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=összesen: {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} / {{pagesCount}})
-
-zoom_out.title=KicsinyÃtés
-zoom_out_label=KicsinyÃtés
-zoom_in.title=NagyÃtás
-zoom_in_label=NagyÃtás
-zoom.title=NagyÃtás
-presentation_mode.title=Váltás bemutató módba
-presentation_mode_label=Bemutató mód
-open_file.title=Fájl megnyitása
-open_file_label=Megnyitás
-print.title=Nyomtatás
-print_label=Nyomtatás
-download.title=Letöltés
-download_label=Letöltés
-bookmark.title=Jelenlegi nézet (másolás vagy megnyitás új ablakban)
-bookmark_label=Aktuális nézet
-
-# Secondary toolbar and context menu
-tools.title=Eszközök
-tools_label=Eszközök
-first_page.title=Ugrás az első oldalra
-first_page_label=Ugrás az első oldalra
-last_page.title=Ugrás az utolsó oldalra
-last_page_label=Ugrás az utolsó oldalra
-page_rotate_cw.title=Forgatás az óramutató járásával egyezően
-page_rotate_cw_label=Forgatás az óramutató járásával egyezően
-page_rotate_ccw.title=Forgatás az óramutató járásával ellentétesen
-page_rotate_ccw_label=Forgatás az óramutató járásával ellentétesen
-
-cursor_text_select_tool.title=Szövegkijelölő eszköz bekapcsolása
-cursor_text_select_tool_label=Szövegkijelölő eszköz
-cursor_hand_tool.title=Kéz eszköz bekapcsolása
-cursor_hand_tool_label=Kéz eszköz
-
-scroll_page.title=Oldalgörgetés használata
-scroll_page_label=Oldalgörgetés
-scroll_vertical.title=Függőleges görgetés használata
-scroll_vertical_label=Függőleges görgetés
-scroll_horizontal.title=VÃzszintes görgetés használata
-scroll_horizontal_label=VÃzszintes görgetés
-scroll_wrapped.title=Rácsos elrendezés használata
-scroll_wrapped_label=Rácsos elrendezés
-
-spread_none.title=Ne tapassza össze az oldalakat
-spread_none_label=Nincs összetapasztás
-spread_odd.title=Lapok összetapasztása, a páratlan számú oldalakkal kezdve
-spread_odd_label=Összetapasztás: páratlan
-spread_even.title=Lapok összetapasztása, a páros számú oldalakkal kezdve
-spread_even_label=Összetapasztás: páros
-
-# Document properties dialog box
-document_properties.title=Dokumentum tulajdonságai…
-document_properties_label=Dokumentum tulajdonságai…
-document_properties_file_name=Fájlnév:
-document_properties_file_size=Fájlméret:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bájt)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bájt)
-document_properties_title=CÃm:
-document_properties_author=Szerző:
-document_properties_subject=Tárgy:
-document_properties_keywords=Kulcsszavak:
-document_properties_creation_date=Létrehozás dátuma:
-document_properties_modification_date=MódosÃtás dátuma:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Létrehozta:
-document_properties_producer=PDF előállÃtó:
-document_properties_version=PDF verzió:
-document_properties_page_count=Oldalszám:
-document_properties_page_size=Lapméret:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=álló
-document_properties_page_size_orientation_landscape=fekvő
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Jogi információk
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Gyors webes nézet:
-document_properties_linearized_yes=Igen
-document_properties_linearized_no=Nem
-document_properties_close=Bezárás
-
-print_progress_message=Dokumentum elÅ‘készÃtése nyomtatáshoz…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Mégse
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Oldalsáv be/ki
-toggle_sidebar_notification2.title=Oldalsáv be/ki (a dokumentum vázlatot/mellékleteket/rétegeket tartalmaz)
-toggle_sidebar_label=Oldalsáv be/ki
-document_outline.title=Dokumentum megjelenÃtése online (dupla kattintás minden elem kinyitásához/összecsukásához)
-document_outline_label=Dokumentumvázlat
-attachments.title=Mellékletek megjelenÃtése
-attachments_label=Van melléklet
-layers.title=Rétegek megjelenÃtése (dupla kattintás az összes réteg alapértelmezett állapotra visszaállÃtásához)
-layers_label=Rétegek
-thumbs.title=Bélyegképek megjelenÃtése
-thumbs_label=Bélyegképek
-current_outline_item.title=Jelenlegi vázlatelem megkeresése
-current_outline_item_label=Jelenlegi vázlatelem
-findbar.title=Keresés a dokumentumban
-findbar_label=Keresés
-
-additional_layers=További rétegek
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark={{page}}. oldal
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}}. oldal
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}}. oldal bélyegképe
-
-# Find panel button title and messages
-find_input.title=Keresés
-find_input.placeholder=Keresés a dokumentumban…
-find_previous.title=A kifejezés előző előfordulásának keresése
-find_previous_label=Előző
-find_next.title=A kifejezés következő előfordulásának keresése
-find_next_label=Tovább
-find_highlight=Összes kiemelése
-find_match_case_label=Kis- és nagybetűk megkülönböztetése
-find_match_diacritics_label=Diakritikus jelek
-find_entire_word_label=Teljes szavak
-find_reached_top=A dokumentum eleje elérve, folytatás a végétől
-find_reached_bottom=A dokumentum vége elérve, folytatás az elejétől
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} / {{total}} találat
-find_match_count[two]={{current}} / {{total}} találat
-find_match_count[few]={{current}} / {{total}} találat
-find_match_count[many]={{current}} / {{total}} találat
-find_match_count[other]={{current}} / {{total}} találat
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Több mint {{limit}} találat
-find_match_count_limit[one]=Több mint {{limit}} találat
-find_match_count_limit[two]=Több mint {{limit}} találat
-find_match_count_limit[few]=Több mint {{limit}} találat
-find_match_count_limit[many]=Több mint {{limit}} találat
-find_match_count_limit[other]=Több mint {{limit}} találat
-find_not_found=A kifejezés nem található
-
-# Error panel labels
-error_more_info=További tudnivalók
-error_less_info=Kevesebb információ
-error_close=Bezárás
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Üzenet: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Verem: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fájl: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Sor: {{line}}
-rendering_error=Hiba történt az oldal feldolgozása közben.
-
-# Predefined zoom values
-page_scale_width=Oldalszélesség
-page_scale_fit=Teljes oldal
-page_scale_auto=Automatikus nagyÃtás
-page_scale_actual=Valódi méret
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Betöltés…
-loading_error=Hiba történt a PDF betöltésekor.
-invalid_file_error=Érvénytelen vagy sérült PDF fájl.
-missing_file_error=Hiányzó PDF fájl.
-unexpected_response_error=Váratlan kiszolgálóválasz.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} megjegyzés]
-password_label=Adja meg a jelszót a PDF fájl megnyitásához.
-password_invalid=Helytelen jelszó. Próbálja újra.
-password_ok=OK
-password_cancel=Mégse
-
-printing_not_supported=Figyelmeztetés: Ez a böngésző nem teljesen támogatja a nyomtatást.
-printing_not_ready=Figyelmeztetés: A PDF nincs teljesen betöltve a nyomtatáshoz.
-web_fonts_disabled=Webes betűkészletek letiltva: nem használhatók a beágyazott PDF betűkészletek.
-
-# Editor
-editor_none.title=Kommentárszerkesztés letiltása
-editor_none_label=Szerkesztés letiltása
-editor_free_text.title=FreeText kommentár hozzáadása
-editor_free_text_label=FreeText kommentár
-editor_ink.title=Tintajegyzet hozzáadása
-editor_ink_label=Tintajegyzet
-
-freetext_default_content=Ãrj be egy szöveget…
-
-free_text_default_content=Ãrjon be szöveget…
-
-# Editor Parameters
-editor_free_text_font_color=BetűszÃn
-editor_free_text_font_size=Betűméret
-editor_ink_line_color=VonalszÃn
-editor_ink_line_thickness=Vonalvastagság
-
-# Editor Parameters
-editor_free_text_color=SzÃn
-editor_free_text_size=Méret
-editor_ink_color=SzÃn
-editor_ink_thickness=Vastagság
-editor_ink_opacity=Ãtlátszatlanság
-
-# Editor aria
-editor_free_text_aria_label=Szabad szöveges szerkesztő
-editor_ink_aria_label=Tollat használó szerkesztő
-editor_ink_canvas_aria_label=Felhasználó által készÃtett kép
diff --git a/static/js/pdf-js/web/locale/hy-AM/viewer.properties b/static/js/pdf-js/web/locale/hy-AM/viewer.properties
deleted file mode 100644
index a97ae3c..0000000
--- a/static/js/pdf-js/web/locale/hy-AM/viewer.properties
+++ /dev/null
@@ -1,238 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Õ†Õ¡ÕÕ¸Ö€Õ¤ Õ§Õ»Õ¨
-previous_label=Õ†Õ¡ÕÕ¸Ö€Õ¤Õ¨
-next.title=Õ€Õ¡Õ»Õ¸Ö€Õ¤ Õ§Õ»Õ¨
-next_label=Õ€Õ¡Õ»Õ¸Ö€Õ¤Õ¨
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Ô·Õ».
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}}-Õ«Ö\u0020
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}}-Õ¨ {{pagesCount}})-Õ«Ö
-
-zoom_out.title=Õ“Õ¸Ö„Ö€Õ¡ÖÕ¶Õ¥Õ¬
-zoom_out_label=Õ“Õ¸Ö„Ö€Õ¡ÖÕ¶Õ¥Õ¬
-zoom_in.title=Ô½Õ¸Õ·Õ¸Ö€Õ¡ÖÕ¶Õ¥Õ¬
-zoom_in_label=Ô½Õ¸Õ·Õ¸Ö€Õ¡ÖÕ¶Õ¥Õ¬
-zoom.title=Õ„Õ¡Õ½Õ·Õ¿Õ¡Õ¢Õ¨\u0020
-presentation_mode.title=Ô±Õ¶ÖÕ¶Õ¥Õ¬ Õ†Õ¥Ö€Õ¯Õ¡ÕµÕ¡ÖÕ´Õ¡Õ¶ Õ¥Õ²Õ¡Õ¶Õ¡Õ¯Õ«Õ¶
-presentation_mode_label=Õ†Õ¥Ö€Õ¯Õ¡ÕµÕ¡ÖÕ´Õ¡Õ¶ Õ¥Õ²Õ¡Õ¶Õ¡Õ¯
-open_file.title=Ô²Õ¡ÖÕ¥Õ¬ Õ¶Õ«Õ·Ö„
-open_file_label=Ô²Õ¡ÖÕ¥Õ¬
-print.title=ÕÕºÕ¥Õ¬
-print_label=ÕÕºÕ¥Õ¬
-download.title=Ô²Õ¥Õ¼Õ¶Õ¥Õ¬
-download_label=Ô²Õ¥Õ¼Õ¶Õ¥Õ¬
-bookmark.title=Ô¸Õ¶Õ©Õ¡ÖÕ«Õ¯ Õ¿Õ¥Õ½Ö„Õ¸Õ¾ (ÕºÕ¡Õ¿Õ³Õ¥Õ¶Õ¥Õ¬ Õ¯Õ¡Õ´ Õ¢Õ¡ÖÕ¥Õ¬ Õ¶Õ¸Ö€ ÕºÕ¡Õ¿Õ¸Ö‚Õ°Õ¡Õ¶Õ¸Ö‚Õ´)
-bookmark_label=Ô¸Õ¶Õ©Õ¡ÖÕ«Õ¯ Õ¿Õ¥Õ½Ö„Õ¨
-
-# Secondary toolbar and context menu
-tools.title=Ô³Õ¸Ö€Õ®Õ«Ö„Õ¶Õ¥Ö€
-tools_label=Ô³Õ¸Ö€Õ®Õ«Ö„Õ¶Õ¥Ö€
-first_page.title=Ô±Õ¶ÖÕ¶Õ¥Õ¬ Õ¡Õ¼Õ¡Õ»Õ«Õ¶ Õ§Õ»Õ«Õ¶
-first_page_label=Ô±Õ¶ÖÕ¶Õ¥Õ¬ Õ¡Õ¼Õ¡Õ»Õ«Õ¶ Õ§Õ»Õ«Õ¶
-last_page.title=Ô±Õ¶ÖÕ¶Õ¥Õ¬ Õ¾Õ¥Ö€Õ»Õ«Õ¶ Õ§Õ»Õ«Õ¶
-last_page_label=Ô±Õ¶ÖÕ¶Õ¥Õ¬ Õ¾Õ¥Ö€Õ»Õ«Õ¶ Õ§Õ»Õ«Õ¶
-page_rotate_cw.title=ÕŠÕ¿Õ¿Õ¥Õ¬ Õ¨Õ½Õ¿ ÕªÕ¡Õ´Õ¡ÖÕ¸Ö‚ÕµÖÕ« Õ½Õ¬Õ¡Ö„Õ«
-page_rotate_cw_label=ÕŠÕ¿Õ¿Õ¥Õ¬ Õ¨Õ½Õ¿ ÕªÕ¡Õ´Õ¡ÖÕ¸Ö‚ÕµÖÕ« Õ½Õ¬Õ¡Ö„Õ«
-page_rotate_ccw.title=ÕŠÕ¿Õ¿Õ¥Õ¬ Õ°Õ¡Õ¯Õ¡Õ¼Õ¡Õ¯ ÕªÕ¡Õ´Õ¡ÖÕ¸Ö‚ÕµÖÕ« Õ½Õ¬Õ¡Ö„Õ«
-page_rotate_ccw_label=ÕŠÕ¿Õ¿Õ¥Õ¬ Õ°Õ¡Õ¯Õ¡Õ¼Õ¡Õ¯ ÕªÕ¡Õ´Õ¡ÖÕ¸Ö‚ÕµÖÕ« Õ½Õ¬Õ¡Ö„Õ«
-
-cursor_text_select_tool.title=Õ„Õ«Õ¡ÖÕ¶Õ¥Õ¬ Õ£Ö€Õ¸Ö‚ÕµÕ© Õ¨Õ¶Õ¿Ö€Õ¥Õ¬Õ¸Ö‚ Õ£Õ¸Ö€Õ®Õ«Ö„Õ¨
-cursor_text_select_tool_label=Ô³Ö€Õ¸Ö‚ÕµÕ©Õ¨ Õ¨Õ¶Õ¿Ö€Õ¥Õ¬Õ¸Ö‚ Õ£Õ¸Ö€Õ®Õ«Ö„
-cursor_hand_tool.title=Õ„Õ«Õ¡ÖÕ¶Õ¥Õ¬ ÕÕ¥Õ¼Ö„Õ« Õ£Õ¸Ö€Õ®Õ«Ö„Õ¨
-cursor_hand_tool_label=ÕÕ¥Õ¼Ö„Õ« Õ£Õ¸Ö€Õ®Õ«Ö„
-
-scroll_vertical.title=Õ•Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¥Õ¬ Õ¸Ö‚Õ²Õ²Õ¡Õ°Õ¡ÕµÕ¡Ö Õ¸Õ¬Õ¸Ö€Õ¸Ö‚Õ´
-scroll_vertical_label=ÕˆÖ‚Õ²Õ²Õ¡Õ°Õ¡ÕµÕ¡Ö Õ¸Õ¬Õ¸Ö€Õ¸Ö‚Õ´
-scroll_horizontal.title=Õ•Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¥Õ¬ Õ°Õ¸Ö€Õ«Õ¦Õ¸Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¸Õ¬Õ¸Ö€Õ¸Ö‚Õ´
-scroll_horizontal_label=Õ€Õ¸Ö€Õ«Õ¦Õ¸Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¸Õ¬Õ¸Ö€Õ¸Ö‚Õ´
-scroll_wrapped.title=Õ•Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¥Õ¬ ÖƒÕ¡Õ©Õ¡Õ©Õ¾Õ¡Õ® Õ¸Õ¬Õ¸Ö€Õ¸Ö‚Õ´
-scroll_wrapped_label=Õ“Õ¡Õ©Õ¡Õ©Õ¾Õ¡Õ® Õ¸Õ¬Õ¸Ö€Õ¸Ö‚Õ´
-
-spread_none.title=Õ„Õ« Õ´Õ«Õ¡ÖÕ¥Ö„ Õ§Õ»Õ« Õ¾Õ¥Ö€Õ¡Õ®Õ¡Õ®Õ¯Õ¥Ö€Õ«Õ¶
-spread_none_label=Õ‰Õ¯Õ¡ Õ¾Õ¥Ö€Õ¡Õ®Õ¡Õ®Õ¯Õ¥Ö€
-spread_odd.title=Õ„Õ«Õ¡ÖÕ¥Ö„ Õ§Õ»Õ« Õ¾Õ¥Ö€Õ¡Õ®Õ¡Õ®Õ¯Õ¥Ö€Õ«Õ¶ Õ½Õ¯Õ½Õ¥Õ¬Õ¸Õ¾Õ Õ¯Õ¥Õ¶Õ¿ Õ°Õ¡Õ´Õ¡Ö€Õ¡Õ¯Õ¡Õ¬Õ¾Õ¡Õ® Õ§Õ»Õ¥Ö€Õ¸Õ¾
-spread_odd_label=Ô¿Õ¥Õ¶Õ¿ Õ¾Õ¥Ö€Õ¡Õ®Õ¡Õ®Õ¯Õ¥Ö€
-spread_even.title=Õ„Õ«Õ¡ÖÕ¥Ö„ Õ§Õ»Õ« Õ¾Õ¥Ö€Õ¡Õ®Õ¡Õ®Õ¯Õ¥Ö€Õ«Õ¶ Õ½Õ¯Õ½Õ¥Õ¬Õ¸Õ¾Õ Õ¦Õ¸Ö‚ÕµÕ£ Õ°Õ¡Õ´Õ¡Ö€Õ¡Õ¯Õ¡Õ¬Õ¾Õ¡Õ® Õ§Õ»Õ¥Ö€Õ¸Õ¾
-spread_even_label=Ô¶Õ¸Ö‚ÕµÕ£ Õ¾Õ¥Ö€Õ¡Õ®Õ¡Õ®Õ¯Õ¥Ö€
-
-# Document properties dialog box
-document_properties.title=Փաստաթղթի հատկությունները…
-document_properties_label=Փաստաթղթի հատկությունները…
-document_properties_file_name=Õ†Õ«Õ·Ö„Õ« Õ¡Õ¶Õ¸Ö‚Õ¶Õ¨.
-document_properties_file_size=Õ†Õ«Õ·Ö„ Õ¹Õ¡ÖƒÕ¨.
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} Ô¿Ô² ({{size_b}} Õ¢Õ¡ÕµÕ©)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} Õ„Ô² ({{size_b}} Õ¢Õ¡ÕµÕ©)
-document_properties_title=ÕŽÕ¥Ö€Õ¶Õ¡Õ£Õ«Ö€.
-document_properties_author=Հեղինակ․
-document_properties_subject=ÕŽÕ¥Ö€Õ¶Õ¡Õ£Õ«Ö€.
-document_properties_keywords=Õ€Õ«Õ´Õ¶Õ¡Õ¢Õ¡Õ¼.
-document_properties_creation_date=ÕÕ¿Õ¥Õ²Õ®Õ¥Õ¬Õ¸Ö‚ Õ¡Õ´Õ½Õ¡Õ©Õ«Õ¾Õ¨.
-document_properties_modification_date=Õ“Õ¸ÖƒÕ¸ÕÕ¥Õ¬Õ¸Ö‚ Õ¡Õ´Õ½Õ¡Õ©Õ«Õ¾Õ¨.
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=ÕÕ¿Õ¥Õ²Õ®Õ¸Õ².
-document_properties_producer=PDF-Õ« Õ°Õ¥Õ²Õ«Õ¶Õ¡Õ¯Õ¨.
-document_properties_version=PDF-Õ« Õ¿Õ¡Ö€Õ¢Õ¥Ö€Õ¡Õ¯Õ¨.
-document_properties_page_count=Ô·Õ»Õ¥Ö€Õ« Ö„Õ¡Õ¶Õ¡Õ¯Õ¨.
-document_properties_page_size=Ô·Õ»Õ« Õ¹Õ¡ÖƒÕ¨.
-document_properties_page_size_unit_inches=Õ¸Ö‚Õ´
-document_properties_page_size_unit_millimeters=Õ´Õ´
-document_properties_page_size_orientation_portrait=Õ¸Ö‚Õ²Õ²Õ¡Õ±Õ«Õ£
-document_properties_page_size_orientation_landscape=Õ°Õ¸Ö€Õ«Õ¦Õ¸Õ¶Õ¡Õ¯Õ¡Õ¶
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Õ†Õ¡Õ´Õ¡Õ¯
-document_properties_page_size_name_legal=Õ•Ö€Õ«Õ¶Õ¡Õ¯Õ¡Õ¶
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Արագ վեբ դիտում․
-document_properties_linearized_yes=Ô±ÕµÕ¸
-document_properties_linearized_no=ÕˆÕ¹
-document_properties_close=Õ“Õ¡Õ¯Õ¥Õ¬
-
-print_progress_message=Õ†Õ¡ÕÕ¡ÕºÕ¡Õ¿Ö€Õ¡Õ½Õ¿Õ¸Ö‚Õ´ Õ§ ÖƒÕ¡Õ½Õ¿Õ¡Õ©Õ¸Ö‚Õ²Õ©Õ¨ Õ¿ÕºÕ¥Õ¬Õ¸Ö‚Õ¶...
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Õ‰Õ¥Õ²Õ¡Ö€Õ¯Õ¥Õ¬
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Ô²Õ¡ÖÕ¥Õ¬/Õ“Õ¡Õ¯Õ¥Õ¬ Ô¿Õ¸Õ²Õ¡ÕµÕ«Õ¶ Õ¾Õ¡Õ°Õ¡Õ¶Õ¡Õ¯Õ¨
-toggle_sidebar_label=Ô²Õ¡ÖÕ¥Õ¬/Õ“Õ¡Õ¯Õ¥Õ¬ Ô¿Õ¸Õ²Õ¡ÕµÕ«Õ¶ Õ¾Õ¡Õ°Õ¡Õ¶Õ¡Õ¯Õ¨
-document_outline.title=Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ ÖƒÕ¡Õ½Õ¿Õ¡Õ©Õ²Õ©Õ« Õ¸Ö‚Ö€Õ¾Õ¡Õ£Õ«Õ®Õ¨ (Õ¯Ö€Õ¯Õ¶Õ¡Õ¯Õ« Õ½Õ¥Õ²Õ´Õ¥Ö„Õ Õ´Õ«Õ¡Õ¾Õ¸Ö€Õ¶Õ¥Ö€Õ¨ Õ¨Õ¶Õ¤Õ¡Ö€Õ±Õ¡Õ¯Õ¥Õ¬Õ¸Ö‚/Õ¯Õ¸Õ®Õ¯Õ¥Õ¬Õ¸Ö‚ Õ°Õ¡Õ´Õ¡Ö€)
-document_outline_label=Õ“Õ¡Õ½Õ¿Õ¡Õ©Õ²Õ©Õ« Õ¢Õ¸Õ¾Õ¡Õ¶Õ¤Õ¡Õ¯Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨
-attachments.title=Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ¯ÖÕ¸Ö€Õ¤Õ¶Õ¥Ö€Õ¨
-attachments_label=Ô¿ÖÕ¸Ö€Õ¤Õ¶Õ¥Ö€
-thumbs.title=Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ„Õ¡Õ¶Ö€Õ¡ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¨
-thumbs_label=Õ„Õ¡Õ¶Ö€Õ¡ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¨
-findbar.title=Ô³Õ¿Õ¶Õ¥Õ¬ ÖƒÕ¡Õ½Õ¿Õ¡Õ©Õ²Õ©Õ¸Ö‚Õ´
-findbar_label=ÕˆÖ€Õ¸Õ¶Õ¸Ö‚Õ´
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Ô·Õ»Õ¨ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Ô·Õ»Õ« Õ´Õ¡Õ¶Ö€Õ¡ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¨ {{page}}
-
-# Find panel button title and messages
-find_input.title=ÕˆÖ€Õ¸Õ¶Õ¸Ö‚Õ´
-find_input.placeholder=Ô³Õ¿Õ¶Õ¥Õ¬ ÖƒÕ¡Õ½Õ¿Õ¡Õ©Õ²Õ©Õ¸Ö‚Õ´...
-find_previous.title=Ô³Õ¿Õ¶Õ¥Õ¬ Õ¡Õ¶Ö€Õ¡Õ°Õ¡ÕµÕ¿Õ¸Ö‚Õ©ÕµÕ¡Õ¶ Õ¶Õ¡ÕÕ¸Ö€Õ¤ Õ°Õ¡Õ¶Õ¤Õ«ÕºÕ¸Ö‚Õ´Õ¨
-find_previous_label=Õ†Õ¡ÕÕ¸Ö€Õ¤Õ¨
-find_next.title=Ô³Õ¿Õ«Ö€ Õ¡Ö€Õ¿Õ¡Õ°Õ¡ÕµÕ¿Õ¸Ö‚Õ©ÕµÕ¡Õ¶ Õ°Õ¡Õ»Õ¸Ö€Õ¤ Õ°Õ¡Õ¶Õ¤Õ«ÕºÕ¸Ö‚Õ´Õ¨
-find_next_label=Õ€Õ¡Õ»Õ¸Ö€Õ¤Õ¨
-find_highlight=Ô³Õ¸Ö‚Õ¶Õ¡Õ¶Õ·Õ¥Õ¬ Õ¢Õ¸Õ¬Õ¸Ö€Õ¨
-find_match_case_label=Õ„Õ¥Õ®(ÖƒÕ¸Ö„Ö€)Õ¡Õ¿Õ¡Õ¼ Õ°Õ¡Õ·Õ¾Õ« Õ¡Õ¼Õ¶Õ¥Õ¬
-find_entire_word_label=Ô±Õ´Õ¢Õ¸Õ²Õ» Õ¢Õ¡Õ¼Õ¥Ö€Õ¨
-find_reached_top=Õ€Õ¡Õ½Õ¥Õ¬ Õ¥Ö„ ÖƒÕ¡Õ½Õ¿Õ¡Õ©Õ²Õ©Õ« Õ¾Õ¥Ö€Ö‡Õ«Õ¶, Õ¯Õ·Õ¡Ö€Õ¸Ö‚Õ¶Õ¡Õ¯Õ¾Õ« Õ¶Õ¥Ö€Ö„Ö‡Õ«Ö
-find_reached_bottom=Õ€Õ¡Õ½Õ¥Õ¬ Õ¥Ö„ ÖƒÕ¡Õ½Õ¿Õ¡Õ©Õ²Õ©Õ« Õ¾Õ¥Ö€Õ»Õ«Õ¶, Õ¯Õ·Õ¡Ö€Õ¸Ö‚Õ¶Õ¡Õ¯Õ¾Õ« Õ¾Õ¥Ö€Ö‡Õ«Ö
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ Õ°Õ¸Õ£Õ¶Õ¡Õ¯Õ«(Õ¨Õ¶Õ¤Õ°Õ¡Õ¶Õ¸Ö‚Ö€) ]}
-find_match_count[one]={{current}} {{total}}-Õ« Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ«Ö
-find_match_count[two]={{current}} {{total}}-Õ« Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ«Ö
-find_match_count[few]={{current}} {{total}}-Õ« Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ«Ö
-find_match_count[many]={{current}} {{total}}-Õ« Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ«Ö
-find_match_count[other]={{current}} {{total}}-Õ« Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ«Ö
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ Õ°Õ¸Õ£Õ¶Õ¡Õ¯Õ« (Õ½Õ¡Õ°Õ´Õ¡Õ¶Õ¨) ]}
-find_match_count_limit[zero]=Ô±Õ¾Õ¥Õ¬Õ«Õ¶ Ö„Õ¡Õ¶ {{limit}} Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨
-find_match_count_limit[one]=Ô±Õ¾Õ¥Õ¬Õ«Õ¶ Ö„Õ¡Õ¶ {{limit}} Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ¨
-find_match_count_limit[two]=Ô±Õ¾Õ¥Õ¬Õ«Õ¶ Ö„Õ¡Õ¶ {{limit}} Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¶Õ¥Ö€
-find_match_count_limit[few]=Ô±Õ¾Õ¥Õ¬Õ«Õ¶ Ö„Õ¡Õ¶ {{limit}} Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¶Õ¥Ö€
-find_match_count_limit[many]=Ô±Õ¾Õ¥Õ¬Õ«Õ¶ Ö„Õ¡Õ¶ {{limit}} Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¶Õ¥Ö€
-find_match_count_limit[other]=Ô±Õ¾Õ¥Õ¬Õ«Õ¶ Ö„Õ¡Õ¶ {{limit}} Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¶Õ¥Ö€
-find_not_found=Ô±Ö€Õ¿Õ¡Õ°Õ¡ÕµÕ¿Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨ Õ¹Õ£Õ¿Õ¶Õ¾Õ¥Ö
-
-# Error panel labels
-error_more_info=Ô±Õ¾Õ¥Õ¬Õ« Õ·Õ¡Õ¿ Õ¿Õ¥Õ²Õ¥Õ¯Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶
-error_less_info=Õ”Õ«Õ¹ Õ¿Õ¥Õ²Õ¥Õ¯Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶
-error_close=Õ“Õ¡Õ¯Õ¥Õ¬
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (Õ¯Õ¡Õ¼Õ¸Ö‚ÖÕ¸Ö‚Õ´Õ¨. {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Ô³Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨. {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Õ‡Õ¥Õ²Õ». {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Õ–Õ¡ÕµÕ¬. {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=ÕÕ¸Õ²Õ¨. {{line}}
-rendering_error=ÕÕÕ¡Õ¬Õ Õ§Õ»Õ¨ Õ½Õ¿Õ¥Õ²Õ®Õ¥Õ¬Õ«Õ½:
-
-# Predefined zoom values
-page_scale_width=Ô·Õ»Õ« Õ¬Õ¡ÕµÕ¶Ö„Õ¨
-page_scale_fit=ÕÕ£Õ¥Õ¬ Õ§Õ»Õ¨
-page_scale_auto=Ô»Õ¶Ö„Õ¶Õ¡Õ·ÕÕ¡Õ¿
-page_scale_actual=Ô»Ö€Õ¡Õ¯Õ¡Õ¶ Õ¹Õ¡ÖƒÕ¨
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=ÕÕÕ¡Õ¬Õ PDF Ö†Õ¡ÕµÕ¬Õ¨ Õ¢Õ¡ÖÕ¥Õ¬Õ«Õ½Ö‰
-invalid_file_error=ÕÕÕ¡Õ¬ Õ¯Õ¡Õ´ Õ¾Õ¶Õ¡Õ½Õ¾Õ¡Õ® PDF Ö†Õ¡ÕµÕ¬:
-missing_file_error=PDF Ö†Õ¡ÕµÕ¬Õ¨ Õ¢Õ¡ÖÕ¡Õ¯Õ¡ÕµÕ¸Ö‚Õ´ Õ§:
-unexpected_response_error=ÕÕºÕ¡Õ½Õ¡Ö€Õ¯Õ«Õ¹Õ« Õ¡Õ¶Õ½ÕºÕ¡Õ½Õ¥Õ¬Õ« ÕºÕ¡Õ¿Õ¡Õ½ÕÕ¡Õ¶:
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Ô¾Õ¡Õ¶Õ¸Õ©Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶]
-password_label=Õ„Õ¸Ö‚Õ¿Ö„Õ¡Õ£Ö€Õ¥Ö„ PDF-Õ« Õ£Õ¡Õ²Õ¿Õ¶Õ¡Õ¢Õ¡Õ¼Õ¨:
-password_invalid=Ô³Õ¡Õ²Õ¿Õ¶Õ¡Õ¢Õ¡Õ¼Õ¨ Õ½ÕÕ¡Õ¬ Õ§: Ô¿Ö€Õ¯Õ«Õ¶ ÖƒÕ¸Ö€Õ±Õ¥Ö„:
-password_ok=Ô¼Õ¡Õ¾
-password_cancel=Õ‰Õ¥Õ²Õ¡Ö€Õ¯Õ¥Õ¬
-
-printing_not_supported=Ô¶Õ£Õ¸Ö‚Õ·Õ¡ÖÕ¸Ö‚Õ´. ÕÕºÕ¥Õ¬Õ¨ Õ¡Õ´Õ¢Õ¸Õ²Õ»Õ¸Ö‚Õ©ÕµÕ¡Õ´Õ¢ Õ¹Õ« Õ¡Õ»Õ¡Õ¯ÖÕ¾Õ¸Ö‚Õ´ Õ¤Õ«Õ¿Õ¡Ö€Õ¯Õ«Õ¹Õ« Õ¯Õ¸Õ²Õ´Õ«ÖÖ‰
-printing_not_ready=Ô¶Õ£Õ¸Ö‚Õ·Õ¡ÖÕ¸Ö‚Õ´. PDF-Õ¨ Õ¡Õ´Õ¢Õ¸Õ²Õ»Õ¸Ö‚Õ©ÕµÕ¡Õ´Õ¢ Õ¹Õ« Õ¢Õ¥Õ¼Õ¶Õ¡Õ¾Õ¸Ö€Õ¾Õ¥Õ¬ Õ¿ÕºÕ¥Õ¬Õ¸Ö‚ Õ°Õ¡Õ´Õ¡Ö€:
-web_fonts_disabled=ÕŽÕ¥Õ¢-Õ¿Õ¡Õ¼Õ¡Õ¿Õ¥Õ½Õ¡Õ¯Õ¶Õ¥Ö€Õ¨ Õ¡Õ¶Õ»Õ¡Õ¿Õ¾Õ¡Õ® Õ¥Õ¶. Õ°Õ¶Õ¡Ö€Õ¡Õ¾Õ¸Ö€ Õ¹Õ§ Ö…Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¥Õ¬ Õ¶Õ¥Ö€Õ¯Õ¡Õ¼Õ¸Ö‚ÖÕ¾Õ¡Õ® PDF Õ¿Õ¡Õ¼Õ¡Õ¿Õ¥Õ½Õ¡Õ¯Õ¶Õ¥Ö€Õ¨:
diff --git a/static/js/pdf-js/web/locale/hye/viewer.properties b/static/js/pdf-js/web/locale/hye/viewer.properties
deleted file mode 100644
index d531b9d..0000000
--- a/static/js/pdf-js/web/locale/hye/viewer.properties
+++ /dev/null
@@ -1,251 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Õ†Õ¡ÕÕ¸Ö€Õ¤ Õ§Õ»
-previous_label=Õ†Õ¡ÕÕ¸Ö€Õ¤Õ¨
-next.title=Õ…Õ¡Õ»Õ¸Ö€Õ¤ Õ§Õ»
-next_label=Õ…Õ¡Õ»Õ¸Ö€Õ¤Õ¨
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Õ§Õ»
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}}-Õ«Ö\u0020
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}}-Õ¨ {{pagesCount}})-Õ«Ö
-
-zoom_out.title=Õ“Õ¸Ö„Ö€Õ¡ÖÕ¶Õ¥Õ¬
-zoom_out_label=Õ“Õ¸Ö„Ö€Õ¡ÖÕ¶Õ¥Õ¬
-zoom_in.title=Ô½Õ¸Õ·Õ¸Ö€Õ¡ÖÕ¶Õ¥Õ¬
-zoom_in_label=Ô½Õ¸Õ·Õ¸Ö€Õ¡ÖÕ¶Õ¥Õ¬
-zoom.title=Ô½Õ¸Õ·Õ¸Ö€Õ¡ÖÕ¸Ö‚Õ´
-presentation_mode.title=Ô±Õ¶ÖÕ¶Õ¥Õ¬ Õ¶Õ¥Ö€Õ¯Õ¡ÕµÕ¡ÖÕ´Õ¡Õ¶ Õ¥Õ²Õ¡Õ¶Õ¡Õ¯Õ«Õ¶
-presentation_mode_label=Õ†Õ¥Ö€Õ¯Õ¡ÕµÕ¡ÖÕ´Õ¡Õ¶ Õ¥Õ²Õ¡Õ¶Õ¡Õ¯
-open_file.title=Ô²Õ¡ÖÕ¥Õ¬ Õ¶Õ«Õ·Ö„Õ¨
-open_file_label=Ô²Õ¡ÖÕ¥Õ¬
-print.title=ÕÕºÕ¥Õ¬
-print_label=ÕÕºÕ¥Õ¬
-download.title=Ô²Õ¥Õ¼Õ¶Õ¥Õ¬
-download_label=Ô²Õ¥Õ¼Õ¶Õ¥Õ¬
-bookmark.title=Ô¸Õ¶Õ©Õ¡ÖÕ«Õ¯ Õ¿Õ¥Õ½Ö„Õ¸Õ¾ (ÕºÕ¡Õ¿Õ³Õ§Õ¶Õ¥Õ¬ Õ¯Õ¡Õ´ Õ¢Õ¡ÖÕ¥Õ¬ Õ¶Õ¸Ö€ ÕºÕ¡Õ¿Õ¸Ö‚Õ°Õ¡Õ¶Õ¸Ö‚Õ´)
-bookmark_label=Ô¸Õ¶Õ©Õ¡ÖÕ«Õ¯ Õ¿Õ¥Õ½Ö„
-
-# Secondary toolbar and context menu
-tools.title=Ô³Õ¸Ö€Õ®Õ«Ö„Õ¶Õ¥Ö€
-tools_label=Ô³Õ¸Ö€Õ®Õ«Ö„Õ¶Õ¥Ö€
-first_page.title=Ô³Õ¶Õ¡Õ¬ Õ¤Õ§ÕºÕ« Õ¡Õ¼Õ¡Õ»Õ«Õ¶ Õ§Õ»
-first_page_label=Ô³Õ¶Õ¡Õ¬ Õ¤Õ§ÕºÕ« Õ¡Õ¼Õ¡Õ»Õ«Õ¶ Õ§Õ»
-last_page.title=Ô³Õ¶Õ¡Õ¬ Õ¤Õ§ÕºÕ« Õ¾Õ¥Ö€Õ»Õ«Õ¶ Õ§Õ»
-last_page_label=Ô³Õ¶Õ¡Õ¬ Õ¤Õ§ÕºÕ« Õ¾Õ¥Ö€Õ»Õ«Õ¶ Õ§Õ»
-page_rotate_cw.title=ÕŠÕ¿Õ¿Õ¥Õ¬ ÕªÕ¡Õ´Õ¡ÖÕ¸ÕµÖÕ« Õ½Õ¬Õ¡Ö„Õ« Õ¸Ö‚Õ²Õ²Õ¸Ö‚Õ©Õ¥Õ¡Õ´Õ¢
-page_rotate_cw_label=ÕŠÕ¿Õ¿Õ¥Õ¬ ÕªÕ¡Õ´Õ¡ÖÕ¸ÕµÖÕ« Õ½Õ¬Õ¡Ö„Õ« Õ¸Ö‚Õ²Õ²Õ¸Ö‚Õ©Õ¥Õ¡Õ´Õ¢
-page_rotate_ccw.title=ÕŠÕ¿Õ¿Õ¥Õ¬ ÕªÕ¡Õ´Õ¡ÖÕ¸ÕµÖÕ« Õ½Õ¬Õ¡Ö„Õ« Õ°Õ¡Õ¯Õ¡Õ¼Õ¡Õ¯ Õ¸Ö‚Õ²Õ²Õ¸Ö‚Õ©Õ¥Õ¡Õ´Õ¢
-page_rotate_ccw_label=ÕŠÕ¿Õ¿Õ¥Õ¬ ÕªÕ¡Õ´Õ¡ÖÕ¸ÕµÖÕ« Õ½Õ¬Õ¡Ö„Õ« Õ°Õ¡Õ¯Õ¡Õ¼Õ¡Õ¯ Õ¸Ö‚Õ²Õ²Õ¸Ö‚Õ©Õ¥Õ¡Õ´Õ¢
-
-cursor_text_select_tool.title=Õ„Õ«Õ¡ÖÕ¶Õ¥Õ¬ Õ£Ö€Õ¸ÕµÕ© Õ¨Õ¶Õ¿Ö€Õ¥Õ¬Õ¸Ö‚ Õ£Õ¸Ö€Õ®Õ«Ö„Õ¨
-cursor_text_select_tool_label=Ô³Ö€Õ¸Ö‚Õ¡Õ®Ö„ Õ¨Õ¶Õ¿Ö€Õ¥Õ¬Õ¸Ö‚ Õ£Õ¸Ö€Õ®Õ«Ö„
-cursor_hand_tool.title=Õ„Õ«Õ¡ÖÕ¶Õ¥Õ¬ Õ±Õ¥Õ¼Ö„Õ« Õ£Õ¸Ö€Õ®Õ«Ö„Õ¨
-cursor_hand_tool_label=ÕÕ¥Õ¼Ö„Õ« Õ£Õ¸Ö€Õ®Õ«Ö„
-
-scroll_page.title=Ô±Ö‚Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¥Õ¬ Õ§Õ»Õ« Õ¸Õ¬Õ¸Ö€Õ¸Ö‚Õ´
-scroll_page_label=Ô·Õ»Õ« Õ¸Õ¬Õ¸Ö€Õ¸Ö‚Õ´
-scroll_vertical.title=Ô±Ö‚Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¥Õ¬ Õ¸Ö‚Õ²Õ²Õ¡Õ°Õ¡ÕµÕ¥Õ¡Ö Õ¸Õ¬Õ¸Ö€Õ¸Ö‚Õ´
-scroll_vertical_label=ÕˆÖ‚Õ²Õ²Õ¡Õ°Õ¡ÕµÕ¥Õ¡Ö Õ¸Õ¬Õ¸Ö€Õ¸Ö‚Õ´
-scroll_horizontal.title=Ô±Ö‚Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¥Õ¬ Õ°Õ¸Ö€Õ«Õ¦Õ¸Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¸Õ¬Õ¸Ö€Õ¸Ö‚Õ´
-scroll_horizontal_label=Õ€Õ¸Ö€Õ«Õ¦Õ¸Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¸Õ¬Õ¸Ö€Õ¸Ö‚Õ´
-scroll_wrapped.title=Ô±Ö‚Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¥Õ¬ ÖƒÕ¡Õ©Õ¡Õ©Õ¸Ö‚Õ¡Õ® Õ¸Õ¬Õ¸Ö€Õ¸Ö‚Õ´
-scroll_wrapped_label=Õ“Õ¡Õ©Õ¡Õ©Õ¸Ö‚Õ¡Õ® Õ¸Õ¬Õ¸Ö€Õ¸Ö‚Õ´
-
-spread_none.title=Õ„Õ« Õ´Õ«Õ¡ÖÕ§Ö„ Õ§Õ»Õ« Õ¯Õ¸Õ¶Õ¿Õ¥Ö„Õ½Õ¿Õ¸Ö‚Õ´
-spread_none_label=Õ‰Õ¯Õ¡Õµ Õ¯Õ¸Õ¶Õ¿Õ¥Ö„Õ½Õ¿
-spread_odd.title=Õ„Õ«Õ¡ÖÕ§Ö„ Õ§Õ»Õ« Õ¯Õ¸Õ¶Õ¿Õ¥Ö„Õ½Õ¿Õ«Õ¶ Õ½Õ¯Õ½Õ¥Õ¬Õ¸Õ¾Õ Õ¯Õ¥Õ¶Õ¿ Õ°Õ¡Õ´Õ¡Ö€Õ¡Õ¯Õ¡Õ¬Õ¸Ö‚Õ¡Õ® Õ§Õ»Õ¥Ö€Õ¸Õ¾
-spread_odd_label=ÕÕ¡Ö€Õ¡Ö‚Ö€Õ«Õ¶Õ¡Õ¯ Õ¯Õ¸Õ¶Õ¿Õ¥Ö„Õ½Õ¿
-spread_even.title=Õ„Õ«Õ¡ÖÕ§Ö„ Õ§Õ»Õ« Õ¯Õ¸Õ¶Õ¿Õ¥Ö„Õ½Õ¿Õ«Õ¶ Õ½Õ¯Õ½Õ¥Õ¬Õ¸Õ¾Õ Õ¦Õ¸ÕµÕ£ Õ°Õ¡Õ´Õ¡Ö€Õ¡Õ¯Õ¡Õ¬Õ¸Ö‚Õ¡Õ® Õ§Õ»Õ¥Ö€Õ¸Õ¾
-spread_even_label=Õ€Õ¡Ö‚Õ¡Õ½Õ¡Ö€ Õ¾Õ¥Ö€Õ¡Õ®Õ¡Õ®Õ¯Õ¥Ö€
-
-# Document properties dialog box
-document_properties.title=Փաստաթղթի հատկութիւնները…
-document_properties_label=Փաստաթղթի յատկութիւնները…
-document_properties_file_name=Նիշքի անունը․
-document_properties_file_size=Õ†Õ«Õ·Ö„ Õ¹Õ¡ÖƒÕ¨.
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} Ô¿Ô² ({{size_b}} Õ¢Õ¡ÕµÕ©)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} Õ„Ô² ({{size_b}} Õ¢Õ¡ÕµÕ©)
-document_properties_title=ÕŽÕ¥Ö€Õ¶Õ¡Õ£Õ«Ö€
-document_properties_author=Հեղինակ․
-document_properties_subject=Õ¡Õ¼Õ¡Ö€Õ¯Õ¡Õµ
-document_properties_keywords=Õ€Õ«Õ´Õ¶Õ¡Õ¢Õ¡Õ¼Õ¥Ö€
-document_properties_creation_date=ÕÕ¿Õ¥Õ²Õ®Õ´Õ¡Õ¶ Õ¡Õ´Õ½Õ¡Õ©Õ«Ö‚
-document_properties_modification_date=Õ“Õ¸ÖƒÕ¸ÕÕ¸Ö‚Õ©Õ¥Õ¡Õ¶ Õ¡Õ´Õ½Õ¡Õ©Õ«Ö‚.
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=ÕÕ¿Õ¥Õ²Õ®Õ¸Õ²
-document_properties_producer=PDF-Õ« Ô±Ö€Õ¿Õ¡Õ¤Ö€Õ¸Õ²Õ¨.
-document_properties_version=PDF-Õ« Õ¿Õ¡Ö€Õ¢Õ¥Ö€Õ¡Õ¯Õ¨.
-document_properties_page_count=Ô·Õ»Õ¥Ö€Õ« Ö„Õ¡Õ¶Õ¡Õ¯Õ¨.
-document_properties_page_size=Ô·Õ»Õ« Õ¹Õ¡ÖƒÕ¨.
-document_properties_page_size_unit_inches=Õ¸Ö‚Õ´
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=Õ¸Ö‚Õ²Õ²Õ¡Õ±Õ«Õ£
-document_properties_page_size_orientation_landscape=Õ°Õ¸Ö€Õ«Õ¦Õ¸Õ¶Õ¡Õ¯Õ¡Õ¶
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Õ†Õ¡Õ´Õ¡Õ¯
-document_properties_page_size_name_legal=Ô±Ö‚Ö€Õ«Õ¶Õ¡Õ¯Õ¡Õ¶
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Արագ վեբ դիտում․
-document_properties_linearized_yes=Ô±ÕµÕ¸
-document_properties_linearized_no=ÕˆÕ¹
-document_properties_close=Õ“Õ¡Õ¯Õ¥Õ¬
-
-print_progress_message=Õ†Õ¡ÕÕ¡ÕºÕ¡Õ¿Ö€Õ¡Õ½Õ¿Õ¸Ö‚Õ´ Õ§ ÖƒÕ¡Õ½Õ¿Õ¡Õ©Õ¸Ö‚Õ²Õ©Õ¨ տպելուն…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Õ‰Õ¥Õ²Õ¡Ö€Õ¯Õ¥Õ¬
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Õ“Õ¸ÕÕ¡Ö€Õ¯Õ¥Õ¬ Õ¯Õ¸Õ²Õ¡ÕµÕ«Õ¶ Õ¾Õ¡Õ°Õ¡Õ¶Õ¡Õ¯Õ¨
-toggle_sidebar_notification2.title=Õ“Õ¸ÕÕ¡Õ¶Õ»Õ¡Õ¿Õ¥Õ¬ Õ¯Õ¸Õ²Õ´Õ¶Õ¡Õ½Õ«Ö‚Õ¶Õ¨ (ÖƒÕ¡Õ½Õ¿Õ¡Õ©Õ¸Ö‚Õ²Õ©Õ¨ ÕºÕ¡Ö€Õ¸Ö‚Õ¶Õ¡Õ¯Õ¸Ö‚Õ´ Õ§ Õ¸Ö‚Ö€Õ¸Ö‚Õ¡Õ£Õ«Õ®/Õ¯ÖÕ¸Ö€Õ¤Õ¶Õ¥Ö€/Õ·Õ¥Ö€Õ¿Õ¥Ö€)
-toggle_sidebar_label=Õ“Õ¸ÕÕ¡Ö€Õ¯Õ¥Õ¬ Õ¯Õ¸Õ²Õ¡ÕµÕ«Õ¶ Õ¾Õ¡Õ°Õ¡Õ¶Õ¡Õ¯Õ¨
-document_outline.title=Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ ÖƒÕ¡Õ½Õ¿Õ¡Õ©Õ²Õ©Õ« Õ¸Ö‚Ö€Õ¸Ö‚Õ¡Õ£Õ«Õ®Õ¨ (Õ¯Ö€Õ¯Õ¶Õ¡Õ¯Õ« Õ½Õ¥Õ²Õ´Õ§Ö„Õ Õ´Õ«Õ¡Ö‚Õ¸Ö€Õ¶Õ¥Ö€Õ¨ Õ¨Õ¶Õ¤Õ¡Ö€Õ±Õ¡Õ¯Õ¥Õ¬Õ¸Ö‚/Õ¯Õ¸Õ®Õ¯Õ¥Õ¬Õ¸Ö‚ Õ°Õ¡Õ´Õ¡Ö€)
-document_outline_label=Õ“Õ¡Õ½Õ¿Õ¡Õ©Õ²Õ©Õ« Õ¸Ö‚Ö€Õ¸Ö‚Õ¡Õ£Õ«Õ®
-attachments.title=Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ¯ÖÕ¸Ö€Õ¤Õ¶Õ¥Ö€Õ¨
-attachments_label=Ô¿ÖÕ¸Ö€Õ¤Õ¶Õ¥Ö€
-layers.title=Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ·Õ¥Ö€Õ¿Õ¥Ö€Õ¨ (Õ¯Ö€Õ¯Õ¶Õ¡Õ°ÕºÕ¥Õ¬ Õ¾Õ¥Ö€Õ¡Õ¯Õ¡ÕµÕ¥Õ¬Õ¸Ö‚ Õ¢Õ¸Õ¬Õ¸Ö€ Õ·Õ¥Ö€Õ¿Õ¥Ö€Õ¨ Õ½Õ¯Õ¦Õ¢Õ¶Õ¡Õ¤Õ«Ö€ Õ¾Õ«Õ³Õ¡Õ¯Õ«)
-layers_label=Õ‡Õ¥Ö€Õ¿Õ¥Ö€
-thumbs.title=Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ´Õ¡Õ¶Ö€Õ¡ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¨
-thumbs_label=Õ„Õ¡Õ¶Ö€Õ¡ÕºÕ¡Õ¿Õ¯Õ¥Ö€
-current_outline_item.title=Ô³Õ¿Õ§Ö„ Õ¨Õ¶Õ©Õ¡ÖÕ«Õ¯ Õ£Õ®Õ¡Õ£Ö€Õ´Õ¡Õ¶ Õ¿Õ¡Ö€Ö€Õ¨
-current_outline_item_label=Ô¸Õ¶Õ©Õ¡ÖÕ«Õ¯ Õ£Õ®Õ¡Õ£Ö€Õ´Õ¡Õ¶ Õ¿Õ¡Ö€Ö€
-findbar.title=Ô³Õ¿Õ¶Õ¥Õ¬ ÖƒÕ¡Õ½Õ¿Õ¡Õ©Õ²Õ©Õ¸Ö‚Õ´
-findbar_label=ÕˆÖ€Õ¸Õ¶Õ¸Ö‚Õ´
-
-additional_layers=Ô¼Ö€Õ¡ÖÕ¸Ö‚ÖÕ«Õ¹ Õ·Õ¥Ö€Õ¿Õ¥Ö€
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Ô·Õ» {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Ô·Õ»Õ¨ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Ô·Õ»Õ« Õ´Õ¡Õ¶Ö€Õ¡ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¨ {{page}}
-
-# Find panel button title and messages
-find_input.title=ÕˆÖ€Õ¸Õ¶Õ¸Ö‚Õ´
-find_input.placeholder=Գտնել փաստաթղթում…
-find_previous.title=Ô³Õ¿Õ¶Õ¥Õ¬ Õ¡Ö€Õ¿Õ¡ÕµÕ¡ÕµÕ¿Õ¸Ö‚Õ©Õ¥Õ¡Õ¶ Õ¶Õ¡ÕÕ¸Ö€Õ¤ Õ¡Ö€Õ¿Õ¡ÕµÕ¡ÕµÕ¿Õ¸Ö‚Õ©Õ«Ö‚Õ¶Õ¨
-find_previous_label=Õ†Õ¡ÕÕ¸Ö€Õ¤Õ¨
-find_next.title=Ô³Õ¿Õ«Ö€ Õ¡Ö€Õ¿Õ¡ÕµÕ¡ÕµÕ¿Õ¸Ö‚Õ©Õ¥Õ¡Õ¶ ÕµÕ¡Õ»Õ¸Ö€Õ¤ Õ¡Ö€Õ¿Õ¡ÕµÕ¡ÕµÕ¿Õ¸Ö‚Õ©Õ«Ö‚Õ¶Õ¨
-find_next_label=Õ€Õ¡Õ»Õ¸Ö€Õ¤Õ¨
-find_highlight=Ô³Õ¸Ö‚Õ¶Õ¡Õ¶Õ·Õ¥Õ¬ Õ¢Õ¸Õ¬Õ¸Ö€Õ¨
-find_match_case_label=Õ€Õ¡Õ·Õ¸Ö‚Õ« Õ¡Õ¼Õ¶Õ¥Õ¬ Õ°Õ¡Õ¶Õ£Õ¡Õ´Õ¡Õ¶Ö„Õ¨
-find_match_diacritics_label=Õ€Õ¶Õ¹Õ«Ö‚Õ¶Õ¡Õ¿Õ¡Ö€Õ¢Õ¥Ö€Õ«Õ¹ Õ¶Õ·Õ¡Õ¶Õ¶Õ¥Ö€Õ« Õ°Õ¡Õ´Õ¡ÕºÕ¡Õ¿Õ¡Õ½ÕÕ¡Õ¶Õ¥ÖÕ¸Ö‚Õ´
-find_entire_word_label=Ô±Õ´Õ¢Õ¸Õ²Õ» Õ¢Õ¡Õ¼Õ¥Ö€Õ¨
-find_reached_top=Õ€Õ¡Õ½Õ¥Õ¬ Õ¥Ö„ ÖƒÕ¡Õ½Õ¿Õ¡Õ©Õ²Õ©Õ« Õ¾Õ¥Ö€Õ¥Ö‚Õ«Õ¶,Õ·Õ¡Ö€Õ¸Ö‚Õ¶Õ¡Õ¯Õ¥Õ¬ Õ¶Õ¥Ö€Ö„Õ¥Ö‚Õ«Ö
-find_reached_bottom=Õ€Õ¡Õ½Õ¥Õ¬ Õ§Ö„ ÖƒÕ¡Õ½Õ¿Õ¡Õ©Õ²Õ©Õ« Õ¾Õ¥Ö€Õ»Õ«Õ¶, Õ·Õ¡Ö€Õ¸Ö‚Õ¶Õ¡Õ¯Õ¥Õ¬ Õ¾Õ¥Ö€Õ¥Ö‚Õ«Ö
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} {{total}}-Õ« Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ«Ö
-find_match_count[two]={{current}} {{total}}-Õ« Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ«Ö
-find_match_count[few]={{current}} {{total}}-Õ« Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ«Ö
-find_match_count[many]={{current}} {{total}}-Õ« Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ«Ö
-find_match_count[other]={{current}} {{total}}-Õ« Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ«Ö
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Ô±Ö‚Õ¥Õ¬Õ«Õ¶ Ö„Õ¡Õ¶ {{limit}} Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨
-find_match_count_limit[one]=Ô±Ö‚Õ¥Õ¬Õ«Õ¶ Ö„Õ¡Õ¶ {{limit}} Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ¨
-find_match_count_limit[two]=Ô±Ö‚Õ¥Õ¬Õ«Õ¶ Ö„Õ¡Õ¶ {{limit}} Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨
-find_match_count_limit[few]=Ô±Ö‚Õ¥Õ¬Õ«Õ¶ Ö„Õ¡Õ¶ {{limit}} Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨
-find_match_count_limit[many]=Ô±Ö‚Õ¥Õ¬Õ«Õ¶ Ö„Õ¡Õ¶ {{limit}} Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨
-find_match_count_limit[other]=Ô±Ö‚Õ¥Õ¬Õ«Õ¶ Ö„Õ¡Õ¶ {{limit}} Õ°Õ¡Õ´Õ¨Õ¶Õ¯Õ¶Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨
-find_not_found=Ô±Ö€Õ¿Õ¡ÕµÕ¡ÕµÕ¿Õ¸Ö‚Õ©Õ«Ö‚Õ¶Õ¨ Õ¹Õ£Õ¿Õ¶Õ¸Ö‚Õ¥Ö
-
-# Error panel labels
-error_more_info=Ô±Ö‚Õ¥Õ¬Õ« Õ·Õ¡Õ¿ Õ¿Õ¥Õ²Õ¥Õ¯Õ¸Ö‚Õ©Õ«Ö‚Õ¶
-error_less_info=Õ”Õ«Õ¹ Õ¿Õ¥Õ²Õ¥Õ¯Õ¸Ö‚Õ©Õ«Ö‚Õ¶
-error_close=Õ“Õ¡Õ¯Õ¥Õ¬
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (Õ¯Õ¡Õ¼Õ¸Ö‚ÖÕ¸Ö‚Õ´Õ¨. {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Ô³Ö€Õ¸Ö‚Õ©Õ«Ö‚Õ¶Õ¨. {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Õ‡Õ¥Õ²Õ». {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=նիշք․ {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=ÕÕ¸Õ²Õ¨. {{line}}
-rendering_error=ÕÕÕ¡Õ¬ Õ§ Õ¿Õ¥Õ²Õ« Õ¸Ö‚Õ¶Õ¥ÖÕ¥Õ¬ Õ§Õ»Õ« Õ´Õ¥Õ¯Õ¶Õ¡Õ¢Õ¡Õ¶Õ´Õ¡Õ¶ ÕªÕ¡Õ´Õ¡Õ¶Õ¡Õ¯
-
-# Predefined zoom values
-page_scale_width=Ô·Õ»Õ« Õ¬Õ¡ÕµÕ¶Õ¸Ö‚Õ©Õ«Ö‚Õ¶
-page_scale_fit=Õ€Õ¡Ö€Õ´Õ¡Ö€Õ¥ÖÕ¶Õ¥Õ¬ Õ§Õ»Õ¨
-page_scale_auto=Ô»Õ¶Ö„Õ¶Õ¡Õ·ÕÕ¡Õ¿ ÕÕ¸Õ·Õ¸Ö€Õ¡ÖÕ¸Ö‚Õ´
-page_scale_actual=Ô»Ö€Õ¡Õ¯Õ¡Õ¶ Õ¹Õ¡ÖƒÕ¨
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Բեռնում…
-loading_error=PDF Õ¶Õ«Õ·Ö„Õ¨ Õ¢Õ¡ÖÕ¥Õ¬Õ«Õ½ Õ½ÕÕ¡Õ¬ Õ§ Õ¿Õ¥Õ²Õ« Õ¸Ö‚Õ¶Õ¥ÖÕ¥Õ¬Ö‰
-invalid_file_error=ÕÕÕ¡Õ¬ Õ¯Õ¡Õ´ Õ¾Õ¶Õ¡Õ½Õ¸Ö‚Õ¡Õ® PDF Õ¶Õ«Õ·Ö„Ö‰
-missing_file_error=PDF Õ¶Õ«Õ·Ö„Õ¨ Õ¢Õ¡ÖÕ¡Õ¯Õ¡Õ«Ö‚Õ´ Õ§Ö‰
-unexpected_response_error=ÕÕºÕ¡Õ½Õ¡Ö€Õ¯Õ«Õ¹Õ« Õ¡Õ¶Õ½ÕºÕ¡Õ½Õ¥Õ¬Õ« ÕºÕ¡Õ¿Õ¡Õ½ÕÕ¡Õ¶Ö‰
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Ô¾Õ¡Õ¶Õ¸Õ©Õ¸Ö‚Õ©Õ«Ö‚Õ¶]
-password_label=Õ„Õ¸Ö‚Õ¿Ö„Õ¡Õ£Ö€Õ§Ö„ Õ£Õ¡Õ²Õ¿Õ¶Õ¡Õ¢Õ¡Õ¼Õ¨ Õ¡ÕµÕ½ PDF Õ¶Õ«Õ·Ö„Õ¨ Õ¢Õ¡ÖÕ¥Õ¬Õ¸Ö‚ Õ°Õ¡Õ´Õ¡Ö€
-password_invalid=Ô³Õ¡Õ²Õ¿Õ¶Õ¡Õ¢Õ¡Õ¼Õ¨ Õ½ÕÕ¡Õ¬ Õ§: Ô¿Ö€Õ¯Õ«Õ¶ ÖƒÕ¸Ö€Õ±Õ§Ö„:
-password_ok=Ô¼Õ¡Ö‚
-password_cancel=Õ‰Õ¥Õ²Õ¡Ö€Õ¯Õ¥Õ¬
-
-printing_not_supported=Ô¶Õ£Õ¸Ö‚Õ·Õ¡ÖÕ¸Ö‚Õ´. ÕÕºÕ¥Õ¬Õ¨ Õ¡Õ´Õ¢Õ¸Õ²Õ»Õ¸Ö‚Õ©Õ¥Õ¡Õ´Õ¢ Õ¹Õ« Õ¡Õ»Õ¡Õ¯ÖÕ¸Ö‚Õ¸Ö‚Õ´ Õ¦Õ¶Õ¶Õ¡Ö€Õ¯Õ«Õ¹Õ« Õ¯Õ¸Õ²Õ´Õ«ÖÖ‰
-printing_not_ready=Ô¶Õ£Õ¸Ö‚Õ·Õ¡ÖÕ¸Ö‚Õ´. PDFÖŠÕ¨ Õ¡Õ´Õ¢Õ¸Õ²Õ»Õ¸Ö‚Õ©Õ¥Õ¡Õ´Õ¢ Õ¹Õ« Õ¢Õ¥Õ¼Õ¶Õ¡Ö‚Õ¸Ö€Õ¸Ö‚Õ¥Õ¬ Õ¿ÕºÕ¥Õ¬Õ¸Ö‚ Õ°Õ¡Õ´Õ¡Ö€Ö‰
-web_fonts_disabled=ÕŽÕ¥Õ¢-Õ¿Õ¡Õ¼Õ¡Õ¿Õ¥Õ½Õ¡Õ¯Õ¶Õ¥Ö€Õ¨ Õ¡Õ¶Õ»Õ¡Õ¿Õ¸Ö‚Õ¡Õ® Õ¥Õ¶. Õ°Õ¶Õ¡Ö€Õ¡Ö‚Õ¸Ö€ Õ¹Õ§ Õ¡Ö‚Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¥Õ¬ Õ¶Õ¥Ö€Õ¯Õ¡Õ¼Õ¸Ö‚ÖÕ¸Ö‚Õ¡Õ® PDF Õ¿Õ¡Õ¼Õ¡Õ¿Õ¥Õ½Õ¡Õ¯Õ¶Õ¥Ö€Õ¨Ö‰
diff --git a/static/js/pdf-js/web/locale/ia/viewer.properties b/static/js/pdf-js/web/locale/ia/viewer.properties
deleted file mode 100644
index d64acf6..0000000
--- a/static/js/pdf-js/web/locale/ia/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pagina previe
-previous_label=Previe
-next.title=Pagina sequente
-next_label=Sequente
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pagina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Distantiar
-zoom_out_label=Distantiar
-zoom_in.title=Approximar
-zoom_in_label=Approximar
-zoom.title=Zoom
-presentation_mode.title=Excambiar a modo presentation
-presentation_mode_label=Modo presentation
-open_file.title=Aperir le file
-open_file_label=Aperir
-print.title=Imprimer
-print_label=Imprimer
-download.title=Discargar
-download_label=Discargar
-bookmark.title=Vista actual (copiar o aperir in un nove fenestra)
-bookmark_label=Vista actual
-
-# Secondary toolbar and context menu
-tools.title=Instrumentos
-tools_label=Instrumentos
-first_page.title=Ir al prime pagina
-first_page_label=Ir al prime pagina
-last_page.title=Ir al prime pagina
-last_page_label=Ir al prime pagina
-page_rotate_cw.title=Rotar in senso horari
-page_rotate_cw_label=Rotar in senso horari
-page_rotate_ccw.title=Rotar in senso antihorari
-page_rotate_ccw_label=Rotar in senso antihorari
-
-cursor_text_select_tool.title=Activar le instrumento de selection de texto
-cursor_text_select_tool_label=Instrumento de selection de texto
-cursor_hand_tool.title=Activar le instrumento mano
-cursor_hand_tool_label=Instrumento mano
-
-scroll_page.title=Usar rolamento de pagina
-scroll_page_label=Rolamento de pagina
-scroll_vertical.title=Usar rolamento vertical
-scroll_vertical_label=Rolamento vertical
-scroll_horizontal.title=Usar rolamento horizontal
-scroll_horizontal_label=Rolamento horizontal
-scroll_wrapped.title=Usar rolamento incapsulate
-scroll_wrapped_label=Rolamento incapsulate
-
-spread_none.title=Non junger paginas dual
-spread_none_label=Sin paginas dual
-spread_odd.title=Junger paginas dual a partir de paginas con numeros impar
-spread_odd_label=Paginas dual impar
-spread_even.title=Junger paginas dual a partir de paginas con numeros par
-spread_even_label=Paginas dual par
-
-# Document properties dialog box
-document_properties.title=Proprietates del documento…
-document_properties_label=Proprietates del documento…
-document_properties_file_name=Nomine del file:
-document_properties_file_size=Dimension de file:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Titulo:
-document_properties_author=Autor:
-document_properties_subject=Subjecto:
-document_properties_keywords=Parolas clave:
-document_properties_creation_date=Data de creation:
-document_properties_modification_date=Data de modification:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creator:
-document_properties_producer=Productor PDF:
-document_properties_version=Version PDF:
-document_properties_page_count=Numero de paginas:
-document_properties_page_size=Dimension del pagina:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=vertical
-document_properties_page_size_orientation_landscape=horizontal
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Littera
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista web rapide:
-document_properties_linearized_yes=Si
-document_properties_linearized_no=No
-document_properties_close=Clauder
-
-print_progress_message=Preparation del documento pro le impression…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancellar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Monstrar/celar le barra lateral
-toggle_sidebar_notification2.title=Monstrar/celar le barra lateral (le documento contine structura/attachamentos/stratos)
-toggle_sidebar_label=Monstrar/celar le barra lateral
-document_outline.title=Monstrar le schema del documento (clic duple pro expander/contraher tote le elementos)
-document_outline_label=Schema del documento
-attachments.title=Monstrar le annexos
-attachments_label=Annexos
-layers.title=Monstrar stratos (clicca duple pro remontar tote le stratos al stato predefinite)
-layers_label=Stratos
-thumbs.title=Monstrar le vignettes
-thumbs_label=Vignettes
-current_outline_item.title=Trovar le elemento de structura actual
-current_outline_item_label=Elemento de structura actual
-findbar.title=Cercar in le documento
-findbar_label=Cercar
-
-additional_layers=Altere stratos
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Pagina {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pagina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Vignette del pagina {{page}}
-
-# Find panel button title and messages
-find_input.title=Cercar
-find_input.placeholder=Cercar in le documento…
-find_previous.title=Trovar le previe occurrentia del phrase
-find_previous_label=Previe
-find_next.title=Trovar le successive occurrentia del phrase
-find_next_label=Sequente
-find_highlight=Evidentiar toto
-find_match_case_label=Distinguer majusculas/minusculas
-find_match_diacritics_label=Differentiar diacriticos
-find_entire_word_label=Parolas integre
-find_reached_top=Initio del documento attingite, continuation ab fin
-find_reached_bottom=Fin del documento attingite, continuation ab initio
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} de {{total}} concordantia
-find_match_count[two]={{current}} de {{total}} concordantias
-find_match_count[few]={{current}} de {{total}} concordantias
-find_match_count[many]={{current}} de {{total}} concordantias
-find_match_count[other]={{current}} de {{total}} concordantias
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Plus de {{limit}} concordantias
-find_match_count_limit[one]=Plus de {{limit}} concordantia
-find_match_count_limit[two]=Plus de {{limit}} concordantias
-find_match_count_limit[few]=Plus de {{limit}} concordantias
-find_match_count_limit[many]=Plus de {{limit}} correspondentias
-find_match_count_limit[other]=Plus de {{limit}} concordantias
-find_not_found=Phrase non trovate
-
-# Error panel labels
-error_more_info=Plus de informationes
-error_less_info=Minus de informationes
-error_close=Clauder
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Message: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=File: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linea: {{line}}
-rendering_error=Un error occurreva durante que on processava le pagina.
-
-# Predefined zoom values
-page_scale_width=Plen largor del pagina
-page_scale_fit=Pagina integre
-page_scale_auto=Zoom automatic
-page_scale_actual=Dimension real
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Cargante…
-loading_error=Un error occurreva durante que on cargava le file PDF.
-invalid_file_error=File PDF corrumpite o non valide.
-missing_file_error=File PDF mancante.
-unexpected_response_error=Responsa del servitor inexpectate.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=Insere le contrasigno pro aperir iste file PDF.
-password_invalid=Contrasigno invalide. Per favor retenta.
-password_ok=OK
-password_cancel=Cancellar
-
-printing_not_supported=Attention : le impression non es totalmente supportate per ce navigator.
-printing_not_ready=Attention: le file PDF non es integremente cargate pro lo poter imprimer.
-web_fonts_disabled=Le typos de litteras web es disactivate: impossibile usar le typos de litteras PDF incorporate.
-
-# Editor
-editor_none.title=Disactivar modificationes del annotationes
-editor_none_label=Disactivar redaction
-editor_free_text.title=Add annotation FreeText
-editor_free_text_label=Annotation FreeText
-editor_ink.title=Adder annotation Ink
-editor_ink_label=Annotation Ink
-
-freetext_default_content=Scribe alcun texto…
-
-free_text_default_content=Insere le texto…
-
-# Editor Parameters
-editor_free_text_font_color=Color de character
-editor_free_text_font_size=Dimension del characteres
-editor_ink_line_color=Colores del linea
-editor_ink_line_thickness=Spissor del linea
-
-# Editor Parameters
-editor_free_text_color=Color
-editor_free_text_size=Dimension
-editor_ink_color=Color
-editor_ink_thickness=Spissor
-editor_ink_opacity=Opacitate
-
-# Editor aria
-editor_free_text_aria_label=Redactor de texto libere
-editor_ink_aria_label=Editor penna
-editor_ink_canvas_aria_label=Imagine create per le usator
diff --git a/static/js/pdf-js/web/locale/id/viewer.properties b/static/js/pdf-js/web/locale/id/viewer.properties
deleted file mode 100644
index 83ab353..0000000
--- a/static/js/pdf-js/web/locale/id/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Laman Sebelumnya
-previous_label=Sebelumnya
-next.title=Laman Selanjutnya
-next_label=Selanjutnya
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Halaman
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=dari {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} dari {{pagesCount}})
-
-zoom_out.title=Perkecil
-zoom_out_label=Perkecil
-zoom_in.title=Perbesar
-zoom_in_label=Perbesar
-zoom.title=Perbesaran
-presentation_mode.title=Ganti ke Mode Presentasi
-presentation_mode_label=Mode Presentasi
-open_file.title=Buka Berkas
-open_file_label=Buka
-print.title=Cetak
-print_label=Cetak
-download.title=Unduh
-download_label=Unduh
-bookmark.title=Tampilan Sekarang (salin atau buka di jendela baru)
-bookmark_label=Tampilan Sekarang
-
-# Secondary toolbar and context menu
-tools.title=Alat
-tools_label=Alat
-first_page.title=Buka Halaman Pertama
-first_page_label=Buka Halaman Pertama
-last_page.title=Buka Halaman Terakhir
-last_page_label=Buka Halaman Terakhir
-page_rotate_cw.title=Putar Searah Jarum Jam
-page_rotate_cw_label=Putar Searah Jarum Jam
-page_rotate_ccw.title=Putar Berlawanan Arah Jarum Jam
-page_rotate_ccw_label=Putar Berlawanan Arah Jarum Jam
-
-cursor_text_select_tool.title=Aktifkan Alat Seleksi Teks
-cursor_text_select_tool_label=Alat Seleksi Teks
-cursor_hand_tool.title=Aktifkan Alat Tangan
-cursor_hand_tool_label=Alat Tangan
-
-scroll_page.title=Gunakan Pengguliran Laman
-scroll_page_label=Pengguliran Laman
-scroll_vertical.title=Gunakan Penggeseran Vertikal
-scroll_vertical_label=Penggeseran Vertikal
-scroll_horizontal.title=Gunakan Penggeseran Horizontal
-scroll_horizontal_label=Penggeseran Horizontal
-scroll_wrapped.title=Gunakan Penggeseran Terapit
-scroll_wrapped_label=Penggeseran Terapit
-
-spread_none.title=Jangan gabungkan lembar halaman
-spread_none_label=Tidak Ada Lembaran
-spread_odd.title=Gabungkan lembar lamanan mulai dengan halaman ganjil
-spread_odd_label=Lembaran Ganjil
-spread_even.title=Gabungkan lembar halaman dimulai dengan halaman genap
-spread_even_label=Lembaran Genap
-
-# Document properties dialog box
-document_properties.title=Properti Dokumen…
-document_properties_label=Properti Dokumen…
-document_properties_file_name=Nama berkas:
-document_properties_file_size=Ukuran berkas:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} byte)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} byte)
-document_properties_title=Judul:
-document_properties_author=Penyusun:
-document_properties_subject=Subjek:
-document_properties_keywords=Kata Kunci:
-document_properties_creation_date=Tanggal Dibuat:
-document_properties_modification_date=Tanggal Dimodifikasi:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Pembuat:
-document_properties_producer=Pemroduksi PDF:
-document_properties_version=Versi PDF:
-document_properties_page_count=Jumlah Halaman:
-document_properties_page_size=Ukuran Laman:
-document_properties_page_size_unit_inches=inci
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=tegak
-document_properties_page_size_orientation_landscape=mendatar
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Tampilan Web Kilat:
-document_properties_linearized_yes=Ya
-document_properties_linearized_no=Tidak
-document_properties_close=Tutup
-
-print_progress_message=Menyiapkan dokumen untuk pencetakan…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Batalkan
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Aktif/Nonaktifkan Bilah Samping
-toggle_sidebar_notification2.title=Aktif/Nonaktifkan Bilah Samping (dokumen berisi kerangka/lampiran/lapisan)
-toggle_sidebar_label=Aktif/Nonaktifkan Bilah Samping
-document_outline.title=Tampilkan Kerangka Dokumen (klik ganda untuk membentangkan/menciutkan semua item)
-document_outline_label=Kerangka Dokumen
-attachments.title=Tampilkan Lampiran
-attachments_label=Lampiran
-layers.title=Tampilkan Lapisan (klik ganda untuk mengatur ulang semua lapisan ke keadaan baku)
-layers_label=Lapisan
-thumbs.title=Tampilkan Miniatur
-thumbs_label=Miniatur
-current_outline_item.title=Cari Butir Ikhtisar Saat Ini
-current_outline_item_label=Butir Ikhtisar Saat Ini
-findbar.title=Temukan di Dokumen
-findbar_label=Temukan
-
-additional_layers=Lapisan Tambahan
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Halaman {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Laman {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatur Laman {{page}}
-
-# Find panel button title and messages
-find_input.title=Temukan
-find_input.placeholder=Temukan di dokumen…
-find_previous.title=Temukan kata sebelumnya
-find_previous_label=Sebelumnya
-find_next.title=Temukan lebih lanjut
-find_next_label=Selanjutnya
-find_highlight=Sorot semuanya
-find_match_case_label=Cocokkan BESAR/kecil
-find_match_diacritics_label=Pencocokan Diakritik
-find_entire_word_label=Seluruh teks
-find_reached_top=Sampai di awal dokumen, dilanjutkan dari bawah
-find_reached_bottom=Sampai di akhir dokumen, dilanjutkan dari atas
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} dari {{total}} hasil
-find_match_count[two]={{current}} dari {{total}} hasil
-find_match_count[few]={{current}} dari {{total}} hasil
-find_match_count[many]={{current}} dari {{total}} hasil
-find_match_count[other]={{current}} dari {{total}} hasil
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Ditemukan lebih dari {{limit}}
-find_match_count_limit[one]=Ditemukan lebih dari {{limit}}
-find_match_count_limit[two]=Ditemukan lebih dari {{limit}}
-find_match_count_limit[few]=Ditemukan lebih dari {{limit}}
-find_match_count_limit[many]=Ditemukan lebih dari {{limit}}
-find_match_count_limit[other]=Ditemukan lebih dari {{limit}}
-find_not_found=Frasa tidak ditemukan
-
-# Error panel labels
-error_more_info=Lebih Banyak Informasi
-error_less_info=Lebih Sedikit Informasi
-error_close=Tutup
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Pesan: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Berkas: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Baris: {{line}}
-rendering_error=Galat terjadi saat merender laman.
-
-# Predefined zoom values
-page_scale_width=Lebar Laman
-page_scale_fit=Muat Laman
-page_scale_auto=Perbesaran Otomatis
-page_scale_actual=Ukuran Asli
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Memuat…
-loading_error=Galat terjadi saat memuat PDF.
-invalid_file_error=Berkas PDF tidak valid atau rusak.
-missing_file_error=Berkas PDF tidak ada.
-unexpected_response_error=Balasan server yang tidak diharapkan.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotasi {{type}}]
-password_label=Masukkan sandi untuk membuka berkas PDF ini.
-password_invalid=Sandi tidak valid. Silakan coba lagi.
-password_ok=Oke
-password_cancel=Batal
-
-printing_not_supported=Peringatan: Pencetakan tidak didukung secara lengkap pada peramban ini.
-printing_not_ready=Peringatan: Berkas PDF masih belum dimuat secara lengkap untuk dapat dicetak.
-web_fonts_disabled=Font web dinonaktifkan: tidak dapat menggunakan font PDF yang tersemat.
-
-# Editor
-editor_none.title=Nonaktifkan Penyuntingan Anotasi
-editor_none_label=Nonaktifkan Penyuntingan
-editor_free_text.title=Tambahkan Notasi FreeText
-editor_free_text_label=Notasi FreeText
-editor_ink.title=Tambahkan Notasi Tinta
-editor_ink_label=Notasi Tinta
-
-freetext_default_content=Masukkan beberapa teks…
-
-free_text_default_content=Masukkan teks…
-
-# Editor Parameters
-editor_free_text_font_color=Warna Fon
-editor_free_text_font_size=Ukuran Fon
-editor_ink_line_color=Warna Garis
-editor_ink_line_thickness=Ketebalan Garis
-
-# Editor Parameters
-editor_free_text_color=Warna
-editor_free_text_size=Ukuran
-editor_ink_color=Warna
-editor_ink_thickness=Ketebalan
-editor_ink_opacity=Opasitas
-
-# Editor aria
-editor_free_text_aria_label=Editor FreeText
-editor_ink_aria_label=Editor Tinta
-editor_ink_canvas_aria_label=Gambar yang dibuat pengguna
diff --git a/static/js/pdf-js/web/locale/is/viewer.properties b/static/js/pdf-js/web/locale/is/viewer.properties
deleted file mode 100644
index b150f2e..0000000
--- a/static/js/pdf-js/web/locale/is/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Fyrri sÃða
-previous_label=Fyrri
-next.title=Næsta sÃða
-next_label=Næsti
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=SÃða
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=af {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} af {{pagesCount}})
-
-zoom_out.title=Minnka aðdrátt
-zoom_out_label=Minnka aðdrátt
-zoom_in.title=Auka aðdrátt
-zoom_in_label=Auka aðdrátt
-zoom.title=Aðdráttur
-presentation_mode.title=Skipta yfir á kynningarham
-presentation_mode_label=Kynningarhamur
-open_file.title=Opna skrá
-open_file_label=Opna
-print.title=Prenta
-print_label=Prenta
-download.title=Hala niður
-download_label=Hala niður
-bookmark.title=Núverandi sýn (afritaðu eða opnaðu à nýjum glugga)
-bookmark_label=Núverandi sýn
-
-# Secondary toolbar and context menu
-tools.title=Verkfæri
-tools_label=Verkfæri
-first_page.title=Fara á fyrstu sÃðu
-first_page_label=Fara á fyrstu sÃðu
-last_page.title=Fara á sÃðustu sÃðu
-last_page_label=Fara á sÃðustu sÃðu
-page_rotate_cw.title=Snúa réttsælis
-page_rotate_cw_label=Snúa réttsælis
-page_rotate_ccw.title=Snúa rangsælis
-page_rotate_ccw_label=Snúa rangsælis
-
-cursor_text_select_tool.title=Virkja textavalsáhald
-cursor_text_select_tool_label=Textavalsáhald
-cursor_hand_tool.title=Virkja handarverkfæri
-cursor_hand_tool_label=Handarverkfæri
-
-scroll_page.title=Nota sÃðuskrun
-scroll_page_label=SÃðuskrun
-scroll_vertical.title=Nota lóðrétt skrun
-scroll_vertical_label=Lóðrétt skrun
-scroll_horizontal.title=Nota lárétt skrun
-scroll_horizontal_label=Lárétt skrun
-scroll_wrapped.title=Nota lÃnuskipt sÃðuskrun
-scroll_wrapped_label=LÃnuskipt sÃðuskrun
-
-spread_none.title=Ekki taka þátt à dreifingu sÃðna
-spread_none_label=Engin dreifing
-spread_odd.title=Taka þátt à dreifingu sÃðna með oddatölum
-spread_odd_label=Oddatöludreifing
-spread_even.title=Taktu þátt à dreifingu sÃðna með jöfnuntölum
-spread_even_label=Jafnatöludreifing
-
-# Document properties dialog box
-document_properties.title=Eiginleikar skjals…
-document_properties_label=Eiginleikar skjals…
-document_properties_file_name=Skráarnafn:
-document_properties_file_size=Skrárstærð:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Titill:
-document_properties_author=Hönnuður:
-document_properties_subject=Efni:
-document_properties_keywords=Stikkorð:
-document_properties_creation_date=Búið til:
-document_properties_modification_date=Dags breytingar:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Höfundur:
-document_properties_producer=PDF framleiðandi:
-document_properties_version=PDF útgáfa:
-document_properties_page_count=BlaðsÃðufjöldi:
-document_properties_page_size=Stærð sÃðu:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=skammsnið
-document_properties_page_size_orientation_landscape=langsnið
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fljótleg vefskoðun:
-document_properties_linearized_yes=Já
-document_properties_linearized_no=Nei
-document_properties_close=Loka
-
-print_progress_message=Undirbý skjal fyrir prentun…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Hætta við
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=VÃxla hliðarspjaldi af/á
-toggle_sidebar_notification2.title=VÃxla hliðarslá (skjal inniheldur yfirlit/viðhengi/lög)
-toggle_sidebar_label=VÃxla hliðarspjaldi af/á
-document_outline.title=Sýna yfirlit skjals (tvÃsmelltu til að opna/loka öllum hlutum)
-document_outline_label=Efnisskipan skjals
-attachments.title=Sýna viðhengi
-attachments_label=Viðhengi
-layers.title=Birta lög (tvÃsmelltu til að endurstilla öll lög à sjálfgefna stöðu)
-layers_label=Lög
-thumbs.title=Sýna smámyndir
-thumbs_label=Smámyndir
-current_outline_item.title=Finna núverandi atriði efnisskipunar
-current_outline_item_label=Núverandi atriði efnisskipunar
-findbar.title=Leita à skjali
-findbar_label=Leita
-
-additional_layers=Viðbótarlög
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=SÃða {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=SÃða {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Smámynd af sÃðu {{page}}
-
-# Find panel button title and messages
-find_input.title=Leita
-find_input.placeholder=Leita à skjali…
-find_previous.title=Leita að fyrra tilfelli þessara orða
-find_previous_label=Fyrri
-find_next.title=Leita að næsta tilfelli þessara orða
-find_next_label=Næsti
-find_highlight=Lita allt
-find_match_case_label=Passa við stafstöðu
-find_match_diacritics_label=Passa við broddstafi
-find_entire_word_label=Heil orð
-find_reached_top=Náði efst à skjal, held áfram neðst
-find_reached_bottom=Náði enda skjals, held áfram efst
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} af {{total}} niðurstöðu
-find_match_count[two]={{current}} af {{total}} niðurstöðum
-find_match_count[few]={{current}} af {{total}} niðurstöðum
-find_match_count[many]={{current}} af {{total}} niðurstöðum
-find_match_count[other]={{current}} af {{total}} niðurstöðum
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Fleiri en {{limit}} niðurstöður
-find_match_count_limit[one]=Fleiri en {{limit}} niðurstaða
-find_match_count_limit[two]=Fleiri en {{limit}} niðurstöður
-find_match_count_limit[few]=Fleiri en {{limit}} niðurstöður
-find_match_count_limit[many]=Fleiri en {{limit}} niðurstöður
-find_match_count_limit[other]=Fleiri en {{limit}} niðurstöður
-find_not_found=Fann ekki orðið
-
-# Error panel labels
-error_more_info=Meiri upplýsingar
-error_less_info=Minni upplýsingar
-error_close=Loka
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Skilaboð: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stafli: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Skrá: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=LÃna: {{line}}
-rendering_error=Upp kom villa við að birta sÃðuna.
-
-# Predefined zoom values
-page_scale_width=SÃðubreidd
-page_scale_fit=Passa á sÃðu
-page_scale_auto=Sjálfvirkur aðdráttur
-page_scale_actual=Raunstærð
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Hleður…
-loading_error=Villa kom upp við að hlaða inn PDF.
-invalid_file_error=Ógild eða skemmd PDF skrá.
-missing_file_error=Vantar PDF skrá.
-unexpected_response_error=Óvænt svar frá netþjóni.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Skýring]
-password_label=Sláðu inn lykilorð til að opna þessa PDF skrá.
-password_invalid=Ógilt lykilorð. Reyndu aftur.
-password_ok=Ã lagi
-password_cancel=Hætta við
-
-printing_not_supported=Aðvörun: Prentun er ekki með fyllilegan stuðning á þessum vafra.
-printing_not_ready=Aðvörun: Ekki er búið að hlaða inn allri PDF skránni fyrir prentun.
-web_fonts_disabled=Vef leturgerðir eru óvirkar: get ekki notað innbyggðar PDF leturgerðir.
-
-# Editor
-editor_none.title=Gera breytingar á glósum óvirkar
-editor_none_label=Gera breytingar óvirkar
-editor_free_text.title=Bæta við FreeText-glósu
-editor_free_text_label=FreeText-glósa
-editor_ink.title=Bæta við Ink-glósu
-editor_ink_label=Ink-glósa
-
-freetext_default_content=Settu inn einhvern texta…
-
-free_text_default_content=Settu inn texta…
-
-# Editor Parameters
-editor_free_text_font_color=Litur leturs
-editor_free_text_font_size=Leturstærð
-editor_ink_line_color=LÃnulitur
-editor_ink_line_thickness=LÃnubreidd
-
-# Editor Parameters
-editor_free_text_color=Litur
-editor_free_text_size=Stærð
-editor_ink_color=Litur
-editor_ink_thickness=Þykkt
-editor_ink_opacity=Ógegnsæi
-
-# Editor aria
-editor_free_text_aria_label=FreeText-ritill
-editor_ink_aria_label=Ink-ritill
-editor_ink_canvas_aria_label=Mynd gerð af notanda
diff --git a/static/js/pdf-js/web/locale/it/viewer.properties b/static/js/pdf-js/web/locale/it/viewer.properties
deleted file mode 100644
index 6a2ef4d..0000000
--- a/static/js/pdf-js/web/locale/it/viewer.properties
+++ /dev/null
@@ -1,219 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-previous.title = Pagina precedente
-previous_label = Precedente
-next.title = Pagina successiva
-next_label = Successiva
-
-page.title = Pagina
-of_pages = di {{pagesCount}}
-page_of_pages = ({{pageNumber}} di {{pagesCount}})
-
-zoom_out.title = Riduci zoom
-zoom_out_label = Riduci zoom
-zoom_in.title = Aumenta zoom
-zoom_in_label = Aumenta zoom
-zoom.title = Zoom
-presentation_mode.title = Passa alla modalità presentazione
-presentation_mode_label = Modalità presentazione
-open_file.title = Apri file
-open_file_label = Apri
-print.title = Stampa
-print_label = Stampa
-download.title = Scarica questo documento
-download_label = Download
-bookmark.title = Visualizzazione corrente (copia o apri in una nuova finestra)
-bookmark_label = Visualizzazione corrente
-
-tools.title = Strumenti
-tools_label = Strumenti
-first_page.title = Vai alla prima pagina
-first_page_label = Vai alla prima pagina
-last_page.title = Vai all’ultima pagina
-last_page_label = Vai all’ultima pagina
-page_rotate_cw.title = Ruota in senso orario
-page_rotate_cw_label = Ruota in senso orario
-page_rotate_ccw.title = Ruota in senso antiorario
-page_rotate_ccw_label = Ruota in senso antiorario
-
-cursor_text_select_tool.title = Attiva strumento di selezione testo
-cursor_text_select_tool_label = Strumento di selezione testo
-cursor_hand_tool.title = Attiva strumento mano
-cursor_hand_tool_label = Strumento mano
-
-scroll_page.title = Utilizza scorrimento pagine
-scroll_page_label = Scorrimento pagine
-scroll_vertical.title = Scorri le pagine in verticale
-scroll_vertical_label = Scorrimento verticale
-scroll_horizontal.title = Scorri le pagine in orizzontale
-scroll_horizontal_label = Scorrimento orizzontale
-scroll_wrapped.title = Scorri le pagine in verticale, disponendole da sinistra a destra e andando a capo automaticamente
-scroll_wrapped_label = Scorrimento con a capo automatico
-
-spread_none.title = Non raggruppare pagine
-spread_none_label = Nessun raggruppamento
-spread_odd.title = Crea gruppi di pagine che iniziano con numeri di pagina dispari
-spread_odd_label = Raggruppamento dispari
-spread_even.title = Crea gruppi di pagine che iniziano con numeri di pagina pari
-spread_even_label = Raggruppamento pari
-
-document_properties.title = Proprietà del documento…
-document_properties_label = Proprietà del documento…
-document_properties_file_name = Nome file:
-document_properties_file_size = Dimensione file:
-document_properties_kb = {{size_kb}} kB ({{size_b}} byte)
-document_properties_mb = {{size_mb}} MB ({{size_b}} byte)
-document_properties_title = Titolo:
-document_properties_author = Autore:
-document_properties_subject = Oggetto:
-document_properties_keywords = Parole chiave:
-document_properties_creation_date = Data creazione:
-document_properties_modification_date = Data modifica:
-document_properties_date_string = {{date}}, {{time}}
-document_properties_creator = Autore originale:
-document_properties_producer = Produttore PDF:
-document_properties_version = Versione PDF:
-document_properties_page_count = Conteggio pagine:
-document_properties_page_size = Dimensioni pagina:
-document_properties_page_size_unit_inches = in
-document_properties_page_size_unit_millimeters = mm
-document_properties_page_size_orientation_portrait = verticale
-document_properties_page_size_orientation_landscape = orizzontale
-document_properties_page_size_name_a3 = A3
-document_properties_page_size_name_a4 = A4
-document_properties_page_size_name_letter = Lettera
-document_properties_page_size_name_legal = Legale
-document_properties_page_size_dimension_string = {{width}} × {{height}} {{unit}} ({{orientation}})
-document_properties_page_size_dimension_name_string = {{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-document_properties_linearized = Visualizzazione web veloce:
-document_properties_linearized_yes = Sì
-document_properties_linearized_no = No
-document_properties_close = Chiudi
-
-print_progress_message = Preparazione documento per la stampa…
-print_progress_percent = {{progress}}%
-print_progress_close = Annulla
-
-toggle_sidebar.title = Attiva/disattiva barra laterale
-toggle_sidebar_notification2.title = Attiva/disattiva barra laterale (il documento contiene struttura/allegati/livelli)
-toggle_sidebar_label = Attiva/disattiva barra laterale
-document_outline.title = Visualizza la struttura del documento (doppio clic per visualizzare/comprimere tutti gli elementi)
-document_outline_label = Struttura documento
-attachments.title = Visualizza allegati
-attachments_label = Allegati
-layers.title = Visualizza livelli (doppio clic per ripristinare tutti i livelli allo stato predefinito)
-layers_label = Livelli
-thumbs.title = Mostra le miniature
-thumbs_label = Miniature
-current_outline_item.title = Trova elemento struttura corrente
-current_outline_item_label = Elemento struttura corrente
-findbar.title = Trova nel documento
-findbar_label = Trova
-
-additional_layers = Livelli aggiuntivi
-page_landmark = Pagina {{page}}
-thumb_page_title = Pagina {{page}}
-thumb_page_canvas = Miniatura della pagina {{page}}
-
-find_input.title = Trova
-find_input.placeholder = Trova nel documento…
-find_previous.title = Trova l’occorrenza precedente del testo da cercare
-find_previous_label = Precedente
-find_next.title = Trova l’occorrenza successiva del testo da cercare
-find_next_label = Successivo
-find_highlight = Evidenzia
-find_match_case_label = Maiuscole/minuscole
-find_match_diacritics_label = Segni diacritici
-find_entire_word_label = Parole intere
-find_reached_top = Raggiunto l’inizio della pagina, continua dalla fine
-find_reached_bottom = Raggiunta la fine della pagina, continua dall’inizio
-find_match_count = {[ plural(total) ]}
-find_match_count[one] = {{current}} di {{total}} corrispondenza
-find_match_count[two] = {{current}} di {{total}} corrispondenze
-find_match_count[few] = {{current}} di {{total}} corrispondenze
-find_match_count[many] = {{current}} di {{total}} corrispondenze
-find_match_count[other] = {{current}} di {{total}} corrispondenze
-find_match_count_limit = {[ plural(limit) ]}
-find_match_count_limit[zero] = Più di {{limit}} corrispondenze
-find_match_count_limit[one] = Più di {{limit}} corrispondenza
-find_match_count_limit[two] = Più di {{limit}} corrispondenze
-find_match_count_limit[few] = Più di {{limit}} corrispondenze
-find_match_count_limit[many] = Più di {{limit}} corrispondenze
-find_match_count_limit[other] = Più di {{limit}} corrispondenze
-find_not_found = Testo non trovato
-
-error_more_info = Ulteriori informazioni
-error_less_info = Nascondi dettagli
-error_close = Chiudi
-error_version_info = PDF.js v{{version}} (build: {{build}})
-error_message = Messaggio: {{message}}
-error_stack = Stack: {{stack}}
-error_file = File: {{file}}
-error_line = Riga: {{line}}
-rendering_error = Si è verificato un errore durante il rendering della pagina.
-
-page_scale_width = Larghezza pagina
-page_scale_fit = Adatta a una pagina
-page_scale_auto = Zoom automatico
-page_scale_actual = Dimensioni effettive
-page_scale_percent = {{scale}}%
-
-loading = Caricamento in corso…
-loading_error = Si è verificato un errore durante il caricamento del PDF.
-invalid_file_error = File PDF non valido o danneggiato.
-missing_file_error = File PDF non disponibile.
-unexpected_response_error = Risposta imprevista del server
-
-annotation_date_string = {{date}}, {{time}}
-
-text_annotation_type.alt = [Annotazione: {{type}}]
-password_label = Inserire la password per aprire questo file PDF.
-password_invalid = Password non corretta. Riprovare.
-password_ok = OK
-password_cancel = Annulla
-
-printing_not_supported = Attenzione: la stampa non è completamente supportata da questo browser.
-printing_not_ready = Attenzione: il PDF non è ancora stato caricato completamente per la stampa.
-web_fonts_disabled = I web font risultano disattivati: impossibile utilizzare i caratteri incorporati nel PDF.
-
-# Editor
-editor_none.title = Disattiva modifica annotazioni
-editor_none_label = Disattiva modifica
-editor_free_text.title = Aggiungi annotazione testo libero
-editor_free_text_label = Annotazione testo libero
-editor_ink.title = Aggiungi annotazione a penna
-editor_ink_label = Annotazione a penna
-
-free_text_default_content = Inserisci testo…
-
-# Editor Parameters
-editor_free_text_font_color = Colore carattere
-editor_free_text_font_size = Dimensione carattere
-editor_ink_line_color = Colore linea
-editor_ink_line_thickness = Spessore linea
-editor_free_text_color = Colore
-editor_free_text_size = Dimensione
-editor_ink_color = Colore
-editor_ink_thickness = Spessore
-editor_ink_opacity = OpacitÃ
-
-# Editor aria
-editor_free_text_aria_label = Editor testo libero
-editor_ink_aria_label = Editor penna
-editor_ink_canvas_aria_label = Immagine creata dall’utente
diff --git a/static/js/pdf-js/web/locale/ja/viewer.properties b/static/js/pdf-js/web/locale/ja/viewer.properties
deleted file mode 100644
index 88a9de2..0000000
--- a/static/js/pdf-js/web/locale/ja/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=å‰ã®ãƒšãƒ¼ã‚¸ã¸æˆ»ã‚Šã¾ã™
-previous_label=å‰ã¸
-next.title=次ã®ãƒšãƒ¼ã‚¸ã¸é€²ã¿ã¾ã™
-next_label=次ã¸
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=ページ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=/ {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} / {{pagesCount}})
-
-zoom_out.title=表示を縮å°ã—ã¾ã™
-zoom_out_label=縮å°
-zoom_in.title=表示を拡大ã—ã¾ã™
-zoom_in_label=拡大
-zoom.title=拡大/縮å°
-presentation_mode.title=プレゼンテーションモードã«åˆ‡ã‚Šæ›¿ãˆã¾ã™
-presentation_mode_label=プレゼンテーションモード
-open_file.title=ファイルを開ãã¾ã™
-open_file_label=é–‹ã
-print.title=å°åˆ·ã—ã¾ã™
-print_label=å°åˆ·
-download.title=ダウンãƒãƒ¼ãƒ‰ã—ã¾ã™
-download_label=ダウンãƒãƒ¼ãƒ‰
-bookmark.title=ç¾åœ¨ã®ãƒ“ュー㮠URL ã§ã™ (コピーã¾ãŸã¯æ–°ã—ã„ウィンドウã«é–‹ã)
-bookmark_label=ç¾åœ¨ã®ãƒ“ュー
-
-# Secondary toolbar and context menu
-tools.title=ツール
-tools_label=ツール
-first_page.title=最åˆã®ãƒšãƒ¼ã‚¸ã¸ç§»å‹•ã—ã¾ã™
-first_page_label=最åˆã®ãƒšãƒ¼ã‚¸ã¸ç§»å‹•
-last_page.title=最後ã®ãƒšãƒ¼ã‚¸ã¸ç§»å‹•ã—ã¾ã™
-last_page_label=最後ã®ãƒšãƒ¼ã‚¸ã¸ç§»å‹•
-page_rotate_cw.title=ページをå³ã¸å›žè»¢ã—ã¾ã™
-page_rotate_cw_label=å³å›žè»¢
-page_rotate_ccw.title=ページを左ã¸å›žè»¢ã—ã¾ã™
-page_rotate_ccw_label=左回転
-
-cursor_text_select_tool.title=テã‚ã‚¹ãƒˆé¸æŠžãƒ„ãƒ¼ãƒ«ã‚’æœ‰åŠ¹ã«ã—ã¾ã™
-cursor_text_select_tool_label=テã‚ã‚¹ãƒˆé¸æŠžãƒ„ãƒ¼ãƒ«
-cursor_hand_tool.title=手ã®ã²ã‚‰ãƒ„ールを有効ã«ã—ã¾ã™
-cursor_hand_tool_label=手ã®ã²ã‚‰ãƒ„ール
-
-scroll_page.title=ページå˜ä½ã§ã‚¹ã‚¯ãƒãƒ¼ãƒ«ã—ã¾ã™
-scroll_page_label=ページå˜ä½ã§ã‚¹ã‚¯ãƒãƒ¼ãƒ«
-scroll_vertical.title=縦スクãƒãƒ¼ãƒ«ã«ã—ã¾ã™
-scroll_vertical_label=縦スクãƒãƒ¼ãƒ«
-scroll_horizontal.title=横スクãƒãƒ¼ãƒ«ã«ã—ã¾ã™
-scroll_horizontal_label=横スクãƒãƒ¼ãƒ«
-scroll_wrapped.title=折り返ã—スクãƒãƒ¼ãƒ«ã«ã—ã¾ã™
-scroll_wrapped_label=折り返ã—スクãƒãƒ¼ãƒ«
-
-spread_none.title=見開ãã«ã—ã¾ã›ã‚“
-spread_none_label=見開ãã«ã—ãªã„
-spread_odd.title=奇数ページ開始ã§è¦‹é–‹ãã«ã—ã¾ã™
-spread_odd_label=奇数ページ見開ã
-spread_even.title=å¶æ•°ãƒšãƒ¼ã‚¸é–‹å§‹ã§è¦‹é–‹ãã«ã—ã¾ã™
-spread_even_label=å¶æ•°ãƒšãƒ¼ã‚¸è¦‹é–‹ã
-
-# Document properties dialog box
-document_properties.title=文書ã®ãƒ—ãƒãƒ‘ティ...
-document_properties_label=文書ã®ãƒ—ãƒãƒ‘ティ...
-document_properties_file_name=ファイルå:
-document_properties_file_size=ファイルサイズ:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} ãƒã‚¤ãƒˆ)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} ãƒã‚¤ãƒˆ)
-document_properties_title=タイトル:
-document_properties_author=作æˆè€…:
-document_properties_subject=ä»¶å:
-document_properties_keywords=ã‚ーワード:
-document_properties_creation_date=ä½œæˆæ—¥:
-document_properties_modification_date=æ›´æ–°æ—¥:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=アプリケーション:
-document_properties_producer=PDF 作æˆ:
-document_properties_version=PDF ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³:
-document_properties_page_count=ページ数:
-document_properties_page_size=ページサイズ:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=縦
-document_properties_page_size_orientation_landscape=横
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=レター
-document_properties_page_size_name_legal=リーガル
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=ã‚¦ã‚§ãƒ–è¡¨ç¤ºç”¨ã«æœ€é©åŒ–:
-document_properties_linearized_yes=ã¯ã„
-document_properties_linearized_no=ã„ã„ãˆ
-document_properties_close=é–‰ã˜ã‚‹
-
-print_progress_message=文書ã®å°åˆ·ã‚’準備ã—ã¦ã„ã¾ã™...
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=ã‚ャンセル
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=サイドãƒãƒ¼è¡¨ç¤ºã‚’切り替ãˆã¾ã™
-toggle_sidebar_notification2.title=サイドãƒãƒ¼è¡¨ç¤ºã‚’切り替ãˆã¾ã™ (文書ã«å«ã¾ã‚Œã‚‹ã‚¢ã‚¦ãƒˆãƒ©ã‚¤ãƒ³ / 添付 / レイヤー)
-toggle_sidebar_label=サイドãƒãƒ¼ã®åˆ‡ã‚Šæ›¿ãˆ
-document_outline.title=文書ã®ç›®æ¬¡ã‚’表示ã—ã¾ã™ (ダブルクリックã§é …目を開閉ã—ã¾ã™)
-document_outline_label=文書ã®ç›®æ¬¡
-attachments.title=添付ファイルを表示ã—ã¾ã™
-attachments_label=添付ファイル
-layers.title=レイヤーを表示ã—ã¾ã™ (ダブルクリックã§ã™ã¹ã¦ã®ãƒ¬ã‚¤ãƒ¤ãƒ¼ãŒåˆæœŸçŠ¶æ…‹ã«æˆ»ã‚Šã¾ã™)
-layers_label=レイヤー
-thumbs.title=縮å°ç‰ˆã‚’表示ã—ã¾ã™
-thumbs_label=縮å°ç‰ˆ
-current_outline_item.title=ç¾åœ¨ã®ã‚¢ã‚¦ãƒˆãƒ©ã‚¤ãƒ³é …目を検索
-current_outline_item_label=ç¾åœ¨ã®ã‚¢ã‚¦ãƒˆãƒ©ã‚¤ãƒ³é …ç›®
-findbar.title=文書内を検索ã—ã¾ã™
-findbar_label=検索
-
-additional_layers=è¿½åŠ ãƒ¬ã‚¤ãƒ¤ãƒ¼
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark={{page}} ページ
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}} ページ
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} ページã®ç¸®å°ç‰ˆ
-
-# Find panel button title and messages
-find_input.title=検索
-find_input.placeholder=文書内を検索...
-find_previous.title=ç¾åœ¨ã‚ˆã‚Šå‰ã®ä½ç½®ã§æŒ‡å®šæ–‡å—列ãŒç¾ã‚Œã‚‹éƒ¨åˆ†ã‚’検索ã—ã¾ã™
-find_previous_label=å‰ã¸
-find_next.title=ç¾åœ¨ã‚ˆã‚Šå¾Œã®ä½ç½®ã§æŒ‡å®šæ–‡å—列ãŒç¾ã‚Œã‚‹éƒ¨åˆ†ã‚’検索ã—ã¾ã™
-find_next_label=次ã¸
-find_highlight=ã™ã¹ã¦å¼·èª¿è¡¨ç¤º
-find_match_case_label=大文å—/å°æ–‡å—を区別
-find_match_diacritics_label=発音区別符å·ã‚’区別
-find_entire_word_label=å˜èªžä¸€è‡´
-find_reached_top=文書先é ã«åˆ°é”ã—ãŸã®ã§æœ«å°¾ã‹ã‚‰ç¶šã‘ã¦æ¤œç´¢ã—ã¾ã™
-find_reached_bottom=文書末尾ã«åˆ°é”ã—ãŸã®ã§å…ˆé ã‹ã‚‰ç¶šã‘ã¦æ¤œç´¢ã—ã¾ã™
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{total}} ä»¶ä¸ {{current}} ä»¶ç›®
-find_match_count[two]={{total}} ä»¶ä¸ {{current}} ä»¶ç›®
-find_match_count[few]={{total}} ä»¶ä¸ {{current}} ä»¶ç›®
-find_match_count[many]={{total}} ä»¶ä¸ {{current}} ä»¶ç›®
-find_match_count[other]={{total}} ä»¶ä¸ {{current}} ä»¶ç›®
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}} 件以上一致
-find_match_count_limit[one]={{limit}} 件以上一致
-find_match_count_limit[two]={{limit}} 件以上一致
-find_match_count_limit[few]={{limit}} 件以上一致
-find_match_count_limit[many]={{limit}} 件以上一致
-find_match_count_limit[other]={{limit}} 件以上一致
-find_not_found=見ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ
-
-# Error panel labels
-error_more_info=è©³ç´°æƒ…å ±
-error_less_info=è©³ç´°æƒ…å ±ã‚’éš ã™
-error_close=é–‰ã˜ã‚‹
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (ビルド: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=メッセージ: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=スタック: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ファイル: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=行: {{line}}
-rendering_error=ページã®ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°ä¸ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚
-
-# Predefined zoom values
-page_scale_width=å¹…ã«åˆã‚ã›ã‚‹
-page_scale_fit=ページã®ã‚µã‚¤ã‚ºã«åˆã‚ã›ã‚‹
-page_scale_auto=自動ズーãƒ
-page_scale_actual=実際ã®ã‚µã‚¤ã‚º
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=èªã¿è¾¼ã¿ä¸...
-loading_error=PDF ã®èªã¿è¾¼ã¿ä¸ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚
-invalid_file_error=無効ã¾ãŸã¯ç ´æã—㟠PDF ファイル。
-missing_file_error=PDF ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。
-unexpected_response_error=サーãƒãƒ¼ã‹ã‚‰äºˆæœŸã›ã¬å¿œç”ãŒã‚りã¾ã—ãŸã€‚
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} 注釈]
-password_label=ã“ã® PDF ファイルを開ããŸã‚ã®ãƒ‘スワードを入力ã—ã¦ãã ã•ã„。
-password_invalid=無効ãªãƒ‘スワードã§ã™ã€‚ã‚‚ã†ä¸€åº¦ã‚„り直ã—ã¦ãã ã•ã„。
-password_ok=OK
-password_cancel=ã‚ャンセル
-
-printing_not_supported=è¦å‘Š: ã“ã®ãƒ–ラウザーã§ã¯å°åˆ·ãŒå®Œå…¨ã«ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“。
-printing_not_ready=è¦å‘Š: PDF ã‚’å°åˆ·ã™ã‚‹ãŸã‚ã®èªã¿è¾¼ã¿ãŒçµ‚了ã—ã¦ã„ã¾ã›ã‚“。
-web_fonts_disabled=ウェブフォントãŒç„¡åйã«ãªã£ã¦ã„ã¾ã™: 埋ã‚è¾¼ã¾ã‚ŒãŸ PDF ã®ãƒ•ォントを使用ã§ãã¾ã›ã‚“。
-
-# Editor
-editor_none.title=注釈ã®ç·¨é›†ã‚’無効ã«ã™ã‚‹
-editor_none_label=編集を無効ã«ã™ã‚‹
-editor_free_text.title=フリーテã‚スト注釈を追åŠ
-editor_free_text_label=フリーテã‚スト注釈
-editor_ink.title=インク注釈を追åŠ
-editor_ink_label=インク注釈
-
-freetext_default_content=テã‚ストを入力ã—ã¦ãã ã•ã„...
-
-free_text_default_content=テã‚ストを入力ã—ã¦ãã ã•ã„...
-
-# Editor Parameters
-editor_free_text_font_color=フォントã®è‰²
-editor_free_text_font_size=フォントサイズ
-editor_ink_line_color=ç·šã®è‰²
-editor_ink_line_thickness=ç·šã®å¤ªã•
-
-# Editor Parameters
-editor_free_text_color=色
-editor_free_text_size=サイズ
-editor_ink_color=色
-editor_ink_thickness=太ã•
-editor_ink_opacity=ä¸é€æ˜Žåº¦
-
-# Editor aria
-editor_free_text_aria_label=フリーテã‚スト注釈エディター
-editor_ink_aria_label=インク注釈エディター
-editor_ink_canvas_aria_label=ユーザー作æˆç”»åƒ
diff --git a/static/js/pdf-js/web/locale/ka/viewer.properties b/static/js/pdf-js/web/locale/ka/viewer.properties
deleted file mode 100644
index 14bddd4..0000000
--- a/static/js/pdf-js/web/locale/ka/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=წინრგვერდი
-previous_label=წინáƒ
-next.title=შემდეგი გვერდი
-next_label=შემდეგი
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=გვერდი
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}}-დáƒáƒœ
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} {{pagesCount}}-დáƒáƒœ)
-
-zoom_out.title=ზáƒáƒ›áƒ˜áƒ¡ შემცირებáƒ
-zoom_out_label=დáƒáƒ¨áƒáƒ ებáƒ
-zoom_in.title=ზáƒáƒ›áƒ˜áƒ¡ გáƒáƒ–რდáƒ
-zoom_in_label=მáƒáƒáƒ®áƒšáƒáƒ”ბáƒ
-zoom.title=ზáƒáƒ›áƒ
-presentation_mode.title=ჩვენების რეჟიმზე გáƒáƒ“áƒáƒ თვáƒ
-presentation_mode_label=ჩვენების რეჟიმი
-open_file.title=ფáƒáƒ˜áƒšáƒ˜áƒ¡ გáƒáƒ®áƒ¡áƒœáƒ
-open_file_label=გáƒáƒ®áƒ¡áƒœáƒ
-print.title=áƒáƒ›áƒáƒ‘ეáƒáƒ“ვáƒ
-print_label=áƒáƒ›áƒáƒ‘ეáƒáƒ“ვáƒ
-download.title=ჩáƒáƒ›áƒáƒ¢áƒ•ირთვáƒ
-download_label=ჩáƒáƒ›áƒáƒ¢áƒ•ირთვáƒ
-bookmark.title=მიმდინáƒáƒ ე ხედი (áƒáƒ¡áƒšáƒ˜áƒ¡ áƒáƒ¦áƒ”ბრáƒáƒœ გáƒáƒ®áƒ¡áƒœáƒ áƒáƒ®áƒáƒš ფáƒáƒœáƒ¯áƒáƒ áƒáƒ¨áƒ˜)
-bookmark_label=მიმდინáƒáƒ ე ხედი
-
-# Secondary toolbar and context menu
-tools.title=ხელსáƒáƒ¬áƒ§áƒáƒ”ბი
-tools_label=ხელსáƒáƒ¬áƒ§áƒáƒ”ბი
-first_page.title=პირველ გვერდზე გáƒáƒ“áƒáƒ¡áƒ•ლáƒ
-first_page_label=პირველ გვერდზე გáƒáƒ“áƒáƒ¡áƒ•ლáƒ
-last_page.title=ბáƒáƒšáƒ გვერდზე გáƒáƒ“áƒáƒ¡áƒ•ლáƒ
-last_page_label=ბáƒáƒšáƒ გვერდზე გáƒáƒ“áƒáƒ¡áƒ•ლáƒ
-page_rotate_cw.title=სáƒáƒáƒ—ის ისრის მიმáƒáƒ თულებით შებრუნებáƒ
-page_rotate_cw_label=მáƒáƒ ჯვნივ გáƒáƒ“áƒáƒ‘რუნებáƒ
-page_rotate_ccw.title=სáƒáƒáƒ—ის ისრის სáƒáƒžáƒ˜áƒ ისპირáƒáƒ“ შებრუნებáƒ
-page_rotate_ccw_label=მáƒáƒ ცხნივ გáƒáƒ“áƒáƒ‘რუნებáƒ
-
-cursor_text_select_tool.title=მáƒáƒ¡áƒáƒœáƒ˜áƒ¨áƒœáƒ˜ მáƒáƒ©áƒ•ენებლის გáƒáƒ›áƒáƒ§áƒ”ნებáƒ
-cursor_text_select_tool_label=მáƒáƒ¡áƒáƒœáƒ˜áƒ¨áƒœáƒ˜ მáƒáƒ©áƒ•ენებელი
-cursor_hand_tool.title=გáƒáƒ“áƒáƒ¡áƒáƒáƒ“გილებელი მáƒáƒ©áƒ•ენებლის გáƒáƒ›áƒáƒ§áƒ”ნებáƒ
-cursor_hand_tool_label=გáƒáƒ“áƒáƒ¡áƒáƒáƒ“გილებელი
-
-scroll_page.title=გვერდზე გáƒáƒ“áƒáƒáƒ“გილების გáƒáƒ›áƒáƒ§áƒ”ნებáƒ
-scroll_page_label=გვერდზე გáƒáƒ“áƒáƒáƒ“გილებáƒ
-scroll_vertical.title=გვერდების შვეულáƒáƒ“ ჩვენებáƒ
-scroll_vertical_label=შვეული გáƒáƒ“áƒáƒáƒ“გილებáƒ
-scroll_horizontal.title=გვერდების თáƒáƒ áƒáƒ–ულáƒáƒ“ ჩვენებáƒ
-scroll_horizontal_label=გáƒáƒœáƒ˜áƒ•ი გáƒáƒ“áƒáƒáƒ“გილებáƒ
-scroll_wrapped.title=გვერდების ცხრილურáƒáƒ“ ჩვენებáƒ
-scroll_wrapped_label=ცხრილური გáƒáƒ“áƒáƒáƒ“გილებáƒ
-
-spread_none.title=áƒáƒ გვერდზე გáƒáƒ¨áƒšáƒ˜áƒ¡ გáƒáƒ ეშე
-spread_none_label=ცáƒáƒšáƒ’ვერდიáƒáƒœáƒ˜ ჩვენებáƒ
-spread_odd.title=áƒáƒ გვერდზე გáƒáƒ¨áƒšáƒ, კენტი გვერდიდáƒáƒœ დáƒáƒ¬áƒ§áƒ”ბული
-spread_odd_label=áƒáƒ გვერდზე კენტიდáƒáƒœ
-spread_even.title=áƒáƒ გვერდზე გáƒáƒ¨áƒšáƒ, ლუწი გვერდიდáƒáƒœ დáƒáƒ¬áƒ§áƒ”ბული
-spread_even_label=áƒáƒ გვერდზე ლუწიდáƒáƒœ
-
-# Document properties dialog box
-document_properties.title=დáƒáƒ™áƒ£áƒ›áƒ”ნტის შესáƒáƒ®áƒ”ბ…
-document_properties_label=დáƒáƒ™áƒ£áƒ›áƒ”ნტის შესáƒáƒ®áƒ”ბ…
-document_properties_file_name=ფáƒáƒ˜áƒšáƒ˜áƒ¡ სáƒáƒ®áƒ”ლი:
-document_properties_file_size=ფáƒáƒ˜áƒšáƒ˜áƒ¡ მáƒáƒªáƒ£áƒšáƒáƒ‘áƒ:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} კბ ({{size_b}} ბáƒáƒ˜áƒ¢áƒ˜)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} მბ ({{size_b}} ბáƒáƒ˜áƒ¢áƒ˜)
-document_properties_title=სáƒáƒ—áƒáƒ£áƒ ი:
-document_properties_author=შემქმნელი:
-document_properties_subject=თემáƒ:
-document_properties_keywords=სáƒáƒ™áƒ•áƒáƒœáƒ«áƒ სიტყვები:
-document_properties_creation_date=შექმნის დრáƒ:
-document_properties_modification_date=ჩáƒáƒ¡áƒ¬áƒáƒ ების დრáƒ:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=გáƒáƒ›áƒáƒ›áƒ¨áƒ•ები:
-document_properties_producer=PDF-გáƒáƒ›áƒáƒ›áƒ¨áƒ•ები:
-document_properties_version=PDF-ვერსიáƒ:
-document_properties_page_count=გვერდები:
-document_properties_page_size=გვერდის ზáƒáƒ›áƒ:
-document_properties_page_size_unit_inches=დუიმი
-document_properties_page_size_unit_millimeters=მმ
-document_properties_page_size_orientation_portrait=შვეულáƒáƒ“
-document_properties_page_size_orientation_landscape=თáƒáƒ áƒáƒ–ულáƒáƒ“
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=მსუბუქი ვებჩვენებáƒ:
-document_properties_linearized_yes=დიáƒáƒ®
-document_properties_linearized_no=áƒáƒ áƒ
-document_properties_close=დáƒáƒ®áƒ£áƒ ვáƒ
-
-print_progress_message=დáƒáƒ™áƒ£áƒ›áƒ”ნტი მზáƒáƒ“დებრáƒáƒ›áƒáƒ¡áƒáƒ‘ეáƒáƒ“áƒáƒ“…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=გáƒáƒ£áƒ¥áƒ›áƒ”ბáƒ
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=გვერდითრზáƒáƒšáƒ˜áƒ¡ გáƒáƒ›áƒáƒ©áƒ”ნáƒ/დáƒáƒ›áƒáƒšáƒ•áƒ
-toggle_sidebar_notification2.title=გვერდითი ზáƒáƒšáƒ˜áƒ¡ გáƒáƒ›áƒáƒ©áƒ”ნრ(შეიცáƒáƒ•ს სáƒáƒ ჩევს/დáƒáƒœáƒáƒ თს/ფენებს)
-toggle_sidebar_label=გვერდითრზáƒáƒšáƒ˜áƒ¡ გáƒáƒ›áƒáƒ©áƒ”ნáƒ/დáƒáƒ›áƒáƒšáƒ•áƒ
-document_outline.title=დáƒáƒ™áƒ£áƒ›áƒ”ნტის სáƒáƒ ჩევის ჩვენებრ(áƒáƒ მáƒáƒ’ი წკáƒáƒžáƒ˜áƒ— თითáƒáƒ”ულის ჩáƒáƒ›áƒáƒ¨áƒšáƒ/áƒáƒ™áƒ”ცვáƒ)
-document_outline_label=დáƒáƒ™áƒ£áƒ›áƒ”ნტის სáƒáƒ ჩევი
-attachments.title=დáƒáƒœáƒáƒ თების ჩვენებáƒ
-attachments_label=დáƒáƒœáƒáƒ თები
-layers.title=ფენების გáƒáƒ›áƒáƒ©áƒ”ნრ(áƒáƒ მáƒáƒ’ი წკáƒáƒžáƒ˜áƒ— ყველრფენის ნáƒáƒ’ულისხმევზე დáƒáƒ‘რუნებáƒ)
-layers_label=ფენები
-thumbs.title=შეთვáƒáƒšáƒ˜áƒ”რებáƒ
-thumbs_label=ესკიზები
-current_outline_item.title=მიმდინáƒáƒ ე გვერდის მáƒáƒœáƒáƒ®áƒ•რსáƒáƒ ჩევში
-current_outline_item_label=მიმდინáƒáƒ ე გვერდი სáƒáƒ ჩევში
-findbar.title=პáƒáƒ•ნრდáƒáƒ™áƒ£áƒ›áƒ”ნტში
-findbar_label=ძიებáƒ
-
-additional_layers=დáƒáƒ›áƒáƒ¢áƒ”ბითი ფენები
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=გვერდი {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=გვერდი {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=გვერდის შეთვáƒáƒšáƒ˜áƒ”რებრ{{page}}
-
-# Find panel button title and messages
-find_input.title=ძიებáƒ
-find_input.placeholder=პáƒáƒ•ნრდáƒáƒ™áƒ£áƒ›áƒ”ნტში…
-find_previous.title=ფრáƒáƒ–ის წინრკáƒáƒœáƒ¢áƒ”ქსტის პáƒáƒ•ნáƒ
-find_previous_label=წინáƒ
-find_next.title=ფრáƒáƒ–ის შემდეგი კáƒáƒœáƒ¢áƒ”ქსტის პáƒáƒ•ნáƒ
-find_next_label=შემდეგი
-find_highlight=ყველáƒáƒ¡ მáƒáƒœáƒ˜áƒ¨áƒ•ნáƒ
-find_match_case_label=მთáƒáƒ•რულით
-find_match_diacritics_label=ნიშნებით
-find_entire_word_label=მთლიáƒáƒœáƒ˜ სიტყვები
-find_reached_top=მიღწეულირდáƒáƒ™áƒ£áƒ›áƒ”ნტის დáƒáƒ¡áƒáƒ¬áƒ§áƒ˜áƒ¡áƒ˜, გრძელდებრბáƒáƒšáƒáƒ“áƒáƒœ
-find_reached_bottom=მიღწეულირდáƒáƒ™áƒ£áƒ›áƒ”ნტის ბáƒáƒšáƒ, გრძელდებრდáƒáƒ¡áƒáƒ¬áƒ§áƒ˜áƒ¡áƒ˜áƒ“áƒáƒœ
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} / {{total}} თáƒáƒœáƒ®áƒ•ედრიდáƒáƒœ
-find_match_count[two]={{current}} / {{total}} თáƒáƒœáƒ®áƒ•ედრიდáƒáƒœ
-find_match_count[few]={{current}} / {{total}} თáƒáƒœáƒ®áƒ•ედრიდáƒáƒœ
-find_match_count[many]={{current}} / {{total}} თáƒáƒœáƒ®áƒ•ედრიდáƒáƒœ
-find_match_count[other]={{current}} / {{total}} თáƒáƒœáƒ®áƒ•ედრიდáƒáƒœ
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=áƒáƒ áƒáƒœáƒáƒ™áƒšáƒ”ბ {{limit}} თáƒáƒœáƒ®áƒ•ედრáƒ
-find_match_count_limit[one]=áƒáƒ áƒáƒœáƒáƒ™áƒšáƒ”ბ {{limit}} თáƒáƒœáƒ®áƒ•ედრáƒ
-find_match_count_limit[two]=áƒáƒ áƒáƒœáƒáƒ™áƒšáƒ”ბ {{limit}} თáƒáƒœáƒ®áƒ•ედრáƒ
-find_match_count_limit[few]=áƒáƒ áƒáƒœáƒáƒ™áƒšáƒ”ბ {{limit}} თáƒáƒœáƒ®áƒ•ედრáƒ
-find_match_count_limit[many]=áƒáƒ áƒáƒœáƒáƒ™áƒšáƒ”ბ {{limit}} თáƒáƒœáƒ®áƒ•ედრáƒ
-find_match_count_limit[other]=áƒáƒ áƒáƒœáƒáƒ™áƒšáƒ”ბ {{limit}} თáƒáƒœáƒ®áƒ•ედრáƒ
-find_not_found=ფრáƒáƒ–რვერმáƒáƒ˜áƒ«áƒ”ბნáƒ
-
-# Error panel labels
-error_more_info=ვრცლáƒáƒ“
-error_less_info=შემáƒáƒ™áƒšáƒ”ბულáƒáƒ“
-error_close=დáƒáƒ®áƒ£áƒ ვáƒ
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=შეტყáƒáƒ‘ინებáƒ: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=სტეკი: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ფáƒáƒ˜áƒšáƒ˜: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=ხáƒáƒ–ი: {{line}}
-rendering_error=შეცდáƒáƒ›áƒ, გვერდის ჩვენებისáƒáƒ¡.
-
-# Predefined zoom values
-page_scale_width=გვერდის სიგáƒáƒœáƒ”ზე
-page_scale_fit=მთლიáƒáƒœáƒ˜ გვერდი
-page_scale_auto=áƒáƒ•ტáƒáƒ›áƒáƒ¢áƒ£áƒ ი
-page_scale_actual=სáƒáƒ¬áƒ§áƒ˜áƒ¡áƒ˜ ზáƒáƒ›áƒ
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=ჩáƒáƒ¢áƒ•ირთვáƒâ€¦
-loading_error=შეცდáƒáƒ›áƒ, PDF-ფáƒáƒ˜áƒšáƒ˜áƒ¡ ჩáƒáƒ¢áƒ•ირთვისáƒáƒ¡.
-invalid_file_error=áƒáƒ áƒáƒ›áƒáƒ თებული áƒáƒœ დáƒáƒ–იáƒáƒœáƒ”ბული PDF-ფáƒáƒ˜áƒšáƒ˜.
-missing_file_error=ნáƒáƒ™áƒšáƒ£áƒšáƒ˜ PDF-ფáƒáƒ˜áƒšáƒ˜.
-unexpected_response_error=სერვერის მáƒáƒ£áƒšáƒáƒ“ნელი პáƒáƒ¡áƒ£áƒ®áƒ˜.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} შენიშვნáƒ]
-password_label=შეიყვáƒáƒœáƒ”თ პáƒáƒ áƒáƒšáƒ˜ PDF-ფáƒáƒ˜áƒšáƒ˜áƒ¡ გáƒáƒ¡áƒáƒ®áƒ¡áƒœáƒ”ლáƒáƒ“.
-password_invalid=áƒáƒ áƒáƒ¡áƒ¬áƒáƒ ი პáƒáƒ áƒáƒšáƒ˜. გთხáƒáƒ•თ, სცáƒáƒ“áƒáƒ— ხელáƒáƒ®áƒšáƒ.
-password_ok=კáƒáƒ გი
-password_cancel=გáƒáƒ£áƒ¥áƒ›áƒ”ბáƒ
-
-printing_not_supported=გáƒáƒ¤áƒ თხილებáƒ: áƒáƒ›áƒáƒ‘ეáƒáƒ“ვრáƒáƒ› ბრáƒáƒ£áƒ–ერში áƒáƒ áƒáƒ სრულáƒáƒ“ მხáƒáƒ დáƒáƒáƒ”რილი.
-printing_not_ready=გáƒáƒ¤áƒ თხილებáƒ: PDF სრულáƒáƒ“ ჩáƒáƒ¢áƒ•ირთული áƒáƒ áƒáƒ, áƒáƒ›áƒáƒ‘ეáƒáƒ“ვის დáƒáƒ¡áƒáƒ¬áƒ§áƒ”ბáƒáƒ“.
-web_fonts_disabled=ვებშრიფტები გáƒáƒ›áƒáƒ თულიáƒ: ჩáƒáƒ¨áƒ”ნებული PDF-შრიფტების გáƒáƒ›áƒáƒ§áƒ”ნებრვერხერხდებáƒ.
-
-# Editor
-editor_none.title=შენიშვნის ჩáƒáƒ¡áƒ¬áƒáƒ ების გáƒáƒ—იშვáƒ
-editor_none_label=ჩáƒáƒ¡áƒ¬áƒáƒ ების გáƒáƒ—იშვáƒ
-editor_free_text.title=FreeText-სáƒáƒ®áƒ˜áƒ¡ შენიშვნის დáƒáƒ თვáƒ
-editor_free_text_label=FreeText-სáƒáƒ®áƒ˜áƒ¡ შენიშვნáƒ
-editor_ink.title=ხელნáƒáƒ¬áƒ”რი შენიშვნის დáƒáƒ თვáƒ
-editor_ink_label=ხელნáƒáƒ¬áƒ”რი შენიშვნáƒ
-
-freetext_default_content=შეიყვáƒáƒœáƒ”თ რáƒáƒ›áƒ” ტექსტი…
-
-free_text_default_content=შეიყვáƒáƒœáƒ”თ ტექსტი…
-
-# Editor Parameters
-editor_free_text_font_color=შრიფტის ფერი
-editor_free_text_font_size=შრიფტის ზáƒáƒ›áƒ
-editor_ink_line_color=ხáƒáƒ–ის ფერი
-editor_ink_line_thickness=ხáƒáƒ–ის სისქე
-
-# Editor Parameters
-editor_free_text_color=ფერი
-editor_free_text_size=ზáƒáƒ›áƒ
-editor_ink_color=ფერი
-editor_ink_thickness=სისქე
-editor_ink_opacity=გáƒáƒ£áƒ›áƒáƒ•ირვáƒáƒšáƒáƒ‘áƒ
-
-# Editor aria
-editor_free_text_aria_label=FreeText-ჩáƒáƒ›áƒ¡áƒ¬áƒáƒ ებელი
-editor_ink_aria_label=ხელნáƒáƒ¬áƒ”რის ჩáƒáƒ›áƒ¡áƒ¬áƒáƒ ებელი
-editor_ink_canvas_aria_label=მáƒáƒ›áƒ®áƒ›áƒáƒ ებლის შექმნილი სურáƒáƒ—ი
diff --git a/static/js/pdf-js/web/locale/kab/viewer.properties b/static/js/pdf-js/web/locale/kab/viewer.properties
deleted file mode 100644
index 1b53855..0000000
--- a/static/js/pdf-js/web/locale/kab/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Asebter azewwar
-previous_label=Azewwar
-next.title=Asebter d-iteddun
-next_label=Ddu ɣer zdat
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Asebter
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=É£ef {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} n {{pagesCount}})
-
-zoom_out.title=Semẓi
-zoom_out_label=Semẓi
-zoom_in.title=Semɣeṛ
-zoom_in_label=Semɣeṛ
-zoom.title=Semɣeṛ/Semẓi
-presentation_mode.title=Uɣal ɣer Uskar Tihawt
-presentation_mode_label=Askar Tihawt
-open_file.title=Ldi Afaylu
-open_file_label=Ldi
-print.title=Siggez
-print_label=Siggez
-download.title=Sader
-download_label=Azdam
-bookmark.title=Timeẓri tamirant (nɣel neɣ ldi ɣef usfaylu amaynut)
-bookmark_label=Askan amiran
-
-# Secondary toolbar and context menu
-tools.title=Ifecka
-tools_label=Ifecka
-first_page.title=Ddu ɣer usebter amezwaru
-first_page_label=Ddu ɣer usebter amezwaru
-last_page.title=Ddu ɣer usebter aneggaru
-last_page_label=Ddu ɣer usebter aneggaru
-page_rotate_cw.title=Tuzzya tusrigt
-page_rotate_cw_label=Tuzzya tusrigt
-page_rotate_ccw.title=Tuzzya amgal-usrig
-page_rotate_ccw_label=Tuzzya amgal-usrig
-
-cursor_text_select_tool.title=Rmed afecku n tefrant n uá¸ris
-cursor_text_select_tool_label=Afecku n tefrant n uá¸ris
-cursor_hand_tool.title=Rmed afecku afus
-cursor_hand_tool_label=Afecku afus
-
-scroll_page.title=Seqdec adrurem n usebter
-scroll_page_label=Adrurem n usebter
-scroll_vertical.title=Seqdec adrurem ubdid
-scroll_vertical_label=Adrurem ubdid
-scroll_horizontal.title=Seqdec adrurem aglawan
-scroll_horizontal_label=Adrurem aglawan
-scroll_wrapped.title=Seqdec adrurem yuẓen
-scroll_wrapped_label=Adrurem yuẓen
-
-spread_none.title=Ur sedday ara isiɣzaf n usebter
-spread_none_label=Ulac isiɣzaf
-spread_odd.title=Seddu isiɣzaf n usebter ibeddun s yisebtar irayuganen
-spread_odd_label=Isiɣzaf irayuganen
-spread_even.title=Seddu isiɣzaf n usebter ibeddun s yisebtar iyuganen
-spread_even_label=Isiɣzaf iyuganen
-
-# Document properties dialog box
-document_properties.title=Taɣaṛa n isemli…
-document_properties_label=Taɣaṛa n isemli…
-document_properties_file_name=Isem n ufaylu:
-document_properties_file_size=Teɣzi n ufaylu:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KAṬ ({{size_b}} ibiten)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MAṬ ({{size_b}} iá¹amá¸anen)
-document_properties_title=Azwel:
-document_properties_author=Ameskar:
-document_properties_subject=Amgay:
-document_properties_keywords=Awalen n tsaruţ
-document_properties_creation_date=Azemz n tmerna:
-document_properties_modification_date=Azemz n usnifel:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Yerna-t:
-document_properties_producer=Afecku n uselket PDF:
-document_properties_version=Lqem PDF:
-document_properties_page_count=Amá¸an n yisebtar:
-document_properties_page_size=Tuγzi n usebter:
-document_properties_page_size_unit_inches=deg
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=s teɣzi
-document_properties_page_size_orientation_landscape=s tehri
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Asekkil
-document_properties_page_size_name_legal=Usá¸if
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Taskant Web taruradt:
-document_properties_linearized_yes=Ih
-document_properties_linearized_no=Ala
-document_properties_close=Mdel
-
-print_progress_message=Aheggi i usiggez n isemli…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Sefsex
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Sken/Fer agalis adisan
-toggle_sidebar_notification2.title=Ffer/Sekn agalis adisan (isemli yegber aɣawas/ticeqqufin yeddan/tissiwin)
-toggle_sidebar_label=Sken/Fer agalis adisan
-document_outline.title=Sken isemli (Senned snat tikal i wesemɣer/Afneẓ n iferdisen meṛṛa)
-document_outline_label=Isɣalen n isebtar
-attachments.title=Sken ticeqqufin yeddan
-attachments_label=Ticeqqufin yeddan
-layers.title=Skeen tissiwin (sit sin yiberdan i uwennez n meṛṛa tissiwin ɣer waddad amezwer)
-layers_label=Tissiwin
-thumbs.title=Sken tanfult.
-thumbs_label=Tinfulin
-current_outline_item.title=Af-d aferdis n uɣawas amiran
-current_outline_item_label=Aferdis n uɣawas amiran
-findbar.title=Nadi deg isemli
-findbar_label=Nadi
-
-additional_layers=Tissiwin-nniá¸en
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Asebter {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Asebter {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Tanfult n usebter {{page}}
-
-# Find panel button title and messages
-find_input.title=Nadi
-find_input.placeholder=Nadi deg isemli…
-find_previous.title=Aff-d tamseá¸riwt n twinest n deffir
-find_previous_label=Azewwar
-find_next.title=Aff-d timseá¸riwt n twinest d-iteddun
-find_next_label=Ddu ɣer zdat
-find_highlight=Err izirig imaṛṛa
-find_match_case_label=Qadeá¹› amasal n isekkilen
-find_match_diacritics_label=Qadeá¹› ifeskilen
-find_entire_word_label=Awalen iÄÄuranen
-find_reached_top=YabbeḠs afella n usebter, tuɣalin s wadda
-find_reached_bottom=Tebá¸eḠs adda n usebter, tuÉ£alin s afella
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} seg {{total}} n tmeɣṛuá¸in
-find_match_count[two]={{current}} seg {{total}} n tmeɣṛuá¸in
-find_match_count[few]={{current}} seg {{total}} n tmeɣṛuá¸in
-find_match_count[many]={{current}} seg {{total}} n tmeɣṛuá¸in
-find_match_count[other]={{current}} seg {{total}} n tmeɣṛuá¸in
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Ugar n {{limit}} n tmeɣṛuá¸in
-find_match_count_limit[one]=Ugar n {{limit}} n tmeɣṛuá¸in
-find_match_count_limit[two]=Ugar n {{limit}} n tmeɣṛuá¸in
-find_match_count_limit[few]=Ugar n {{limit}} n tmeɣṛuá¸in
-find_match_count_limit[many]=Ugar n {{limit}} n tmeɣṛuá¸in
-find_match_count_limit[other]=Ugar n {{limit}} n tmeɣṛuá¸in
-find_not_found=Ulac tawinest
-
-# Error panel labels
-error_more_info=Ugar n telɣut
-error_less_info=Drus n isalen
-error_close=Mdel
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Izen: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Tanebdant: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Afaylu: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Izirig: {{line}}
-rendering_error=Teá¸ra-d tuccá¸a deg uskan n usebter.
-
-# Predefined zoom values
-page_scale_width=Tehri n usebter
-page_scale_fit=Asebter imaṛṛa
-page_scale_auto=Asemɣeṛ/Asemẓi awurman
-page_scale_actual=Teɣzi tilawt
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Asali…
-loading_error=Teá¸ra-d tuccá¸a deg alluy n PDF:
-invalid_file_error=Afaylu PDF arameɣtu neɣ yexṣeṛ.
-missing_file_error=Ulac afaylu PDF.
-unexpected_response_error=Aqeddac yerra-d yir tiririt ur nettwaṛǧi ara.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Tabzimt {{type}}]
-password_label=Sekcem awal uffir akken ad ldiḠafaylu-yagi PDF
-password_invalid=Awal uffir maÄÄi d ameÉ£tu, ÆreḠtikelt-nniá¸en.
-password_ok=IH
-password_cancel=Sefsex
-
-printing_not_supported=Ɣuṛ-k: Asiggez ur ittusefrak ara yakan imaṛṛa deg iminig-a.
-printing_not_ready=Ɣuṛ-k: Afaylu PDF ur d-yuli ara imeṛṛa akken ad ittusiggez.
-web_fonts_disabled=Tisefsiyin web ttwassensent; D awezɣi useqdec n tsefsiyin yettwarnan ɣer PDF.
-
-# Editor
-editor_none.title=Sens aseẓreg n telɣut
-editor_none_label=Sens aseẓreg
-editor_free_text.title=Rnu talɣut i FreeText
-editor_free_text_label=Talɣut n FreeText
-editor_ink.title=Suneɣ
-editor_ink_label=Asuneɣ
-
-freetext_default_content=Sekcem kra n uá¸ris…
-
-free_text_default_content=Sekcem aá¸ris…
-
-# Editor Parameters
-editor_free_text_font_color=Ini n tsefsit
-editor_free_text_font_size=Teɣzi n tsefsit
-editor_ink_line_color=Ini n yizirig
-editor_ink_line_thickness=Tuzert n yizirig
-
-# Editor Parameters
-editor_free_text_color=Initen
-editor_free_text_size=Teɣzi
-editor_ink_color=Ini
-editor_ink_thickness=Tuzert
-editor_ink_opacity=Tebrek
-
-# Editor aria
-editor_free_text_aria_label=Amaẓrag n FreeText
-editor_ink_aria_label=Amaẓrag n lmidad
-editor_ink_canvas_aria_label=Tugna yettwarnan sɣur useqdac
diff --git a/static/js/pdf-js/web/locale/kk/viewer.properties b/static/js/pdf-js/web/locale/kk/viewer.properties
deleted file mode 100644
index 7c9876d..0000000
--- a/static/js/pdf-js/web/locale/kk/viewer.properties
+++ /dev/null
@@ -1,280 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Ðлдыңғы парақ
-previous_label=ÐлдыңғыÑÑ‹
-next.title=КелеÑÑ– парақ
-next_label=КелеÑÑ–
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Парақ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} ішінен
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=(парақ {{pageNumber}}, {{pagesCount}} ішінен)
-
-zoom_out.title=Кішірейту
-zoom_out_label=Кішірейту
-zoom_in.title=Үлкейту
-zoom_in_label=Үлкейту
-zoom.title=МаÑштаб
-presentation_mode.title=ÐŸÑ€ÐµÐ·ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–Ð½Ðµ ауыÑу
-presentation_mode_label=ÐŸÑ€ÐµÐ·ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–
-open_file.title=Файлды ашу
-open_file_label=Ðшу
-print.title=БаÑпаға шығару
-print_label=БаÑпаға шығару
-download.title=Жүктеп алу
-download_label=Жүктеп алу
-bookmark.title=Ðғымдағы ÐºÓ©Ñ€Ñ–Ð½Ñ–Ñ (көшіру не жаңа терезеде ашу)
-bookmark_label=Ðғымдағы көрініÑ
-
-# Secondary toolbar and context menu
-tools.title=Құралдар
-tools_label=Құралдар
-first_page.title=Ðлғашқы параққа өту
-first_page_label=Ðлғашқы параққа өту
-last_page.title=Соңғы параққа өту
-last_page_label=Соңғы параққа өту
-page_rotate_cw.title=Сағат тілі бағытымен айналдыру
-page_rotate_cw_label=Сағат тілі бағытымен бұру
-page_rotate_ccw.title=Сағат тілі бағытына қарÑÑ‹ бұру
-page_rotate_ccw_label=Сағат тілі бағытына қарÑÑ‹ бұру
-
-cursor_text_select_tool.title=Мәтінді таңдау құралын Ñ–Ñке қоÑу
-cursor_text_select_tool_label=Мәтінді таңдау құралы
-cursor_hand_tool.title=Қол құралын Ñ–Ñке қоÑу
-cursor_hand_tool_label=Қол құралы
-
-scroll_page.title=Беттерді айналдыруды пайдалану
-scroll_page_label=Беттерді айналдыру
-scroll_vertical.title=Вертикалды айналдыруды қолдану
-scroll_vertical_label=Вертикалды айналдыру
-scroll_horizontal.title=Горизонталды айналдыруды қолдану
-scroll_horizontal_label=Горизонталды айналдыру
-scroll_wrapped.title=МаÑштабталатын айналдыруды қолдану
-scroll_wrapped_label=МаÑштабталатын айналдыру
-
-spread_none.title=Жазық беттер режимін қолданбау
-spread_none_label=Жазық беттер режимÑіз
-spread_odd.title=Жазық беттер тақ нөмірлі беттерден баÑталады
-spread_odd_label=Тақ нөмірлі беттер Ñол жақтан
-spread_even.title=Жазық беттер жұп нөмірлі беттерден баÑталады
-spread_even_label=Жұп нөмірлі беттер Ñол жақтан
-
-# Document properties dialog box
-document_properties.title=Құжат қаÑиеттері…
-document_properties_label=Құжат қаÑиеттері…
-document_properties_file_name=Файл аты:
-document_properties_file_size=Файл өлшемі:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} КБ ({{size_b}} байт)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} МБ ({{size_b}} байт)
-document_properties_title=Тақырыбы:
-document_properties_author=Ðвторы:
-document_properties_subject=Тақырыбы:
-document_properties_keywords=Кілт Ñөздер:
-document_properties_creation_date=ЖаÑалған күні:
-document_properties_modification_date=Түзету күні:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=ЖаÑаған:
-document_properties_producer=PDF өндірген:
-document_properties_version=PDF нұÑқаÑÑ‹:
-document_properties_page_count=Беттер Ñаны:
-document_properties_page_size=Бет өлшемі:
-document_properties_page_size_unit_inches=дюйм
-document_properties_page_size_unit_millimeters=мм
-document_properties_page_size_orientation_portrait=тік
-document_properties_page_size_orientation_landscape=жатық
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Жылдам Web көрініÑÑ–:
-document_properties_linearized_yes=Иә
-document_properties_linearized_no=Жоқ
-document_properties_close=Жабу
-
-print_progress_message=Құжатты баÑпаға шығару үшін дайындау…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Ð‘Ð°Ñ Ñ‚Ð°Ñ€Ñ‚Ñƒ
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Бүйір панелін көрÑету/жаÑыру
-toggle_sidebar_notification2.title=Бүйір панелін көрÑету/жаÑыру (құжатта құрылымы/Ñалынымдар/қабаттар бар)
-toggle_sidebar_label=Бүйір панелін көрÑету/жаÑыру
-document_outline.title=Құжат құрылымын көрÑету (барлық нәрÑелерді жазық қылу/жинау үшін Ò›Ð¾Ñ ÑˆÐµÑ€Ñ‚Ñƒ керек)
-document_outline_label=Құжат құрамаÑÑ‹
-attachments.title=Салынымдарды көрÑету
-attachments_label=Салынымдар
-layers.title=Қабаттарды көрÑету (барлық қабаттарды баÑтапқы күйге келтіру үшін екі рет шертіңіз)
-layers_label=Қабаттар
-thumbs.title=Кіші көрініÑтерді көрÑету
-thumbs_label=Кіші көрініÑтер
-current_outline_item.title=Құрылымның ағымдағы Ñлементін табу
-current_outline_item_label=Құрылымның ағымдағы Ñлементі
-findbar.title=Құжаттан табу
-findbar_label=Табу
-
-additional_layers=ҚоÑымша қабаттар
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Бет {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}} парағы
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} парағы үшін кіші көрініÑÑ–
-
-# Find panel button title and messages
-find_input.title=Табу
-find_input.placeholder=Құжаттан табу…
-find_previous.title=ОÑÑ‹ Ñөздердің мәтіннен алдыңғы кездеÑуін табу
-find_previous_label=ÐлдыңғыÑÑ‹
-find_next.title=ОÑÑ‹ Ñөздердің мәтіннен келеÑÑ– кездеÑуін табу
-find_next_label=КелеÑÑ–
-find_highlight=Барлығын түÑпен ерекшелеу
-find_match_case_label=РегиÑтрді еÑкеру
-find_match_diacritics_label=Диакритиканы еÑкеру
-find_entire_word_label=Сөздер толығымен
-find_reached_top=Құжаттың баÑына жеттік, Ñоңынан баÑтап жалғаÑтырамыз
-find_reached_bottom=Құжаттың Ñоңына жеттік, баÑынан баÑтап жалғаÑтырамыз
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} / {{total}} ÑәйкеÑтік
-find_match_count[two]={{current}} / {{total}} ÑәйкеÑтік
-find_match_count[few]={{current}} / {{total}} ÑәйкеÑтік
-find_match_count[many]={{current}} / {{total}} ÑәйкеÑтік
-find_match_count[other]={{current}} / {{total}} ÑәйкеÑтік
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}} ÑәйкеÑтіктен көп
-find_match_count_limit[one]={{limit}} ÑәйкеÑтіктен көп
-find_match_count_limit[two]={{limit}} ÑәйкеÑтіктен көп
-find_match_count_limit[few]={{limit}} ÑәйкеÑтіктен көп
-find_match_count_limit[many]={{limit}} ÑәйкеÑтіктен көп
-find_match_count_limit[other]={{limit}} ÑәйкеÑтіктен көп
-find_not_found=Сөз(дер) табылмады
-
-# Error panel labels
-error_more_info=Көбірек ақпарат
-error_less_info=Ðзырақ ақпарат
-error_close=Жабу
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (жинақ: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Хабарлама: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Стек: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Файл: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Жол: {{line}}
-rendering_error=Парақты өңдеу кезінде қате кетті.
-
-# Predefined zoom values
-page_scale_width=Парақ ені
-page_scale_fit=Парақты Ñыйдыру
-page_scale_auto=ÐвтомаÑштабтау
-page_scale_actual=Ðақты өлшемі
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Жүктелуде…
-loading_error=PDF жүктеу кезінде қате кетті.
-invalid_file_error=Зақымдалған немеÑе қате PDF файл.
-missing_file_error=PDF файлы жоқ.
-unexpected_response_error=Сервердің күтпеген жауабы.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} аңдатпаÑÑ‹]
-password_label=Бұл PDF файлын ашу үшін парольді енгізіңіз.
-password_invalid=Пароль Ð´Ò±Ñ€Ñ‹Ñ ÐµÐ¼ÐµÑ. Қайталап көріңіз.
-password_ok=ОК
-password_cancel=Ð‘Ð°Ñ Ñ‚Ð°Ñ€Ñ‚Ñƒ
-
-printing_not_supported=ЕÑкерту: БаÑпаға шығаруды бұл браузер толығымен қолдамайды.
-printing_not_ready=ЕÑкерту: БаÑпаға шығару үшін, бұл PDF толығымен жүктеліп алынбады.
-web_fonts_disabled=Веб қаріптері Ñөндірілген: құрамына енгізілген PDF қаріптерін қолдану мүмкін емеÑ.
-
-# Editor
-editor_none.title=Ðңдатпаларды түзету мүмкіндігін Ñөндіру
-editor_none_label=Түзету мүмкіндігін Ñөндіру
-editor_free_text.title=FreeText аңдатпаÑын қоÑу
-editor_free_text_label=FreeText аңдатпаÑÑ‹
-editor_ink.title=Қолдан аңдатпаны қоÑу
-editor_ink_label=Қолдан аңдатпа
-
-freetext_default_content=Мәтінді енгізіңіз…
-
-free_text_default_content=Мәтінді енгізу…
-
-# Editor Parameters
-editor_free_text_font_color=Қаріп түÑÑ–
-editor_free_text_font_size=Қаріп өлшемі
-editor_ink_line_color=Сызық түÑÑ–
-editor_ink_line_thickness=Сызық қалыңдығы
-
-# Editor Parameters
-editor_free_text_color=ТүÑ
-editor_free_text_size=Өлшемі
-editor_ink_color=ТүÑ
-editor_ink_thickness=Қалыңдығы
-editor_ink_opacity=МөлдірÑіздігі
-
-# Editor aria
-editor_free_text_aria_label=FreeText түзеткіші
-editor_ink_aria_label=Ð¡Ð¸Ñ Ñ‚Ò¯Ð·ÐµÑ‚ÐºÑ–ÑˆÑ–
diff --git a/static/js/pdf-js/web/locale/km/viewer.properties b/static/js/pdf-js/web/locale/km/viewer.properties
deleted file mode 100644
index 3dcac78..0000000
--- a/static/js/pdf-js/web/locale/km/viewer.properties
+++ /dev/null
@@ -1,209 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=ទំពáŸážšâ€‹áž˜áž»áž“
-previous_label=មុន
-next.title=ទំពáŸážšâ€‹áž”ន្ទាប់
-next_label=បន្ទាប់
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=ទំពáŸážš
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=នៃ {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} នៃ {{pagesCount}})
-
-zoom_out.title=​បង្រួម
-zoom_out_label=​បង្រួម
-zoom_in.title=​ពង្រីក
-zoom_in_label=​ពង្រីក
-zoom.title=ពង្រីក
-presentation_mode.title=ប្ដូរ​ទៅ​របៀប​បទ​បង្ហាញ
-presentation_mode_label=របៀប​បទ​បង្ហាញ
-open_file.title=បើក​ឯកសារ
-open_file_label=បើក
-print.title=បោះពុម្ព
-print_label=បោះពុម្ព
-download.title=ទាញ​យក
-download_label=ទាញ​យក
-bookmark.title=ទិដ្ឋភាព​បច្ចុប្បន្ន (ចម្លង ឬ​បើក​នៅ​ក្នុង​បង្អួច​ážáŸ’មី)
-bookmark_label=ទិដ្ឋភាព​បច្ចុប្បន្ន
-
-# Secondary toolbar and context menu
-tools.title=ឧបករណáŸ
-tools_label=ឧបករណáŸ
-first_page.title=ទៅកាន់​ទំពáŸážšâ€‹ážŠáŸ†áž”ូង​
-first_page_label=ទៅកាន់​ទំពáŸážšâ€‹ážŠáŸ†áž”ូង​
-last_page.title=ទៅកាន់​ទំពáŸážšâ€‹áž…ុងក្រោយ​
-last_page_label=ទៅកាន់​ទំពáŸážšâ€‹áž…ុងក្រោយ
-page_rotate_cw.title=បង្វិល​ស្រប​ទ្រនិច​នាឡិកា
-page_rotate_cw_label=បង្វិល​ស្រប​ទ្រនិច​នាឡិកា
-page_rotate_ccw.title=បង្វិល​ច្រាស​ទ្រនិច​នាឡិកា​​
-page_rotate_ccw_label=បង្វិល​ច្រាស​ទ្រនិច​នាឡិកា​​
-
-cursor_text_select_tool.title=បើក​ឧបករណáŸâ€‹áž‡áŸ’រើស​អážáŸ’ážáž”áž‘
-cursor_text_select_tool_label=ឧបករណáŸâ€‹áž‡áŸ’រើស​អážáŸ’ážáž”áž‘
-cursor_hand_tool.title=បើក​ឧបករណáŸâ€‹ážŠáŸƒ
-cursor_hand_tool_label=ឧបករណáŸâ€‹ážŠáŸƒ
-
-
-
-# Document properties dialog box
-document_properties.title=លក្ážážŽâ€‹ážŸáž˜áŸ’áž”ážáŸ’ážáž·â€‹áž¯áž€ážŸáž¶ážšâ€¦
-document_properties_label=លក្ážážŽâ€‹ážŸáž˜áŸ’áž”ážáŸ’ážáž·â€‹áž¯áž€ážŸáž¶ážšâ€¦
-document_properties_file_name=ឈ្មោះ​ឯកសារ៖
-document_properties_file_size=ទំហំ​ឯកសារ៖
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} បៃ)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} បៃ)
-document_properties_title=ចំណងជើង៖
-document_properties_author=អ្នក​និពន្ធ៖
-document_properties_subject=ប្រធានបទ៖
-document_properties_keywords=ពាក្យ​គន្លឹះ៖
-document_properties_creation_date=កាលបរិច្ឆáŸáž‘​បង្កើážáŸ–
-document_properties_modification_date=កាលបរិច្ឆáŸáž‘​កែប្រែ៖
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=អ្នក​បង្កើážáŸ–
-document_properties_producer=កម្មវិធី​បង្កើហPDF ៖
-document_properties_version=កំណែ PDF ៖
-document_properties_page_count=ចំនួន​ទំពáŸážšáŸ–
-document_properties_page_size_unit_inches=អ៊ីញ
-document_properties_page_size_unit_millimeters=មម
-document_properties_page_size_orientation_portrait=បញ្ឈរ
-document_properties_page_size_orientation_landscape=ផ្ážáŸáž€
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=សំបុážáŸ’ážš
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized_yes=បាទ/ចាស
-document_properties_linearized_no=áž‘áŸ
-document_properties_close=បិទ
-
-print_progress_message=កំពុង​រៀបចំ​ឯកសារ​សម្រាប់​បោះពុម្ព…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=បោះបង់
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=បិទ/បើក​គ្រាប់​រំកិល
-toggle_sidebar_label=បិទ/បើក​គ្រាប់​រំកិល
-document_outline.title=បង្ហាញ​គ្រោង​ឯកសារ (ចុច​ទ្វáŸâ€‹ážŠáž„​ដើម្បី​ពង្រីក/បង្រួម​ធាážáž»â€‹áž‘ាំងអស់)
-document_outline_label=គ្រោង​ឯកសារ
-attachments.title=បង្ហាញ​ឯកសារ​ភ្ជាប់
-attachments_label=ឯកសារ​ភ្ជាប់
-thumbs.title=បង្ហាញ​រូបភាព​ážáž¼áž…ៗ
-thumbs_label=រួបភាព​ážáž¼áž…ៗ
-findbar.title=រក​នៅ​ក្នុង​ឯកសារ
-findbar_label=រក
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=ទំពáŸážš {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=រូបភាព​ážáž¼áž…​របស់​ទំពáŸážš {{page}}
-
-# Find panel button title and messages
-find_input.title=រក
-find_input.placeholder=រក​នៅ​ក្នុង​ឯកសារ...
-find_previous.title=រក​ពាក្យ ឬ​ឃ្លា​ដែល​បាន​ជួប​មុន
-find_previous_label=មុន
-find_next.title=រក​ពាក្យ ឬ​ឃ្លា​ដែល​បាន​ជួប​បន្ទាប់
-find_next_label=បន្ទាប់
-find_highlight=បន្លិច​ទាំងអស់
-find_match_case_label=ករណី​ដំណូច
-find_reached_top=បាន​បន្ážâ€‹áž–ី​ážáž¶áž„​ក្រោម ទៅ​ដល់​ážáž¶áž„​​លើ​នៃ​ឯកសារ
-find_reached_bottom=បាន​បន្ážâ€‹áž–ី​ážáž¶áž„លើ ទៅដល់​ចុង​​នៃ​ឯកសារ
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_not_found=រក​មិន​ឃើញ​ពាក្យ ឬ​ឃ្លា
-
-# Error panel labels
-error_more_info=áž–áŸážáŸŒáž˜áž¶áž“​បន្ážáŸ‚ម
-error_less_info=áž–áŸážáŸŒáž˜áž¶áž“​ážáž·áž…ážáž½áž…
-error_close=បិទ
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=សារ ៖ {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=ជង់ ៖ {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ឯកសារ ៖ {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=ជួរ ៖ {{line}}
-rendering_error=មាន​កំហុស​បាន​កើážáž¡áž¾áž„​ពáŸáž›â€‹áž”ង្ហាញ​ទំពáŸážšÂ ។
-
-# Predefined zoom values
-page_scale_width=ទទឹង​ទំពáŸážš
-page_scale_fit=សម​ទំពáŸážš
-page_scale_auto=ពង្រីក​ស្វáŸáž™áž”្រវážáŸ’ážáž·
-page_scale_actual=ទំហំ​ជាក់ស្ដែង
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=មាន​កំហុស​បាន​កើážáž¡áž¾áž„​ពáŸáž›â€‹áž€áŸ†áž–ុង​ផ្ទុក PDF ។
-invalid_file_error=ឯកសារ PDF ážáž¼áž… ឬ​មិន​ážáŸ’រឹមážáŸ’រូវ ។
-missing_file_error=បាážáŸ‹â€‹áž¯áž€ážŸáž¶ážš PDF
-unexpected_response_error=ការ​ឆ្លើយ​ážáž˜â€‹áž˜áŸ‰áž¶ážŸáŸŠáž¸áž“​មáŸâ€‹ážŠáŸ‚ល​មិន​បាន​រំពឹង។
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} ចំណារ​ពន្យល់]
-password_label=បញ្ចូល​ពាក្យសម្ងាážáŸ‹â€‹ážŠáž¾áž˜áŸ’បី​បើក​ឯកសារ PDF áž“áŸáŸ‡áŸ”
-password_invalid=ពាក្យសម្ងាážáŸ‹â€‹áž˜áž·áž“​ážáŸ’រឹមážáŸ’រូវ។ សូម​ព្យាយាម​ម្ដងទៀážáŸ”
-password_ok=យល់​ព្រម
-password_cancel=បោះបង់
-
-printing_not_supported=ការ​ព្រមាន ៖ កា​រ​បោះពុម្ព​មិន​ážáŸ’រូវ​បាន​គាំទ្រ​ពáŸáž‰áž›áŸáž‰â€‹ážŠáŸ„យ​កម្មវិធី​រុករក​នáŸáŸ‡â€‹áž‘áŸÂ ។
-printing_not_ready=ព្រមាន៖ PDF មិន​ážáŸ’រូវ​បាន​ផ្ទុក​ទាំងស្រុង​ដើម្បី​បោះពុម្ព​ទáŸáŸ”
-web_fonts_disabled=បាន​បិទ​ពុម្ពអក្សរ​បណ្ដាញ ៖ មិន​អាច​ប្រើ​ពុម្ពអក្សរ PDF ដែល​បាន​បង្កប់​បាន​ទáŸÂ ។
diff --git a/static/js/pdf-js/web/locale/kn/viewer.properties b/static/js/pdf-js/web/locale/kn/viewer.properties
deleted file mode 100644
index 79c0437..0000000
--- a/static/js/pdf-js/web/locale/kn/viewer.properties
+++ /dev/null
@@ -1,186 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=ಹಿಂದಿನ ಪà³à²Ÿ
-previous_label=ಹಿಂದಿನ
-next.title=ಮà³à²‚ದಿನ ಪà³à²Ÿ
-next_label=ಮà³à²‚ದಿನ
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=ಪà³à²Ÿ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} ರಲà³à²²à²¿
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pagesCount}} ರಲà³à²²à²¿ {{pageNumber}})
-
-zoom_out.title=ಕಿರಿದಾಗಿಸà³
-zoom_out_label=ಕಿರಿದಾಗಿಸಿ
-zoom_in.title=ಹಿರಿದಾಗಿಸà³
-zoom_in_label=ಹಿರಿದಾಗಿಸಿ
-zoom.title=ಗಾತà³à²°à²¬à²¦à²²à²¿à²¸à³
-presentation_mode.title=ಪà³à²°à²¸à³à²¤à³à²¤à²¿ (ಪà³à²°à²¸à³†à²‚ಟೇಶನà³) ಕà³à²°à²®à²•à³à²•ೆ ಬದಲಾಯಿಸà³
-presentation_mode_label=ಪà³à²°à²¸à³à²¤à³à²¤à²¿ (ಪà³à²°à²¸à³†à²‚ಟೇಶನà³) ಕà³à²°à²®
-open_file.title=ಕಡತವನà³à²¨à³ ತೆರೆ
-open_file_label=ತೆರೆಯಿರಿ
-print.title=ಮà³à²¦à³à²°à²¿à²¸à³
-print_label=ಮà³à²¦à³à²°à²¿à²¸à²¿
-download.title=ಇಳಿಸà³
-download_label=ಇಳಿಸಿಕೊಳà³à²³à²¿
-bookmark.title=ಪà³à²°à²¸à²•à³à²¤ ನೋಟ (ಪà³à²°à²¤à²¿ ಮಾಡೠಅಥವ ಹೊಸ ಕಿಟಕಿಯಲà³à²²à²¿ ತೆರೆ)
-bookmark_label=ಪà³à²°à²¸à²•à³à²¤ ನೋಟ
-
-# Secondary toolbar and context menu
-tools.title=ಉಪಕರಣಗಳà³
-tools_label=ಉಪಕರಣಗಳà³
-first_page.title=ಮೊದಲ ಪà³à²Ÿà²•à³à²•ೆ ತೆರಳà³
-first_page_label=ಮೊದಲ ಪà³à²Ÿà²•à³à²•ೆ ತೆರಳà³
-last_page.title=ಕೊನೆಯ ಪà³à²Ÿà²•à³à²•ೆ ತೆರಳà³
-last_page_label=ಕೊನೆಯ ಪà³à²Ÿà²•à³à²•ೆ ತೆರಳà³
-page_rotate_cw.title=ಪà³à²°à²¦à²•à³à²·à²¿à²£à³†à²¯à²²à³à²²à²¿ ತಿರà³à²—ಿಸà³
-page_rotate_cw_label=ಪà³à²°à²¦à²•à³à²·à²¿à²£à³†à²¯à²²à³à²²à²¿ ತಿರà³à²—ಿಸà³
-page_rotate_ccw.title=ಅಪà³à²°à²¦à²•à³à²·à²¿à²£à³†à²¯à²²à³à²²à²¿ ತಿರà³à²—ಿಸà³
-page_rotate_ccw_label=ಅಪà³à²°à²¦à²•à³à²·à²¿à²£à³†à²¯à²²à³à²²à²¿ ತಿರà³à²—ಿಸà³
-
-cursor_text_select_tool.title=ಪಠà³à²¯ ಆಯà³à²•ೆ ಉಪಕರಣವನà³à²¨à³ ಸಕà³à²°à²¿à²¯à²—ೊಳಿಸಿ
-cursor_text_select_tool_label=ಪಠà³à²¯ ಆಯà³à²•ೆಯ ಉಪಕರಣ
-cursor_hand_tool.title=ಕೈ ಉಪಕರಣವನà³à²¨à³ ಸಕà³à²°à²¿à²¯à²—ೊಳಿಸಿ
-cursor_hand_tool_label=ಕೈ ಉಪಕರಣ
-
-
-
-# Document properties dialog box
-document_properties.title=ಡಾಕà³à²¯à³à²®à³†à²‚ಟà³â€Œ ಗà³à²£à²—ಳà³...
-document_properties_label=ಡಾಕà³à²¯à³à²®à³†à²‚ಟà³â€Œ ಗà³à²£à²—ಳà³...
-document_properties_file_name=ಕಡತದ ಹೆಸರà³:
-document_properties_file_size=ಕಡತದ ಗಾತà³à²°:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} ಬೈಟà³â€à²—ಳà³)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} ಬೈಟà³â€à²—ಳà³)
-document_properties_title=ಶೀರà³à²·à²¿à²•ೆ:
-document_properties_author=ಕರà³à²¤à³ƒ:
-document_properties_subject=ವಿಷಯ:
-document_properties_keywords=ಮà³à²–à³à²¯à²ªà²¦à²—ಳà³:
-document_properties_creation_date=ರಚಿಸಿದ ದಿನಾಂಕ:
-document_properties_modification_date=ಮಾರà³à²ªà²¡à²¿à²¸à²²à²¾à²¦ ದಿನಾಂಕ:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=ರಚಿಸಿದವರà³:
-document_properties_producer=PDF ಉತà³à²ªà²¾à²¦à²•:
-document_properties_version=PDF ಆವೃತà³à²¤à²¿:
-document_properties_page_count=ಪà³à²Ÿà²¦ ಎಣಿಕೆ:
-document_properties_page_size_unit_inches=ಇದರಲà³à²²à²¿
-document_properties_page_size_orientation_portrait=à²à²¾à²µà²šà²¿à²¤à³à²°
-document_properties_page_size_orientation_landscape=ಪà³à²°à²•ೃತಿ ಚಿತà³à²°
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_close=ಮà³à²šà³à²šà³
-
-print_progress_message=ಮà³à²¦à³à²°à²¿à²¸à³à²µà³à²¦à²•à³à²•ಾಗಿ ದಸà³à²¤à²¾à²µà³‡à²œà²¨à³à²¨à³ ಸಿದà³à²§à²—ೊಳಿಸಲಾಗà³à²¤à³à²¤à²¿à²¦à³†â€¦
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=ರದà³à²¦à³ ಮಾಡà³
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=ಬದಿಪಟà³à²Ÿà²¿à²¯à²¨à³à²¨à³ ಹೊರಳಿಸà³
-toggle_sidebar_label=ಬದಿಪಟà³à²Ÿà²¿à²¯à²¨à³à²¨à³ ಹೊರಳಿಸà³
-document_outline_label=ದಸà³à²¤à²¾à²µà³‡à²œà²¿à²¨ ಹೊರರೇಖೆ
-attachments.title=ಲಗತà³à²¤à³à²—ಳನà³à²¨à³ ತೋರಿಸà³
-attachments_label=ಲಗತà³à²¤à³à²—ಳà³
-thumbs.title=ಚಿಕà³à²•ಚಿತà³à²°à²¦à²‚ತೆ ತೋರಿಸà³
-thumbs_label=ಚಿಕà³à²•ಚಿತà³à²°à²—ಳà³
-findbar.title=ದಸà³à²¤à²¾à²µà³‡à²œà²¿à²¨à²²à³à²²à²¿ ಹà³à²¡à³à²•à³
-findbar_label=ಹà³à²¡à³à²•à³
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=ಪà³à²Ÿ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=ಪà³à²Ÿà²µà²¨à³à²¨à³ ಚಿಕà³à²•ಚಿತà³à²°à²¦à²‚ತೆ ತೋರಿಸೠ{{page}}
-
-# Find panel button title and messages
-find_input.title=ಹà³à²¡à³à²•à³
-find_input.placeholder=ದಸà³à²¤à²¾à²µà³‡à²œà²¿à²¨à²²à³à²²à²¿ ಹà³à²¡à³à²•à³â€¦
-find_previous.title=ವಾಕà³à²¯à²¦ ಹಿಂದಿನ ಇರà³à²µà²¿à²•ೆಯನà³à²¨à³ ಹà³à²¡à³à²•à³
-find_previous_label=ಹಿಂದಿನ
-find_next.title=ವಾಕà³à²¯à²¦ ಮà³à²‚ದಿನ ಇರà³à²µà²¿à²•ೆಯನà³à²¨à³ ಹà³à²¡à³à²•à³
-find_next_label=ಮà³à²‚ದಿನ
-find_highlight=ಎಲà³à²²à²µà²¨à³à²¨à³ ಹೈಲೈಟೠಮಾಡà³
-find_match_case_label=ಕೇಸನà³à²¨à³ ಹೊಂದಿಸà³
-find_reached_top=ದಸà³à²¤à²¾à²µà³‡à²œà²¿à²¨ ಮೇಲà³à²à²¾à²—ವನà³à²¨à³ ತಲà³à²ªà²¿à²¦à³†, ಕೆಳಗಿನಿಂದ ಆರಂà²à²¿à²¸à³
-find_reached_bottom=ದಸà³à²¤à²¾à²µà³‡à²œà²¿à²¨ ಕೊನೆಯನà³à²¨à³ ತಲà³à²ªà²¿à²¦à³†, ಮೇಲಿನಿಂದ ಆರಂà²à²¿à²¸à³
-find_not_found=ವಾಕà³à²¯à²µà³ ಕಂಡೠಬಂದಿಲà³à²²
-
-# Error panel labels
-error_more_info=ಹೆಚà³à²šà²¿à²¨ ಮಾಹಿತಿ
-error_less_info=ಕಡಿಮೆ ಮಾಹಿತಿ
-error_close=ಮà³à²šà³à²šà³
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=ಸಂದೇಶ: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=ರಾಶಿ: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ಕಡತ: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=ಸಾಲà³: {{line}}
-rendering_error=ಪà³à²Ÿà²µà²¨à³à²¨à³ ನಿರೂಪಿಸà³à²µà²¾à²— ಒಂದೠದೋಷ ಎದà³à²°à²¾à²—ಿದೆ.
-
-# Predefined zoom values
-page_scale_width=ಪà³à²Ÿà²¦ ಅಗಲ
-page_scale_fit=ಪà³à²Ÿà²¦ ಸರಿಹೊಂದಿಕೆ
-page_scale_auto=ಸà³à²µà²¯à²‚ಚಾಲಿತ ಗಾತà³à²°à²¬à²¦à²²à²¾à²µà²£à³†
-page_scale_actual=ನಿಜವಾದ ಗಾತà³à²°
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=PDF ಅನà³à²¨à³ ಲೋಡೠಮಾಡà³à²µà²¾à²— ಒಂದೠದೋಷ ಎದà³à²°à²¾à²—ಿದೆ.
-invalid_file_error=ಅಮಾನà³à²¯à²µà²¾à²¦ ಅಥವ ಹಾಳಾದ PDF ಕಡತ.
-missing_file_error=PDF ಕಡತ ಇಲà³à²².
-unexpected_response_error=ಅನಿರೀಕà³à²·à²¿à²¤à²µà²¾à²¦ ಪೂರೈಕೆಗಣಕದ ಪà³à²°à²¤à²¿à²•à³à²°à²¿à²¯à³†.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} ಟಿಪà³à²ªà²£à²¿]
-password_label=PDF ಅನà³à²¨à³ ತೆರೆಯಲೠಗà³à²ªà³à²¤à²ªà²¦à²µà²¨à³à²¨à³ ನಮೂದಿಸಿ.
-password_invalid=ಅಮಾನà³à²¯à²µà²¾à²¦ ಗà³à²ªà³à²¤à²ªà²¦, ದಯವಿಟà³à²Ÿà³ ಇನà³à²¨à³Šà²®à³à²®à³† ಪà³à²°à²¯à²¤à³à²¨à²¿à²¸à²¿.
-password_ok=OK
-password_cancel=ರದà³à²¦à³ ಮಾಡà³
-
-printing_not_supported=ಎಚà³à²šà²°à²¿à²•ೆ: ಈ ಜಾಲವೀಕà³à²·à²•ದಲà³à²²à²¿ ಮà³à²¦à³à²°à²£à²•à³à²•ೆ ಸಂಪೂರà³à²£ ಬೆಂಬಲವಿಲà³à²².
-printing_not_ready=ಎಚà³à²šà²°à²¿à²•ೆ: PDF ಕಡತವೠಮà³à²¦à³à²°à²¿à²¸à²²à³ ಸಂಪೂರà³à²£à²µà²¾à²—ಿ ಲೋಡೠಆಗಿಲà³à²².
-web_fonts_disabled=ಜಾಲ ಅಕà³à²·à²°à²¶à³ˆà²²à²¿à²¯à²¨à³à²¨à³ ನಿಷà³à²•à³à²°à²¿à²¯à²—ೊಳಿಸಲಾಗಿದೆ: ಅಡಕಗೊಳಿಸಿದ PDF ಅಕà³à²·à²°à²¶à³ˆà²²à²¿à²—ಳನà³à²¨à³ ಬಳಸಲೠಸಾಧà³à²¯à²µà²¾à²—ಿಲà³à²².
diff --git a/static/js/pdf-js/web/locale/ko/viewer.properties b/static/js/pdf-js/web/locale/ko/viewer.properties
deleted file mode 100644
index 218dd73..0000000
--- a/static/js/pdf-js/web/locale/ko/viewer.properties
+++ /dev/null
@@ -1,279 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=ì´ì „ 페ì´ì§€
-previous_label=ì´ì „
-next.title=ë‹¤ìŒ íŽ˜ì´ì§€
-next_label=다ìŒ
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=페ì´ì§€
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=/ {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} / {{pagesCount}})
-
-zoom_out.title=축소
-zoom_out_label=축소
-zoom_in.title=확대
-zoom_in_label=확대
-zoom.title=확대/축소
-presentation_mode.title=í”„ë ˆì í…Œì´ì…˜ 모드로 ì „í™˜
-presentation_mode_label=í”„ë ˆì í…Œì´ì…˜ 모드
-open_file.title=íŒŒì¼ ì—´ê¸°
-open_file_label=열기
-print.title=ì¸ì‡„
-print_label=ì¸ì‡„
-download.title=다운로드
-download_label=다운로드
-bookmark.title=현재 보기 (복사 ë˜ëŠ” 새 ì°½ì—서 열기)
-bookmark_label=현재 보기
-
-# Secondary toolbar and context menu
-tools.title=ë„구
-tools_label=ë„구
-first_page.title=첫 페ì´ì§€ë¡œ ì´ë™
-first_page_label=첫 페ì´ì§€ë¡œ ì´ë™
-last_page.title=마지막 페ì´ì§€ë¡œ ì´ë™
-last_page_label=마지막 페ì´ì§€ë¡œ ì´ë™
-page_rotate_cw.title=시계방향으로 íšŒì „
-page_rotate_cw_label=시계방향으로 íšŒì „
-page_rotate_ccw.title=시계 반대방향으로 íšŒì „
-page_rotate_ccw_label=시계 반대방향으로 íšŒì „
-
-cursor_text_select_tool.title=í…스트 ì„ íƒ ë„구 활성화
-cursor_text_select_tool_label=í…스트 ì„ íƒ ë„구
-cursor_hand_tool.title=ì† ë„구 활성화
-cursor_hand_tool_label=ì† ë„구
-
-scroll_page.title=페ì´ì§€ 스í¬ë¡¤ 사용
-scroll_page_label=페ì´ì§€ 스í¬ë¡¤
-scroll_vertical.title=세로 스í¬ë¡¤ 사용
-scroll_vertical_label=세로 스í¬ë¡¤
-scroll_horizontal.title=가로 스í¬ë¡¤ 사용
-scroll_horizontal_label=가로 스í¬ë¡¤
-scroll_wrapped.title=래핑(ìžë™ 줄 바꿈) 스í¬ë¡¤ 사용
-scroll_wrapped_label=래핑 스í¬ë¡¤
-
-spread_none.title=한 페ì´ì§€ 보기
-spread_none_label=펼ì³ì§ ì—†ìŒ
-spread_odd.title=홀수 페ì´ì§€ë¡œ 시작하는 ë‘ íŽ˜ì´ì§€ 보기
-spread_odd_label=홀수 펼ì³ì§
-spread_even.title=ì§ìˆ˜ 페ì´ì§€ë¡œ 시작하는 ë‘ íŽ˜ì´ì§€ 보기
-spread_even_label=ì§ìˆ˜ 펼ì³ì§
-
-# Document properties dialog box
-document_properties.title=문서 ì†ì„±â€¦
-document_properties_label=문서 ì†ì„±â€¦
-document_properties_file_name=íŒŒì¼ ì´ë¦„:
-document_properties_file_size=íŒŒì¼ í¬ê¸°:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}}ë°”ì´íЏ)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}}ë°”ì´íЏ)
-document_properties_title=ì œëª©:
-document_properties_author=작성ìž:
-document_properties_subject=ì£¼ì œ:
-document_properties_keywords=키워드:
-document_properties_creation_date=작성 ë‚ ì§œ:
-document_properties_modification_date=ìˆ˜ì • ë‚ ì§œ:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=작성 프로그램:
-document_properties_producer=PDF 변환 소프트웨어:
-document_properties_version=PDF ë²„ì „:
-document_properties_page_count=페ì´ì§€ 수:
-document_properties_page_size=페ì´ì§€ í¬ê¸°:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=세로 방향
-document_properties_page_size_orientation_landscape=가로 방향
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=ë ˆí„°
-document_properties_page_size_name_legal=리걸
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=ë¹ ë¥¸ 웹 보기:
-document_properties_linearized_yes=예
-document_properties_linearized_no=아니오
-document_properties_close=닫기
-
-print_progress_message=ì¸ì‡„ 문서 준비 중…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=취소
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=íƒìƒ‰ì°½ 표시/숨기기
-toggle_sidebar_notification2.title=íƒìƒ‰ì°½ 표시/숨기기 (ë¬¸ì„œì— ì•„ì›ƒë¼ì¸/첨부파ì¼/ë ˆì´ì–´ í¬í•¨ë¨)
-toggle_sidebar_label=íƒìƒ‰ì°½ 표시/숨기기
-document_outline.title=문서 아웃ë¼ì¸ 보기 (ë”블 í´ë¦í•´ì„œ ëª¨ë“ í•목 펼치기/ì ‘ê¸°)
-document_outline_label=문서 아웃ë¼ì¸
-attachments.title=ì²¨ë¶€íŒŒì¼ ë³´ê¸°
-attachments_label=첨부파ì¼
-layers.title=ë ˆì´ì–´ 보기 (ë”블 í´ë¦í•´ì„œ ëª¨ë“ ë ˆì´ì–´ë¥¼ 기본 ìƒíƒœë¡œ ìž¬ì„¤ì •)
-layers_label=ë ˆì´ì–´
-thumbs.title=미리보기
-thumbs_label=미리보기
-current_outline_item.title=현재 아웃ë¼ì¸ í•목 찾기
-current_outline_item_label=현재 아웃ë¼ì¸ í•목
-findbar.title=검색
-findbar_label=검색
-
-additional_layers=추가 ë ˆì´ì–´
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark={{page}} 페ì´ì§€
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}} 페ì´ì§€
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} 페ì´ì§€ 미리보기
-
-# Find panel button title and messages
-find_input.title=찾기
-find_input.placeholder=문서ì—서 찾기…
-find_previous.title=ì§€ì • 문ìžì—´ì— ì¼ì¹˜í•˜ëŠ” 1ê°œ ë¶€ë¶„ì„ ê²€ìƒ‰
-find_previous_label=ì´ì „
-find_next.title=ì§€ì • 문ìžì—´ì— ì¼ì¹˜í•˜ëŠ” ë‹¤ìŒ ë¶€ë¶„ì„ ê²€ìƒ‰
-find_next_label=다ìŒ
-find_highlight=ëª¨ë‘ ê°•ì¡° 표시
-find_match_case_label=대/ì†Œë¬¸ìž êµ¬ë¶„
-find_match_diacritics_label=ë¶„ìŒ ë¶€í˜¸ ì¼ì¹˜
-find_entire_word_label=단어 단위로
-find_reached_top=문서 처ìŒê¹Œì§€ ê²€ìƒ‰í•˜ê³ ë으로 ëŒì•„와 검색했습니다.
-find_reached_bottom=문서 ë까지 ê²€ìƒ‰í•˜ê³ ì•žìœ¼ë¡œ ëŒì•„와 검색했습니다.
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{total}} 중 {{current}} ì¼ì¹˜
-find_match_count[two]={{total}} 중 {{current}} ì¼ì¹˜
-find_match_count[few]={{total}} 중 {{current}} ì¼ì¹˜
-find_match_count[many]={{total}} 중 {{current}} ì¼ì¹˜
-find_match_count[other]={{total}} 중 {{current}} ì¼ì¹˜
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}} ì´ìƒ ì¼ì¹˜
-find_match_count_limit[one]={{limit}} ì´ìƒ ì¼ì¹˜
-find_match_count_limit[two]={{limit}} ì´ìƒ ì¼ì¹˜
-find_match_count_limit[few]={{limit}} ì´ìƒ ì¼ì¹˜
-find_match_count_limit[many]={{limit}} ì´ìƒ ì¼ì¹˜
-find_match_count_limit[other]={{limit}} ì´ìƒ ì¼ì¹˜
-find_not_found=검색 ê²°ê³¼ ì—†ìŒ
-
-# Error panel labels
-error_more_info=ìžì„¸í•œ ì •ë³´
-error_less_info=ì •ë³´ 간단히 보기
-error_close=닫기
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (빌드: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=메시지: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=스íƒ: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=파ì¼: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=줄 번호: {{line}}
-rendering_error=페ì´ì§€ë¥¼ ë Œë”ë§í•˜ëŠ” ë™ì•ˆ 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤.
-
-# Predefined zoom values
-page_scale_width=페ì´ì§€ ë„ˆë¹„ì— ë§žì¶”ê¸°
-page_scale_fit=페ì´ì§€ì— 맞추기
-page_scale_auto=ìžë™
-page_scale_actual=ì‹¤ì œ í¬ê¸°
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=로드 중…
-loading_error=PDF를 로드하는 ë™ì•ˆ 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤.
-invalid_file_error=잘못ë˜ì—ˆê±°ë‚˜ ì†ìƒëœ PDF 파ì¼.
-missing_file_error=PDF íŒŒì¼ ì—†ìŒ.
-unexpected_response_error=예ìƒì¹˜ 못한 서버 ì‘답입니다.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}} {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} 주ì„]
-password_label=ì´ PDF 파ì¼ì„ ì—´ 수 있는 비밀번호를 ìž…ë ¥í•˜ì„¸ìš”.
-password_invalid=ìž˜ëª»ëœ ë¹„ë°€ë²ˆí˜¸ìž…ë‹ˆë‹¤. 다시 시ë„하세요.
-password_ok=확ì¸
-password_cancel=취소
-
-printing_not_supported=ê²½ê³ : ì´ ë¸Œë¼ìš°ì €ëŠ” ì¸ì‡„를 ì™„ì „ížˆ ì§€ì›í•˜ì§€ 않습니다.
-printing_not_ready=ê²½ê³ : ì´ PDF를 ì¸ì‡„를 í• ìˆ˜ ìžˆì„ ì •ë„로 ì½ì–´ë“¤ì´ì§€ 못했습니다.
-web_fonts_disabled=웹 í°íŠ¸ê°€ 비활성화ë¨: ë‚´ìž¥ëœ PDF ê¸€ê¼´ì„ ì‚¬ìš©í• ìˆ˜ 없습니다.
-
-# Editor
-editor_none.title=ì£¼ì„ íŽ¸ì§‘ 사용 안 함
-editor_none_label=편집 비활성화
-editor_free_text.title=í…스트 ì£¼ì„ ì¶”ê°€
-editor_free_text_label=í…스트 주ì„
-editor_ink.title=ìž‰í¬ ì£¼ì„ ì¶”ê°€
-editor_ink_label=ìž‰í¬ ì£¼ì„
-
-free_text_default_content=í…스트를 ìž…ë ¥í•˜ì„¸ìš”â€¦
-
-# Editor Parameters
-editor_free_text_font_color=글꼴 색ìƒ
-editor_free_text_font_size=글꼴 í¬ê¸°
-editor_ink_line_color=ì„ ìƒ‰ìƒ
-editor_ink_line_thickness=ì„ ë‘께
-
-# Editor Parameters
-editor_free_text_color=색ìƒ
-editor_free_text_size=í¬ê¸°
-editor_ink_color=색ìƒ
-editor_ink_thickness=ë‘께
-editor_ink_opacity=불투명ë„
-
-# Editor aria
-editor_free_text_aria_label=í…스트 편집기
-editor_ink_aria_label=ìž‰í¬ íŽ¸ì§‘ê¸°
-editor_ink_canvas_aria_label=ì‚¬ìš©ìž ìƒì„± ì´ë¯¸ì§€
diff --git a/static/js/pdf-js/web/locale/lij/viewer.properties b/static/js/pdf-js/web/locale/lij/viewer.properties
deleted file mode 100644
index b89981c..0000000
--- a/static/js/pdf-js/web/locale/lij/viewer.properties
+++ /dev/null
@@ -1,234 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pagina primma
-previous_label=Precedente
-next.title=Pagina dòppo
-next_label=Pròscima
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pagina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Diminoisci zoom
-zoom_out_label=Diminoisci zoom
-zoom_in.title=Aomenta zoom
-zoom_in_label=Aomenta zoom
-zoom.title=Zoom
-presentation_mode.title=Vanni into mòddo de prezentaçion
-presentation_mode_label=Mòddo de prezentaçion
-open_file.title=Arvi file
-open_file_label=Arvi
-print.title=Stanpa
-print_label=Stanpa
-download.title=Descaregamento
-download_label=Descaregamento
-bookmark.title=Vixon corente (còpia ò arvi inte 'n neuvo barcon)
-bookmark_label=Vixon corente
-
-# Secondary toolbar and context menu
-tools.title=Atressi
-tools_label=Atressi
-first_page.title=Vanni a-a primma pagina
-first_page_label=Vanni a-a primma pagina
-last_page.title=Vanni a l'urtima pagina
-last_page_label=Vanni a l'urtima pagina
-page_rotate_cw.title=Gia into verso oraio
-page_rotate_cw_label=Gia into verso oraio
-page_rotate_ccw.title=Gia into verso antioraio
-page_rotate_ccw_label=Gia into verso antioraio
-
-cursor_text_select_tool.title=Abilita strumento de seleçion do testo
-cursor_text_select_tool_label=Strumento de seleçion do testo
-cursor_hand_tool.title=Abilita strumento man
-cursor_hand_tool_label=Strumento man
-
-scroll_vertical.title=Deuvia rebelamento verticale
-scroll_vertical_label=Rebelamento verticale
-scroll_horizontal.title=Deuvia rebelamento orizontâ
-scroll_horizontal_label=Rebelamento orizontâ
-scroll_wrapped.title=Deuvia rebelamento incapsolou
-scroll_wrapped_label=Rebelamento incapsolou
-
-spread_none.title=No unite a-a difuxon de pagina
-spread_none_label=No difuxon
-spread_odd.title=Uniscite a-a difuxon de pagina co-o numero dèspa
-spread_odd_label=Difuxon dèspa
-spread_even.title=Uniscite a-a difuxon de pagina co-o numero pari
-spread_even_label=Difuxon pari
-
-# Document properties dialog box
-document_properties.title=Propietæ do documento…
-document_properties_label=Propietæ do documento…
-document_properties_file_name=Nomme schedaio:
-document_properties_file_size=Dimenscion schedaio:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} kB ({{size_b}} byte)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} byte)
-document_properties_title=Titolo:
-document_properties_author=Aoto:
-document_properties_subject=Ogetto:
-document_properties_keywords=Paròlle ciave:
-document_properties_creation_date=Dæta creaçion:
-document_properties_modification_date=Dæta cangiamento:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Aotô originale:
-document_properties_producer=Produtô PDF:
-document_properties_version=Verscion PDF:
-document_properties_page_count=Contezzo pagine:
-document_properties_page_size=Dimenscion da pagina:
-document_properties_page_size_unit_inches=dii gròsci
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=drito
-document_properties_page_size_orientation_landscape=desteizo
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letia
-document_properties_page_size_name_legal=Lezze
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista veloce do Web:
-document_properties_linearized_yes=Sci
-document_properties_linearized_no=No
-document_properties_close=Særa
-
-print_progress_message=Praparo o documento pe-a stanpa…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Anulla
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Ativa/dizativa bara de scianco
-toggle_sidebar_label=Ativa/dizativa bara de scianco
-document_outline.title=Fanni vedde o contorno do documento (scicca doggio pe espande/ridue tutti i elementi)
-document_outline_label=Contorno do documento
-attachments.title=Fanni vedde alegæ
-attachments_label=Alegæ
-thumbs.title=Mostra miniatue
-thumbs_label=Miniatue
-findbar.title=Treuva into documento
-findbar_label=Treuva
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pagina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatua da pagina {{page}}
-
-# Find panel button title and messages
-find_input.title=Treuva
-find_input.placeholder=Treuva into documento…
-find_previous.title=Treuva a ripetiçion precedente do testo da çercâ
-find_previous_label=Precedente
-find_next.title=Treuva a ripetiçion dòppo do testo da çercâ
-find_next_label=Segoente
-find_highlight=Evidençia
-find_match_case_label=Maioscole/minoscole
-find_entire_word_label=Poula intrega
-find_reached_top=Razonto a fin da pagina, continoa da l'iniçio
-find_reached_bottom=Razonto l'iniçio da pagina, continoa da-a fin
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} de {{total}} corispondensa
-find_match_count[two]={{current}} de {{total}} corispondense
-find_match_count[few]={{current}} de {{total}} corispondense
-find_match_count[many]={{current}} de {{total}} corispondense
-find_match_count[other]={{current}} de {{total}} corispondense
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Ciù de {{limit}} corispondense
-find_match_count_limit[one]=Ciù de {{limit}} corispondensa
-find_match_count_limit[two]=Ciù de {{limit}} corispondense
-find_match_count_limit[few]=Ciù de {{limit}} corispondense
-find_match_count_limit[many]=Ciù de {{limit}} corispondense
-find_match_count_limit[other]=Ciù de {{limit}} corispondense
-find_not_found=Testo no trovou
-
-# Error panel labels
-error_more_info=Ciù informaçioin
-error_less_info=Meno informaçioin
-error_close=Særa
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mesaggio: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Schedaio: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linia: {{line}}
-rendering_error=Gh'é stæto 'n'erô itno rendering da pagina.
-
-# Predefined zoom values
-page_scale_width=Larghessa pagina
-page_scale_fit=Adatta a una pagina
-page_scale_auto=Zoom aotomatico
-page_scale_actual=Dimenscioin efetive
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=S'é verificou 'n'erô itno caregamento do PDF.
-invalid_file_error=O schedaio PDF o l'é no valido ò aroinou.
-missing_file_error=O schedaio PDF o no gh'é.
-unexpected_response_error=Risposta inprevista do-u server
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotaçion: {{type}}]
-password_label=Dimme a paròlla segreta pe arvî sto schedaio PDF.
-password_invalid=Paròlla segreta sbalia. Preuva torna.
-password_ok=Va ben
-password_cancel=Anulla
-
-printing_not_supported=Atençion: a stanpa a no l'é conpletamente soportâ da sto navegatô.
-printing_not_ready=Atençion: o PDF o no l'é ancon caregou conpletamente pe-a stanpa.
-web_fonts_disabled=I font do web en dizativæ: inposcibile adeuviâ i carateri do PDF.
diff --git a/static/js/pdf-js/web/locale/lo/viewer.properties b/static/js/pdf-js/web/locale/lo/viewer.properties
deleted file mode 100644
index 8b877d0..0000000
--- a/static/js/pdf-js/web/locale/lo/viewer.properties
+++ /dev/null
@@ -1,145 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=ຫນ້າàºà»ˆàºàº™àº«àº™à»‰àº²
-previous_label=àºà»ˆàºàº™àº«àº™à»‰àº²
-next.title=ຫນ້າຖັດໄປ
-next_label=ຖັດໄປ
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=ຫນ້າ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=ຈາຠ{{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} ຈາຠ{{pagesCount}})
-
-zoom_out.title=ຂະຫàºàº²àºàºàºàº
-zoom_out_label=ຂະຫàºàº²àºàºàºàº
-zoom_in.title=ຂະຫàºàº²àºà»€àº‚ົ້າ
-zoom_in_label=ຂະຫàºàº²àºà»€àº‚ົ້າ
-zoom.title=ຂະຫàºàº²àº
-presentation_mode.title=ສັບປ່ຽນເປັນໂຫມດàºàº²àº™àº™àº³àºªàº°à»€àº«àº™àºµ
-presentation_mode_label=ໂຫມດàºàº²àº™àº™àº³àºªàº°à»€àº«àº™àºµ
-open_file.title=ເປີດໄຟລ໌
-open_file_label=ເປີດ
-print.title=ພິມ
-print_label=ພິມ
-download.title=ດາວໂຫລດ
-download_label=ດາວໂຫລດ
-bookmark.title=ມຸມມàºàº‡àº›àº°àºˆàº¸àºšàº±àº™ (ສຳເນົາ ຫລື ເປີດໃນວິນໂດໃຫມ່)
-bookmark_label=ມຸມມàºàº‡àº›àº°àºˆàº¸àºšàº±àº™
-
-# Secondary toolbar and context menu
-tools.title=ເຄື່àºàº‡àº¡àº·
-tools_label=ເຄື່àºàº‡àº¡àº·
-first_page.title=ໄປທີ່ຫນ້າທຳàºàº´àº”
-first_page_label=ໄປທີ່ຫນ້າທຳàºàº´àº”
-last_page.title=ໄປທີ່ຫນ້າສຸດທ້າàº
-last_page_label=ໄປທີ່ຫນ້າສຸດທ້າàº
-page_rotate_cw.title=ຫມູນຕາມເຂັມໂມງ
-page_rotate_cw_label=ຫມູນຕາມເຂັມໂມງ
-page_rotate_ccw.title=ຫມູນທວນເຂັມໂມງ
-page_rotate_ccw_label=ຫມູນທວນເຂັມໂມງ
-
-
-
-
-# Document properties dialog box
-document_properties_file_name=ຊື່ໄຟລ໌:
-document_properties_file_size=ຂະຫນາດໄຟລ໌:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=ລວງຕັ້ງ
-document_properties_page_size_orientation_landscape=ລວງນàºàº™
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=ຈົດà»àº²àº
-document_properties_page_size_name_legal=ຂà»à»‰àºàº»àº”ຫມາàº
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_close=ປິດ
-
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_close=àºàº»àºà»€àº¥àºµàº
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=ເປີດ/ປິດà»àº–ບຂ້າງ
-toggle_sidebar_label=ເປີດ/ປິດà»àº–ບຂ້າງ
-document_outline_label=ເຄົ້າຮ່າງເàºàºàº°àºªàº²àº™
-findbar_label=ຄົ້ນຫາ
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-
-# Find panel button title and messages
-find_input.title=ຄົ້ນຫາ
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-
-# Error panel labels
-error_more_info=ຂà»à»‰àº¡àº¹àº™à»€àºžàºµà»ˆàº¡à»€àº•ີມ
-error_less_info=ຂà»à»‰àº¡àº¹àº™àº™à»‰àºàºàº¥àº»àº‡
-error_close=ປິດ
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-rendering_error=ມີຂà»à»‰àºœàº´àº”ພາດເàºàºµàº”ຂື້ນຂະນະທີ່àºàº³àº¥àº±àº‡à»€àº£àº±àº™à»€àº”ີຫນ້າ.
-
-# Predefined zoom values
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-
-loading_error=ມີຂà»à»‰àºœàº´àº”ພາດເàºàºµàº”ຂື້ນຂະນະທີ່àºàº³àº¥àº±àº‡à»‚ຫລດ PDF.
-invalid_file_error=ໄຟລ໌ PDF ບà»à»ˆàº–ືàºàº•້àºàº‡àº«àº¥àº·à»€àºªàºàº«àº²àº.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-password_ok=ຕົàºàº¥àº»àº‡
-password_cancel=àºàº»àºà»€àº¥àºµàº
-
diff --git a/static/js/pdf-js/web/locale/locale.properties b/static/js/pdf-js/web/locale/locale.properties
deleted file mode 100644
index ae79f47..0000000
--- a/static/js/pdf-js/web/locale/locale.properties
+++ /dev/null
@@ -1,327 +0,0 @@
-[ach]
-@import url(ach/viewer.properties)
-
-[af]
-@import url(af/viewer.properties)
-
-[an]
-@import url(an/viewer.properties)
-
-[ar]
-@import url(ar/viewer.properties)
-
-[ast]
-@import url(ast/viewer.properties)
-
-[az]
-@import url(az/viewer.properties)
-
-[be]
-@import url(be/viewer.properties)
-
-[bg]
-@import url(bg/viewer.properties)
-
-[bn]
-@import url(bn/viewer.properties)
-
-[bo]
-@import url(bo/viewer.properties)
-
-[br]
-@import url(br/viewer.properties)
-
-[brx]
-@import url(brx/viewer.properties)
-
-[bs]
-@import url(bs/viewer.properties)
-
-[ca]
-@import url(ca/viewer.properties)
-
-[cak]
-@import url(cak/viewer.properties)
-
-[ckb]
-@import url(ckb/viewer.properties)
-
-[cs]
-@import url(cs/viewer.properties)
-
-[cy]
-@import url(cy/viewer.properties)
-
-[da]
-@import url(da/viewer.properties)
-
-[de]
-@import url(de/viewer.properties)
-
-[dsb]
-@import url(dsb/viewer.properties)
-
-[el]
-@import url(el/viewer.properties)
-
-[en-CA]
-@import url(en-CA/viewer.properties)
-
-[en-GB]
-@import url(en-GB/viewer.properties)
-
-[en-US]
-@import url(en-US/viewer.properties)
-
-[eo]
-@import url(eo/viewer.properties)
-
-[es-AR]
-@import url(es-AR/viewer.properties)
-
-[es-CL]
-@import url(es-CL/viewer.properties)
-
-[es-ES]
-@import url(es-ES/viewer.properties)
-
-[es-MX]
-@import url(es-MX/viewer.properties)
-
-[et]
-@import url(et/viewer.properties)
-
-[eu]
-@import url(eu/viewer.properties)
-
-[fa]
-@import url(fa/viewer.properties)
-
-[ff]
-@import url(ff/viewer.properties)
-
-[fi]
-@import url(fi/viewer.properties)
-
-[fr]
-@import url(fr/viewer.properties)
-
-[fy-NL]
-@import url(fy-NL/viewer.properties)
-
-[ga-IE]
-@import url(ga-IE/viewer.properties)
-
-[gd]
-@import url(gd/viewer.properties)
-
-[gl]
-@import url(gl/viewer.properties)
-
-[gn]
-@import url(gn/viewer.properties)
-
-[gu-IN]
-@import url(gu-IN/viewer.properties)
-
-[he]
-@import url(he/viewer.properties)
-
-[hi-IN]
-@import url(hi-IN/viewer.properties)
-
-[hr]
-@import url(hr/viewer.properties)
-
-[hsb]
-@import url(hsb/viewer.properties)
-
-[hu]
-@import url(hu/viewer.properties)
-
-[hy-AM]
-@import url(hy-AM/viewer.properties)
-
-[hye]
-@import url(hye/viewer.properties)
-
-[ia]
-@import url(ia/viewer.properties)
-
-[id]
-@import url(id/viewer.properties)
-
-[is]
-@import url(is/viewer.properties)
-
-[it]
-@import url(it/viewer.properties)
-
-[ja]
-@import url(ja/viewer.properties)
-
-[ka]
-@import url(ka/viewer.properties)
-
-[kab]
-@import url(kab/viewer.properties)
-
-[kk]
-@import url(kk/viewer.properties)
-
-[km]
-@import url(km/viewer.properties)
-
-[kn]
-@import url(kn/viewer.properties)
-
-[ko]
-@import url(ko/viewer.properties)
-
-[lij]
-@import url(lij/viewer.properties)
-
-[lo]
-@import url(lo/viewer.properties)
-
-[lt]
-@import url(lt/viewer.properties)
-
-[ltg]
-@import url(ltg/viewer.properties)
-
-[lv]
-@import url(lv/viewer.properties)
-
-[meh]
-@import url(meh/viewer.properties)
-
-[mk]
-@import url(mk/viewer.properties)
-
-[mr]
-@import url(mr/viewer.properties)
-
-[ms]
-@import url(ms/viewer.properties)
-
-[my]
-@import url(my/viewer.properties)
-
-[nb-NO]
-@import url(nb-NO/viewer.properties)
-
-[ne-NP]
-@import url(ne-NP/viewer.properties)
-
-[nl]
-@import url(nl/viewer.properties)
-
-[nn-NO]
-@import url(nn-NO/viewer.properties)
-
-[oc]
-@import url(oc/viewer.properties)
-
-[pa-IN]
-@import url(pa-IN/viewer.properties)
-
-[pl]
-@import url(pl/viewer.properties)
-
-[pt-BR]
-@import url(pt-BR/viewer.properties)
-
-[pt-PT]
-@import url(pt-PT/viewer.properties)
-
-[rm]
-@import url(rm/viewer.properties)
-
-[ro]
-@import url(ro/viewer.properties)
-
-[ru]
-@import url(ru/viewer.properties)
-
-[sat]
-@import url(sat/viewer.properties)
-
-[sc]
-@import url(sc/viewer.properties)
-
-[scn]
-@import url(scn/viewer.properties)
-
-[sco]
-@import url(sco/viewer.properties)
-
-[si]
-@import url(si/viewer.properties)
-
-[sk]
-@import url(sk/viewer.properties)
-
-[sl]
-@import url(sl/viewer.properties)
-
-[son]
-@import url(son/viewer.properties)
-
-[sq]
-@import url(sq/viewer.properties)
-
-[sr]
-@import url(sr/viewer.properties)
-
-[sv-SE]
-@import url(sv-SE/viewer.properties)
-
-[szl]
-@import url(szl/viewer.properties)
-
-[ta]
-@import url(ta/viewer.properties)
-
-[te]
-@import url(te/viewer.properties)
-
-[tg]
-@import url(tg/viewer.properties)
-
-[th]
-@import url(th/viewer.properties)
-
-[tl]
-@import url(tl/viewer.properties)
-
-[tr]
-@import url(tr/viewer.properties)
-
-[trs]
-@import url(trs/viewer.properties)
-
-[uk]
-@import url(uk/viewer.properties)
-
-[ur]
-@import url(ur/viewer.properties)
-
-[uz]
-@import url(uz/viewer.properties)
-
-[vi]
-@import url(vi/viewer.properties)
-
-[wo]
-@import url(wo/viewer.properties)
-
-[xh]
-@import url(xh/viewer.properties)
-
-[zh-CN]
-@import url(zh-CN/viewer.properties)
-
-[zh-TW]
-@import url(zh-TW/viewer.properties)
-
diff --git a/static/js/pdf-js/web/locale/lt/viewer.properties b/static/js/pdf-js/web/locale/lt/viewer.properties
deleted file mode 100644
index 390fa09..0000000
--- a/static/js/pdf-js/web/locale/lt/viewer.properties
+++ /dev/null
@@ -1,261 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Ankstesnis puslapis
-previous_label=Ankstesnis
-next.title=Kitas puslapis
-next_label=Kitas
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Puslapis
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=iš {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} iš {{pagesCount}})
-
-zoom_out.title=Sumažinti
-zoom_out_label=Sumažinti
-zoom_in.title=Padidinti
-zoom_in_label=Padidinti
-zoom.title=Mastelis
-presentation_mode.title=Pereiti į pateikties veikseną
-presentation_mode_label=Pateikties veiksena
-open_file.title=Atverti failÄ…
-open_file_label=Atverti
-print.title=Spausdinti
-print_label=Spausdinti
-download.title=Parsiųsti
-download_label=Parsiųsti
-bookmark.title=Esamojo rodinio saitas (kopijavimui ar atvÄ—rimui kitame lange)
-bookmark_label=Esamasis rodinys
-
-# Secondary toolbar and context menu
-tools.title=PriemonÄ—s
-tools_label=PriemonÄ—s
-first_page.title=Eiti į pirmą puslapį
-first_page_label=Eiti į pirmą puslapį
-last_page.title=Eiti į paskutinį puslapį
-last_page_label=Eiti į paskutinį puslapį
-page_rotate_cw.title=Pasukti pagal laikrodžio rodyklę
-page_rotate_cw_label=Pasukti pagal laikrodžio rodyklę
-page_rotate_ccw.title=Pasukti prieš laikrodžio rodyklę
-page_rotate_ccw_label=Pasukti prieš laikrodžio rodyklę
-
-cursor_text_select_tool.title=Įjungti teksto žymėjimo įrankį
-cursor_text_select_tool_label=Teksto žymėjimo įrankis
-cursor_hand_tool.title=Įjungti vilkimo įrankį
-cursor_hand_tool_label=Vilkimo įrankis
-
-scroll_page.title=Naudoti puslapio slinkimÄ…
-scroll_page_label=Puslapio slinkimas
-scroll_vertical.title=Naudoti vertikalų slinkimą
-scroll_vertical_label=Vertikalus slinkimas
-scroll_horizontal.title=Naudoti horizontalų slinkimą
-scroll_horizontal_label=Horizontalus slinkimas
-scroll_wrapped.title=Naudoti išklotą slinkimą
-scroll_wrapped_label=Išklotas slinkimas
-
-spread_none.title=Nejungti puslapių į dvilapius
-spread_none_label=Be dvilapių
-spread_odd.title=Sujungti į dvilapius pradedant nelyginiais puslapiais
-spread_odd_label=Nelyginiai dvilapiai
-spread_even.title=Sujungti į dvilapius pradedant lyginiais puslapiais
-spread_even_label=Lyginiai dvilapiai
-
-# Document properties dialog box
-document_properties.title=Dokumento savybės…
-document_properties_label=Dokumento savybės…
-document_properties_file_name=Failo vardas:
-document_properties_file_size=Failo dydis:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} B)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} B)
-document_properties_title=Antraštė:
-document_properties_author=Autorius:
-document_properties_subject=Tema:
-document_properties_keywords=Reikšminiai žodžiai:
-document_properties_creation_date=Sukūrimo data:
-document_properties_modification_date=Modifikavimo data:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Kūrėjas:
-document_properties_producer=PDF generatorius:
-document_properties_version=PDF versija:
-document_properties_page_count=Puslapių skaiÄius:
-document_properties_page_size=Puslapio dydis:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=staÄias
-document_properties_page_size_orientation_landscape=gulsÄias
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Laiškas
-document_properties_page_size_name_legal=Dokumentas
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Spartus žiniatinklio rodinys:
-document_properties_linearized_yes=Taip
-document_properties_linearized_no=Ne
-document_properties_close=Užverti
-
-print_progress_message=Dokumentas ruošiamas spausdinimui…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Atsisakyti
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Rodyti / slėpti šoninį polangį
-toggle_sidebar_notification2.title=Parankinė (dokumentas turi struktūrą / priedų / sluoksnių)
-toggle_sidebar_label=Å oninis polangis
-document_outline.title=Rodyti dokumento struktūrą (spustelėkite dukart norėdami išplėsti/suskleisti visus elementus)
-document_outline_label=Dokumento struktūra
-attachments.title=Rodyti priedus
-attachments_label=Priedai
-layers.title=Rodyti sluoksnius (spustelėkite dukart, norėdami atstatyti visus sluoksnius į numatytąją būseną)
-layers_label=Sluoksniai
-thumbs.title=Rodyti puslapių miniatiūras
-thumbs_label=Miniatiūros
-current_outline_item.title=Rasti dabartinį struktūros elementą
-current_outline_item_label=Dabartinis struktūros elementas
-findbar.title=Ieškoti dokumente
-findbar_label=Rasti
-
-additional_layers=Papildomi sluoksniai
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark={{page}} puslapis
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}} puslapis
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} puslapio miniatiūra
-
-# Find panel button title and messages
-find_input.title=Rasti
-find_input.placeholder=Rasti dokumente…
-find_previous.title=Ieškoti ankstesnio frazės egzemplioriaus
-find_previous_label=Ankstesnis
-find_next.title=Ieškoti tolesnio frazės egzemplioriaus
-find_next_label=Tolesnis
-find_highlight=Viską paryškinti
-find_match_case_label=Skirti didžiąsias ir mažąsias raides
-find_match_diacritics_label=Skirti diakritinius ženklus
-find_entire_word_label=Ištisi žodžiai
-find_reached_top=Pasiekus dokumento pradžią, paieška pratęsta nuo pabaigos
-find_reached_bottom=Pasiekus dokumento pabaigą, paieška pratęsta nuo pradžios
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} iš {{total}} atitikmens
-find_match_count[two]={{current}} iš {{total}} atitikmenų
-find_match_count[few]={{current}} iš {{total}} atitikmenų
-find_match_count[many]={{current}} iš {{total}} atitikmenų
-find_match_count[other]={{current}} iš {{total}} atitikmens
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Daugiau nei {{limit}} atitikmenų
-find_match_count_limit[one]=Daugiau nei {{limit}} atitikmuo
-find_match_count_limit[two]=Daugiau nei {{limit}} atitikmenys
-find_match_count_limit[few]=Daugiau nei {{limit}} atitikmenys
-find_match_count_limit[many]=Daugiau nei {{limit}} atitikmenų
-find_match_count_limit[other]=Daugiau nei {{limit}} atitikmuo
-find_not_found=Ieškoma frazė nerasta
-
-# Error panel labels
-error_more_info=Išsamiau
-error_less_info=GlausÄiau
-error_close=Užverti
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v. {{version}} (darinys: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Pranešimas: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=DÄ—klas: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Failas: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=EilutÄ—: {{line}}
-rendering_error=Atvaizduojant puslapį įvyko klaida.
-
-# Predefined zoom values
-page_scale_width=Priderinti prie lapo ploÄio
-page_scale_fit=Pritaikyti prie lapo dydžio
-page_scale_auto=Automatinis mastelis
-page_scale_actual=Tikras dydis
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Įkeliama…
-loading_error=Įkeliant PDF failą įvyko klaida.
-invalid_file_error=Tai nÄ—ra PDF failas arba jis yra sugadintas.
-missing_file_error=PDF failas nerastas.
-unexpected_response_error=NetikÄ—tas serverio atsakas.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[„{{type}}“ tipo anotacija]
-password_label=Įveskite slaptažodį šiam PDF failui atverti.
-password_invalid=Slaptažodis neteisingas. Bandykite dar kartą.
-password_ok=Gerai
-password_cancel=Atsisakyti
-
-printing_not_supported=Dėmesio! Spausdinimas šioje naršyklėje nėra pilnai realizuotas.
-printing_not_ready=Dėmesio! PDF failas dar nėra pilnai įkeltas spausdinimui.
-web_fonts_disabled=Saityno Å¡riftai iÅ¡jungti – PDF faile esanÄių Å¡riftų naudoti negalima.
-
-# Editor
-editor_none.title=Išjungti komentarų redagavimą
-editor_none_label=Išjungti redagavimą
-editor_free_text.title=Pridėti „FreeText“ komentarą
-editor_free_text_label=„FreeText“ komentaras
-editor_ink.title=PridÄ—ti laisvo stiliaus komentarÄ…
-editor_ink_label=Laisvo stiliaus komentaras
-
-freetext_default_content=Įveskite tekstą…
diff --git a/static/js/pdf-js/web/locale/ltg/viewer.properties b/static/js/pdf-js/web/locale/ltg/viewer.properties
deleted file mode 100644
index b0e202d..0000000
--- a/static/js/pdf-js/web/locale/ltg/viewer.properties
+++ /dev/null
@@ -1,212 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=ĪprÄ«kÅ¡ejÄ lopa
-previous_label=ĪprÄ«kÅ¡ejÄ
-next.title=Nuokomuo lopa
-next_label=Nuokomuo
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Lopa
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=nu {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} nu {{pagesCount}})
-
-zoom_out.title=Attuolynuot
-zoom_out_label=Attuolynuot
-zoom_in.title=Pītuvynuot
-zoom_in_label=Pītuvynuot
-zoom.title=Palelynuojums
-presentation_mode.title=Puorslēgtīs iz Prezentacejis režymu
-presentation_mode_label=Prezentacejis režyms
-open_file.title=Attaiseit failu
-open_file_label=Attaiseit
-print.title=Drukuošona
-print_label=DrukÅt
-download.title=Lejupīluode
-download_label=Lejupīluodeit
-bookmark.title=PoÅ¡reizejais skots (kopÄ“t voi attaiseit jaunÄ lÅ«gÄ)
-bookmark_label=Pošreizejais skots
-
-# Secondary toolbar and context menu
-tools.title=Reiki
-tools_label=Reiki
-first_page.title=Īt iz pyrmū lopu
-first_page_label=Īt iz pyrmū lopu
-last_page.title=Īt iz piedejū lopu
-last_page_label=Īt iz piedejū lopu
-page_rotate_cw.title=Pagrīzt pa pulksteni
-page_rotate_cw_label=Pagrīzt pa pulksteni
-page_rotate_ccw.title=Pagrīzt pret pulksteni
-page_rotate_ccw_label=Pagrīzt pret pulksteni
-
-cursor_text_select_tool.title=Aktivizēt teksta izvieles reiku
-cursor_text_select_tool_label=Teksta izvieles reiks
-cursor_hand_tool.title=Aktivēt rūkys reiku
-cursor_hand_tool_label=Rūkys reiks
-
-scroll_vertical.title=IzmontÅt vertikalÅ« ritinÅÅ¡onu
-scroll_vertical_label=VertikalÅ ritinÅÅ¡ona
-scroll_horizontal.title=IzmontÅt horizontalÅ« ritinÅÅ¡onu
-scroll_horizontal_label=HorizontalÅ ritinÅÅ¡ona
-scroll_wrapped.title=IzmontÅt mÄrÅ«gojamÅ« ritinÅÅ¡onu
-scroll_wrapped_label=MÄrÅ«gojamÅ ritinÅÅ¡ona
-
-spread_none.title=NaizmontÅt lopu atvÄruma režimu
-spread_none_label=Bez atvÄrumim
-spread_odd.title=IzmontÅt lopu atvÄrumus sÅkut nu napÅra numeru lopom
-spread_odd_label=NapÅra lopys pa kreisi
-spread_even.title=IzmontÅt lopu atvÄrumus sÅkut nu pÅra numeru lopom
-spread_even_label=PÅra lopys pa kreisi
-
-# Document properties dialog box
-document_properties.title=Dokumenta īstatiejumi…
-document_properties_label=Dokumenta īstatiejumi…
-document_properties_file_name=Faila nūsaukums:
-document_properties_file_size=Faila izmÄrs:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} biti)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} biti)
-document_properties_title=Nūsaukums:
-document_properties_author=Autors:
-document_properties_subject=Tema:
-document_properties_keywords=AtslÄgi vuordi:
-document_properties_creation_date=Izveides datums:
-document_properties_modification_date=lobuošonys datums:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Radeituojs:
-document_properties_producer=PDF producents:
-document_properties_version=PDF verseja:
-document_properties_page_count=Lopu skaits:
-document_properties_page_size=Lopas izmÄrs:
-document_properties_page_size_unit_inches=collas
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portreta orientaceja
-document_properties_page_size_orientation_landscape=ainovys orientaceja
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=JÄ
-document_properties_linearized_no=NÄ
-document_properties_close=Aiztaiseit
-
-print_progress_message=Preparing document for printing…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Atceļt
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Puorslēgt suonu jūslu
-toggle_sidebar_label=Puorslēgt suonu jūslu
-document_outline.title=Show Document Outline (double-click to expand/collapse all items)
-document_outline_label=Dokumenta saturs
-attachments.title=Show Attachments
-attachments_label=Attachments
-thumbs.title=Paruodeit seiktÄlus
-thumbs_label=SeiktÄli
-findbar.title=Mekleit dokumentÄ
-findbar_label=Mekleit
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Lopa {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Lopys {{page}} seiktÄls
-
-# Find panel button title and messages
-find_input.title=Mekleit
-find_input.placeholder=Mekleit dokumentÄ…
-find_previous.title=Atrast īprīkšejū
-find_previous_label=ĪprÄ«kÅ¡ejÄ
-find_next.title=Atrast nuokamū
-find_next_label=Nuokomuo
-find_highlight=Īkruosuot vysys
-find_match_case_label=Lelū, mozū burtu jiuteigs
-find_reached_top=Sasnīgts dokumenta suokums, turpynojom nu beigom
-find_reached_bottom=Sasnīgtys dokumenta beigys, turpynojom nu suokuma
-find_not_found=FrÄze nav atrosta
-
-# Error panel labels
-error_more_info=Vairuok informacejis
-error_less_info=mozuok informacejis
-error_close=Close
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Ziņuojums: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Steks: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=File: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Ryndeņa: {{line}}
-rendering_error=AttÄlojÅ«t lopu rodÄs klaida
-
-# Predefined zoom values
-page_scale_width=Lopys plotumÄ
-page_scale_fit=Ītylpynūt lopu
-page_scale_auto=Automatiskais izmÄrs
-page_scale_actual=PatÄ«sais izmÄrs
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=Īluodejūt PDF nūtyka klaida.
-invalid_file_error=Nadereigs voi būjuots PDF fails.
-missing_file_error=PDF fails nav atrosts.
-unexpected_response_error=Unexpected server response.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=Īvodit paroli, kab attaiseitu PDF failu.
-password_invalid=Napareiza parole, raugit vēļreiz.
-password_ok=Labi
-password_cancel=Atceļt
-
-printing_not_supported=Uzmaneibu: DrukuoÅ¡ona nu itei puorlÅ«ka dorbojÄs tikai daleji.
-printing_not_ready=Uzmaneibu: PDF nav pilneibÄ Ä«luodeits drukuoÅ¡onai.
-web_fonts_disabled=Å Ä·Ärsteikla fonti nav aktivizÄti: Navar Ä«gult PDF fontus.
diff --git a/static/js/pdf-js/web/locale/lv/viewer.properties b/static/js/pdf-js/web/locale/lv/viewer.properties
deleted file mode 100644
index b9b5c03..0000000
--- a/static/js/pdf-js/web/locale/lv/viewer.properties
+++ /dev/null
@@ -1,234 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=IepriekšējÄ lapa
-previous_label=IepriekšējÄ
-next.title=NÄkamÄ lapa
-next_label=NÄkamÄ
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Lapa
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=no {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} no {{pagesCount}})
-
-zoom_out.title=AttÄlinÄt\u0020
-zoom_out_label=AttÄlinÄt
-zoom_in.title=PietuvinÄt
-zoom_in_label=PietuvinÄt
-zoom.title=PalielinÄjums
-presentation_mode.title=PÄrslÄ“gties uz PrezentÄcijas režīmu
-presentation_mode_label=PrezentÄcijas režīms
-open_file.title=Atvērt failu
-open_file_label=Atvērt
-print.title=DrukÄÅ¡ana
-print_label=DrukÄt
-download.title=LejupielÄde
-download_label=LejupielÄdÄ“t
-bookmark.title=PaÅ¡reizÄ“jais skats (kopÄ“t vai atvÄ“rt jaunÄ logÄ)
-bookmark_label=Pašreizējais skats
-
-# Secondary toolbar and context menu
-tools.title=Rīki
-tools_label=Rīki
-first_page.title=Iet uz pirmo lapu
-first_page_label=Iet uz pirmo lapu
-last_page.title=Iet uz pēdējo lapu
-last_page_label=Iet uz pēdējo lapu
-page_rotate_cw.title=Pagriezt pa pulksteni
-page_rotate_cw_label=Pagriezt pa pulksteni
-page_rotate_ccw.title=Pagriezt pret pulksteni
-page_rotate_ccw_label=Pagriezt pret pulksteni
-
-cursor_text_select_tool.title=Aktivizēt teksta izvēles rīku
-cursor_text_select_tool_label=Teksta izvēles rīks
-cursor_hand_tool.title=Aktivēt rokas rīku
-cursor_hand_tool_label=Rokas rīks
-
-scroll_vertical.title=Izmantot vertikÄlo ritinÄÅ¡anu
-scroll_vertical_label=VertikÄlÄ ritinÄÅ¡ana
-scroll_horizontal.title=Izmantot horizontÄlo ritinÄÅ¡anu
-scroll_horizontal_label=HorizontÄlÄ ritinÄÅ¡ana
-scroll_wrapped.title=Izmantot apkļauto ritinÄÅ¡anu
-scroll_wrapped_label=ApkļautÄ ritinÄÅ¡ana
-
-spread_none.title=Nepievienoties lapu izpletumiem
-spread_none_label=Neizmantot izpletumus
-spread_odd.title=Izmantot lapu izpletumus sÄkot ar nepÄra numuru lapÄm
-spread_odd_label=NepÄra izpletumi
-spread_even.title=Izmantot lapu izpletumus sÄkot ar pÄra numuru lapÄm
-spread_even_label=PÄra izpletumi
-
-# Document properties dialog box
-document_properties.title=Dokumenta iestatījumi…
-document_properties_label=Dokumenta iestatījumi…
-document_properties_file_name=Faila nosaukums:
-document_properties_file_size=Faila izmērs:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} biti)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} biti)
-document_properties_title=Nosaukums:
-document_properties_author=Autors:
-document_properties_subject=Tēma:
-document_properties_keywords=AtslÄ“gas vÄrdi:
-document_properties_creation_date=Izveides datums:
-document_properties_modification_date=LAbošanas datums:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=RadÄ«tÄjs:
-document_properties_producer=PDF producents:
-document_properties_version=PDF versija:
-document_properties_page_count=Lapu skaits:
-document_properties_page_size=Papīra izmērs:
-document_properties_page_size_unit_inches=collas
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portretorientÄcija
-document_properties_page_size_orientation_landscape=ainavorientÄcija
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Vēstule
-document_properties_page_size_name_legal=Juridiskie teksti
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Ä€trÄ tÄ«mekļa skats:
-document_properties_linearized_yes=JÄ
-document_properties_linearized_no=NÄ“
-document_properties_close=Aizvērt
-
-print_progress_message=Gatavo dokumentu drukÄÅ¡anai...
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Atcelt
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=PÄrslÄ“gt sÄnu joslu
-toggle_sidebar_label=PÄrslÄ“gt sÄnu joslu
-document_outline.title=RÄdÄ«t dokumenta struktÅ«ru (veiciet dubultklikšķi lai izvÄ“rstu/sakļautu visus vienumus)
-document_outline_label=Dokumenta saturs
-attachments.title=RÄdÄ«t pielikumus
-attachments_label=Pielikumi
-thumbs.title=ParÄdÄ«t sÄ«ktÄ“lus
-thumbs_label=Sīktēli
-findbar.title=MeklÄ“t dokumentÄ
-findbar_label=Meklēt
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Lapa {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Lapas {{page}} sīktēls
-
-# Find panel button title and messages
-find_input.title=Meklēt
-find_input.placeholder=Meklēt dokumentą
-find_previous.title=Atrast iepriekšējo
-find_previous_label=IepriekšējÄ
-find_next.title=Atrast nÄkamo
-find_next_label=NÄkamÄ
-find_highlight=IekrÄsot visas
-find_match_case_label=Lielo, mazo burtu jutīgs
-find_entire_word_label=Veselus vÄrdus
-find_reached_top=Sasniegts dokumenta sÄkums, turpinÄm no beigÄm
-find_reached_bottom=Sasniegtas dokumenta beigas, turpinÄm no sÄkuma
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} no {{total}} rezultÄta
-find_match_count[two]={{current}} no {{total}} rezultÄtiem
-find_match_count[few]={{current}} no {{total}} rezultÄtiem
-find_match_count[many]={{current}} no {{total}} rezultÄtiem
-find_match_count[other]={{current}} no {{total}} rezultÄtiem
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=VairÄk nekÄ {{limit}} rezultÄti
-find_match_count_limit[one]=VairÄk nekÄ {{limit}} rezultÄti
-find_match_count_limit[two]=VairÄk nekÄ {{limit}} rezultÄti
-find_match_count_limit[few]=VairÄk nekÄ {{limit}} rezultÄti
-find_match_count_limit[many]=VairÄk nekÄ {{limit}} rezultÄti
-find_match_count_limit[other]=VairÄk nekÄ {{limit}} rezultÄti
-find_not_found=FrÄze nav atrasta
-
-# Error panel labels
-error_more_info=VairÄk informÄcijas
-error_less_info=MAzÄk informÄcijas
-error_close=Close
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Ziņojums: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Steks: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=File: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Rindiņa: {{line}}
-rendering_error=AttÄ“lojot lapu radÄs kļūda
-
-# Predefined zoom values
-page_scale_width=Lapas platumÄ
-page_scale_fit=Ietilpinot lapu
-page_scale_auto=AutomÄtiskais izmÄ“rs
-page_scale_actual=Patiesais izmērs
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=IelÄdÄ“jot PDF notika kļūda.
-invalid_file_error=NederÄ«gs vai bojÄts PDF fails.
-missing_file_error=PDF fails nav atrasts.
-unexpected_response_error=Negaidīa servera atbilde.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} anotÄcija]
-password_label=Ievadiet paroli, lai atvērtu PDF failu.
-password_invalid=Nepareiza parole, mēģiniet vēlreiz.
-password_ok=Labi
-password_cancel=Atcelt
-
-printing_not_supported=UzmanÄ«bu: DrukÄÅ¡ana no šī pÄrlÅ«ka darbojas tikai daļēji.
-printing_not_ready=UzmanÄ«bu: PDF nav pilnÄ«bÄ ielÄdÄ“ts drukÄÅ¡anai.
-web_fonts_disabled=Tīmekļa fonti nav aktivizēti: Nevar iegult PDF fontus.
diff --git a/static/js/pdf-js/web/locale/meh/viewer.properties b/static/js/pdf-js/web/locale/meh/viewer.properties
deleted file mode 100644
index 7a1bf04..0000000
--- a/static/js/pdf-js/web/locale/meh/viewer.properties
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Página yata
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-
-zoom.title=Nasa´a ka´nu/Nasa´a luli
-open_file_label=SÃne
-
-# Secondary toolbar and context menu
-
-
-
-
-# Document properties dialog box
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized_yes=Kuvi
-document_properties_close=Nakasɨ
-
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Nkuvi-ka
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-findbar_label=Nánuku
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-
-# Find panel button title and messages
-find_input.title=Nánuku
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-
-# Error panel labels
-error_close=Nakasɨ
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-
-# Predefined zoom values
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-password_cancel=Nkuvi-ka
-
diff --git a/static/js/pdf-js/web/locale/mk/viewer.properties b/static/js/pdf-js/web/locale/mk/viewer.properties
deleted file mode 100644
index 24ff730..0000000
--- a/static/js/pdf-js/web/locale/mk/viewer.properties
+++ /dev/null
@@ -1,138 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Претходна Ñтраница
-previous_label=Претходна
-next.title=Следна Ñтраница
-next_label=Следна
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-
-zoom_out.title=Ðамалување
-zoom_out_label=Ðамали
-zoom_in.title=Зголемување
-zoom_in_label=Зголеми
-zoom.title=Променување на големина
-presentation_mode.title=Премини во презентациÑки режим
-presentation_mode_label=ПрезентациÑки режим
-open_file.title=Отворање датотека
-open_file_label=Отвори
-print.title=Печатење
-print_label=Печати
-download.title=Преземање
-download_label=Преземи
-bookmark.title=Овој преглед (копирај или отвори во нов прозорец)
-bookmark_label=Овој преглед
-
-# Secondary toolbar and context menu
-tools.title=Ðлатки
-
-
-
-
-# Document properties dialog box
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_close=Откажи
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Вклучи Ñтранична лента
-toggle_sidebar_label=Вклучи Ñтранична лента
-thumbs.title=Прикажување на икони
-thumbs_label=Икони
-findbar.title=Ðајди во документот
-findbar_label=Ðајди
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Страница {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Икона од Ñтраница {{page}}
-
-# Find panel button title and messages
-find_previous.title=Ðајди ја предходната појава на фразата
-find_previous_label=Претходно
-find_next.title=Ðајди ја Ñледната појава на фразата
-find_next_label=Следно
-find_highlight=Означи ÑÑ
-find_match_case_label=Токму така
-find_reached_top=Барањето Ñтигна до почетокот на документот и почнува од крајот
-find_reached_bottom=Барањето Ñтигна до крајот на документот и почнува од почеток
-find_not_found=Фразата не е пронајдена
-
-# Error panel labels
-error_more_info=Повеќе информации
-error_less_info=Помалку информации
-error_close=Затвори
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Порака: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Датотека: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Линија: {{line}}
-rendering_error=ÐаÑтана грешка при прикажувањето на Ñтраницата.
-
-# Predefined zoom values
-page_scale_width=Ширина на Ñтраница
-page_scale_fit=Цела Ñтраница
-page_scale_auto=ÐвтоматÑка големина
-page_scale_actual=ВиÑтинÑка големина
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-
-loading_error=ÐаÑтана грешка при вчитувањето на PDF-от.
-invalid_file_error=Ðевалидна или корумпирана PDF датотека.
-missing_file_error=ÐедоÑтаÑува PDF документ.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-password_cancel=Откажи
-
-printing_not_supported=Предупредување: Печатењето не е целоÑно поддржано во овој прелиÑтувач.
-printing_not_ready=Предупредување: PDF документот не е целоÑно вчитан за печатење.
-web_fonts_disabled=Интернет фонтовите Ñе оневозможени: не може да Ñе кориÑтат вградените PDF фонтови.
diff --git a/static/js/pdf-js/web/locale/mr/viewer.properties b/static/js/pdf-js/web/locale/mr/viewer.properties
deleted file mode 100644
index 697c2a3..0000000
--- a/static/js/pdf-js/web/locale/mr/viewer.properties
+++ /dev/null
@@ -1,230 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=मागील पृषà¥à¤
-previous_label=मागील
-next.title=पà¥à¤¢à¥€à¤² पृषà¥à¤
-next_label=पà¥à¤¢à¥€à¤²
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=पृषà¥à¤
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}}पैकी
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pagesCount}} पैकी {{pageNumber}})
-
-zoom_out.title=छोटे करा
-zoom_out_label=छोटे करा
-zoom_in.title=मोठे करा
-zoom_in_label=मोठे करा
-zoom.title=लहान किंवा मोठे करा
-presentation_mode.title=पà¥à¤°à¤¸à¥à¤¤à¥à¤¤à¤¿à¤•रण मोडचा वापर करा
-presentation_mode_label=पà¥à¤°à¤¸à¥à¤¤à¥à¤¤à¤¿à¤•रण मोड
-open_file.title=फाइल उघडा
-open_file_label=उघडा
-print.title=छपाई करा
-print_label=छपाई करा
-download.title=डाउनलोड करा
-download_label=डाउनलोड करा
-bookmark.title=सधà¥à¤¯à¤¾à¤šà¥‡ अवलोकन (नवीन पटलात पà¥à¤°à¤¤ बनवा किंवा उघडा)
-bookmark_label=सधà¥à¤¯à¤¾à¤šà¥‡ अवलोकन
-
-# Secondary toolbar and context menu
-tools.title=साधने
-tools_label=साधने
-first_page.title=पहिलà¥à¤¯à¤¾ पृषà¥à¤ ावर जा
-first_page_label=पहिलà¥à¤¯à¤¾ पृषà¥à¤ ावर जा
-last_page.title=शेवटचà¥à¤¯à¤¾ पृषà¥à¤ ावर जा
-last_page_label=शेवटचà¥à¤¯à¤¾ पृषà¥à¤ ावर जा
-page_rotate_cw.title=घडà¥à¤¯à¤¾à¤³à¤¾à¤šà¥à¤¯à¤¾ काटà¥à¤¯à¤¾à¤šà¥à¤¯à¤¾ दिशेने फिरवा
-page_rotate_cw_label=घडà¥à¤¯à¤¾à¤³à¤¾à¤šà¥à¤¯à¤¾ काटà¥à¤¯à¤¾à¤šà¥à¤¯à¤¾ दिशेने फिरवा
-page_rotate_ccw.title=घडà¥à¤¯à¤¾à¤³à¤¾à¤šà¥à¤¯à¤¾ काटà¥à¤¯à¤¾à¤šà¥à¤¯à¤¾ उलट दिशेने फिरवा
-page_rotate_ccw_label=घडà¥à¤¯à¤¾à¤³à¤¾à¤šà¥à¤¯à¤¾ काटà¥à¤¯à¤¾à¤šà¥à¤¯à¤¾ उलट दिशेने फिरवा
-
-cursor_text_select_tool.title=मजकूर निवड साधन कारà¥à¤¯à¤¾à¤¨à¥à¤µà¤¯à¥€à¤¤ करा
-cursor_text_select_tool_label=मजकूर निवड साधन
-cursor_hand_tool.title=हात साधन कारà¥à¤¯à¤¾à¤¨à¥à¤µà¤¿à¤¤ करा
-cursor_hand_tool_label=हसà¥à¤¤ साधन
-
-scroll_vertical.title=अनà¥à¤²à¤‚ब सà¥à¤•à¥à¤°à¥‹à¤²à¤¿à¤‚ग वापरा
-scroll_vertical_label=अनà¥à¤²à¤‚ब सà¥à¤•à¥à¤°à¥‹à¤²à¤¿à¤‚ग
-scroll_horizontal.title=कà¥à¤·à¥ˆà¤¤à¤¿à¤œ सà¥à¤•à¥à¤°à¥‹à¤²à¤¿à¤‚ग वापरा
-scroll_horizontal_label=कà¥à¤·à¥ˆà¤¤à¤¿à¤œ सà¥à¤•à¥à¤°à¥‹à¤²à¤¿à¤‚ग
-
-
-# Document properties dialog box
-document_properties.title=दसà¥à¤¤à¤à¤µà¤œ गà¥à¤£à¤§à¤°à¥à¤®â€¦
-document_properties_label=दसà¥à¤¤à¤à¤µà¤œ गà¥à¤£à¤§à¤°à¥à¤®â€¦
-document_properties_file_name=फाइलचे नाव:
-document_properties_file_size=फाइल आकार:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} बाइटà¥à¤¸)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} बाइटà¥à¤¸)
-document_properties_title=शिरà¥à¤·à¤•:
-document_properties_author=लेखक:
-document_properties_subject=विषय:
-document_properties_keywords=मà¥à¤–à¥à¤¯à¤¶à¤¬à¥à¤¦:
-document_properties_creation_date=निरà¥à¤®à¤¾à¤£ दिनांक:
-document_properties_modification_date=दà¥à¤°à¥‚सà¥à¤¤à¥€ दिनांक:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=निरà¥à¤®à¤¾à¤¤à¤¾:
-document_properties_producer=PDF निरà¥à¤®à¤¾à¤¤à¤¾:
-document_properties_version=PDF आवृतà¥à¤¤à¥€:
-document_properties_page_count=पृषà¥à¤ संखà¥à¤¯à¤¾:
-document_properties_page_size=पृषà¥à¤ आकार:
-document_properties_page_size_unit_inches=इंच
-document_properties_page_size_unit_millimeters=मीमी
-document_properties_page_size_orientation_portrait=उà¤à¥€ मांडणी
-document_properties_page_size_orientation_landscape=आडवे
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=जलद वेब दृषà¥à¤¯:
-document_properties_linearized_yes=हो
-document_properties_linearized_no=नाही
-document_properties_close=बंद करा
-
-print_progress_message=छपाई करीता पृषà¥à¤ तयार करीत आहे…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=रदà¥à¤¦ करा
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=बाजूचीपटà¥à¤Ÿà¥€ टॉगल करा
-toggle_sidebar_label=बाजूचीपटà¥à¤Ÿà¥€ टॉगल करा
-document_outline.title=दसà¥à¤¤à¤à¤µà¤œ बाहà¥à¤¯à¤°à¥‡à¤–ा दरà¥à¤¶à¤µà¤¾ (विसà¥à¤¤à¥ƒà¤¤ करणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी दोनवेळा कà¥à¤²à¤¿à¤• करा /सरà¥à¤µ घटक दाखवा)
-document_outline_label=दसà¥à¤¤à¤à¤µà¤œ रूपरेषा
-attachments.title=जोडपतà¥à¤° दाखवा
-attachments_label=जोडपतà¥à¤°
-thumbs.title=थंबनेलà¥à¤¸à¥ दाखवा
-thumbs_label=थंबनेलà¥à¤¸à¥
-findbar.title=दसà¥à¤¤à¤à¤µà¤œà¤¾à¤¤ शोधा
-findbar_label=शोधा
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=पृषà¥à¤ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=पृषà¥à¤ ाचे थंबनेल {{page}}
-
-# Find panel button title and messages
-find_input.title=शोधा
-find_input.placeholder=दसà¥à¤¤à¤à¤µà¤œà¤¾à¤¤ शोधा…
-find_previous.title=वाकपà¥à¤°à¤¯à¥‹à¤—ची मागील घटना शोधा
-find_previous_label=मागील
-find_next.title=वाकपà¥à¤°à¤¯à¥‹à¤—ची पà¥à¤¢à¥€à¤² घटना शोधा
-find_next_label=पà¥à¤¢à¥€à¤²
-find_highlight=सरà¥à¤µ ठळक करा
-find_match_case_label=आकार जà¥à¤³à¤µà¤¾
-find_entire_word_label=संपूरà¥à¤£ शबà¥à¤¦
-find_reached_top=दसà¥à¤¤à¤à¤µà¤œà¤¾à¤šà¥à¤¯à¤¾ शीरà¥à¤·à¤•ास पोहचले, तळपासून पà¥à¤¢à¥‡
-find_reached_bottom=दसà¥à¤¤à¤à¤µà¤œà¤¾à¤šà¥à¤¯à¤¾ तळाला पोहचले, शीरà¥à¤·à¤•ापासून पà¥à¤¢à¥‡
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{total}} पैकी {{current}} सà¥à¤¸à¤‚गत
-find_match_count[two]={{total}} पैकी {{current}} सà¥à¤¸à¤‚गत
-find_match_count[few]={{total}} पैकी {{current}} सà¥à¤¸à¤‚गत
-find_match_count[many]={{total}} पैकी {{current}} सà¥à¤¸à¤‚गत
-find_match_count[other]={{total}} पैकी {{current}} सà¥à¤¸à¤‚गत
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}} पेकà¥à¤·à¤¾ अधिक जà¥à¤³à¤£à¥à¤¯à¤¾
-find_match_count_limit[one]={{limit}} पेकà¥à¤·à¤¾ अधिक जà¥à¤³à¤£à¥à¤¯à¤¾
-find_match_count_limit[two]={{limit}} पेकà¥à¤·à¤¾ अधिक जà¥à¤³à¤£à¥à¤¯à¤¾
-find_match_count_limit[few]={{limit}} पेकà¥à¤·à¤¾ अधिक जà¥à¤³à¤£à¥à¤¯à¤¾
-find_match_count_limit[many]={{limit}} पेकà¥à¤·à¤¾ अधिक जà¥à¤³à¤£à¥à¤¯à¤¾
-find_match_count_limit[other]={{limit}} पेकà¥à¤·à¤¾ अधिक जà¥à¤³à¤£à¥à¤¯à¤¾
-find_not_found=वाकपà¥à¤°à¤¯à¥‹à¤— आढळले नाही
-
-# Error panel labels
-error_more_info=आणखी माहिती
-error_less_info=कमी माहिती
-error_close=बंद करा
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=संदेश: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=सà¥à¤Ÿà¥…क: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=फाइल: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=रेष: {{line}}
-rendering_error=पृषà¥à¤ दाखवतेवेळी तà¥à¤°à¥à¤Ÿà¥€ आढळली.
-
-# Predefined zoom values
-page_scale_width=पृषà¥à¤ ाची रूंदी
-page_scale_fit=पृषà¥à¤ बसवा
-page_scale_auto=सà¥à¤µà¤¯à¤‚ लाहन किंवा मोठे करणे
-page_scale_actual=पà¥à¤°à¤¤à¥à¤¯à¤•à¥à¤· आकार
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=PDF लोड करतेवेळी तà¥à¤°à¥à¤Ÿà¥€ आढळली.
-invalid_file_error=अवैध किंवा दोषीत PDF फाइल.
-missing_file_error=न आढळणारी PDF फाइल.
-unexpected_response_error=अनपेकà¥à¤·à¤¿à¤¤ सरà¥à¤µà¥à¤¹à¤° पà¥à¤°à¤¤à¤¿à¤¸à¤¾à¤¦.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} टिपणà¥à¤£à¥€]
-password_label=ही PDF फाइल उघडणà¥à¤¯à¤¾à¤•रिता पासवरà¥à¤¡ दà¥à¤¯à¤¾.
-password_invalid=अवैध पासवरà¥à¤¡. कृपया पà¥à¤¨à¥à¤¹à¤¾ पà¥à¤°à¤¯à¤¤à¥à¤¨ करा.
-password_ok=ठीक आहे
-password_cancel=रदà¥à¤¦ करा
-
-printing_not_supported=सावधानता: या बà¥à¤°à¤¾à¤‰à¤à¤°à¤¤à¤°à¥à¤«à¥‡ छपाइ पूरà¥à¤£à¤ªà¤£à¥‡ समरà¥à¤¥à¥€à¤¤ नाही.
-printing_not_ready=सावधानता: छपाईकरिता PDF पूरà¥à¤£à¤¤à¤¯à¤¾ लोड à¤à¤¾à¤²à¥‡ नाही.
-web_fonts_disabled=वेब टंक असमरà¥à¤¥à¥€à¤¤ आहेत: à¤à¤®à¥à¤¬à¥‡à¤¡à¥‡à¤¡ PDF टंक वापर अशकà¥à¤¯.
diff --git a/static/js/pdf-js/web/locale/ms/viewer.properties b/static/js/pdf-js/web/locale/ms/viewer.properties
deleted file mode 100644
index a6d4ce8..0000000
--- a/static/js/pdf-js/web/locale/ms/viewer.properties
+++ /dev/null
@@ -1,234 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Halaman Dahulu
-previous_label=Dahulu
-next.title=Halaman Berikut
-next_label=Berikut
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Halaman
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=daripada {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} daripada {{pagesCount}})
-
-zoom_out.title=Zum Keluar
-zoom_out_label=Zum Keluar
-zoom_in.title=Zum Masuk
-zoom_in_label=Zum Masuk
-zoom.title=Zum
-presentation_mode.title=Tukar ke Mod Persembahan
-presentation_mode_label=Mod Persembahan
-open_file.title=Buka Fail
-open_file_label=Buka
-print.title=Cetak
-print_label=Cetak
-download.title=Muat turun
-download_label=Muat turun
-bookmark.title=Paparan semasa (salin atau buka dalam tetingkap baru)
-bookmark_label=Paparan Semasa
-
-# Secondary toolbar and context menu
-tools.title=Alatan
-tools_label=Alatan
-first_page.title=Pergi ke Halaman Pertama
-first_page_label=Pergi ke Halaman Pertama
-last_page.title=Pergi ke Halaman Terakhir
-last_page_label=Pergi ke Halaman Terakhir
-page_rotate_cw.title=Berputar ikut arah Jam
-page_rotate_cw_label=Berputar ikut arah Jam
-page_rotate_ccw.title=Pusing berlawan arah jam
-page_rotate_ccw_label=Pusing berlawan arah jam
-
-cursor_text_select_tool.title=Dayakan Alatan Pilihan Teks
-cursor_text_select_tool_label=Alatan Pilihan Teks
-cursor_hand_tool.title=Dayakan Alatan Tangan
-cursor_hand_tool_label=Alatan Tangan
-
-scroll_vertical.title=Guna Skrol Menegak
-scroll_vertical_label=Skrol Menegak
-scroll_horizontal.title=Guna Skrol Mengufuk
-scroll_horizontal_label=Skrol Mengufuk
-scroll_wrapped.title=Guna Skrol Berbalut
-scroll_wrapped_label=Skrol Berbalut
-
-spread_none.title=Jangan hubungkan hamparan halaman
-spread_none_label=Tanpa Hamparan
-spread_odd.title=Hubungkan hamparan halaman dengan halaman nombor ganjil
-spread_odd_label=Hamparan Ganjil
-spread_even.title=Hubungkan hamparan halaman dengan halaman nombor genap
-spread_even_label=Hamparan Seimbang
-
-# Document properties dialog box
-document_properties.title=Sifat Dokumen…
-document_properties_label=Sifat Dokumen…
-document_properties_file_name=Nama fail:
-document_properties_file_size=Saiz fail:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bait)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bait)
-document_properties_title=Tajuk:
-document_properties_author=Pengarang:
-document_properties_subject=Subjek:
-document_properties_keywords=Kata kunci:
-document_properties_creation_date=Masa Dicipta:
-document_properties_modification_date=Tarikh Ubahsuai:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Pencipta:
-document_properties_producer=Pengeluar PDF:
-document_properties_version=Versi PDF:
-document_properties_page_count=Kiraan Laman:
-document_properties_page_size=Saiz Halaman:
-document_properties_page_size_unit_inches=dalam
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=potret
-document_properties_page_size_orientation_landscape=landskap
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Paparan Web Pantas:
-document_properties_linearized_yes=Ya
-document_properties_linearized_no=Tidak
-document_properties_close=Tutup
-
-print_progress_message=Menyediakan dokumen untuk dicetak…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Batal
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Togol Bar Sisi
-toggle_sidebar_label=Togol Bar Sisi
-document_outline.title=Papar Rangka Dokumen (klik-dua-kali untuk kembangkan/kolaps semua item)
-document_outline_label=Rangka Dokumen
-attachments.title=Papar Lampiran
-attachments_label=Lampiran
-thumbs.title=Papar Thumbnails
-thumbs_label=Imej kecil
-findbar.title=Cari didalam Dokumen
-findbar_label=Cari
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Halaman {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Halaman Imej kecil {{page}}
-
-# Find panel button title and messages
-find_input.title=Cari
-find_input.placeholder=Cari dalam dokumen…
-find_previous.title=Cari teks frasa berkenaan yang terdahulu
-find_previous_label=Dahulu
-find_next.title=Cari teks frasa berkenaan yang berikut
-find_next_label=Berikut
-find_highlight=Serlahkan semua
-find_match_case_label=Huruf sepadan
-find_entire_word_label=Seluruh perkataan
-find_reached_top=Mencapai teratas daripada dokumen, sambungan daripada bawah
-find_reached_bottom=Mencapai terakhir daripada dokumen, sambungan daripada atas
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} daripada {{total}} padanan
-find_match_count[two]={{current}} daripada {{total}} padanan
-find_match_count[few]={{current}} daripada {{total}} padanan
-find_match_count[many]={{current}} daripada {{total}} padanan
-find_match_count[other]={{current}} daripada {{total}} padanan
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Lebih daripada {{limit}} padanan
-find_match_count_limit[one]=Lebih daripada {{limit}} padanan
-find_match_count_limit[two]=Lebih daripada {{limit}} padanan
-find_match_count_limit[few]=Lebih daripada {{limit}} padanan
-find_match_count_limit[many]=Lebih daripada {{limit}} padanan
-find_match_count_limit[other]=Lebih daripada {{limit}} padanan
-find_not_found=Frasa tidak ditemui
-
-# Error panel labels
-error_more_info=Maklumat Lanjut
-error_less_info=Kurang Informasi
-error_close=Tutup
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mesej: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Timbun: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fail: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Garis: {{line}}
-rendering_error=Ralat berlaku ketika memberikan halaman.
-
-# Predefined zoom values
-page_scale_width=Lebar Halaman
-page_scale_fit=Muat Halaman
-page_scale_auto=Zoom Automatik
-page_scale_actual=Saiz Sebenar
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=Masalah berlaku semasa menuatkan sebuah PDF.
-invalid_file_error=Tidak sah atau fail PDF rosak.
-missing_file_error=Fail PDF Hilang.
-unexpected_response_error=Respon pelayan yang tidak dijangka.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Anotasi]
-password_label=Masukan kata kunci untuk membuka fail PDF ini.
-password_invalid=Kata laluan salah. Cuba lagi.
-password_ok=OK
-password_cancel=Batal
-
-printing_not_supported=Amaran: Cetakan ini tidak sepenuhnya disokong oleh pelayar ini.
-printing_not_ready=Amaran: PDF tidak sepenuhnya dimuatkan untuk dicetak.
-web_fonts_disabled=Fon web dinyahdayakan: tidak dapat menggunakan fon terbenam PDF.
diff --git a/static/js/pdf-js/web/locale/my/viewer.properties b/static/js/pdf-js/web/locale/my/viewer.properties
deleted file mode 100644
index 39944cd..0000000
--- a/static/js/pdf-js/web/locale/my/viewer.properties
+++ /dev/null
@@ -1,190 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=အရင် စာမျက်နှာ
-previous_label=အရင်နေရာ
-next.title=ရှေ့ စာမျက်နှာ
-next_label=နောက်á€á€á€¯
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=စာမျက်နှာ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} á
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pagesCount}} á {{pageNumber}})
-
-zoom_out.title=á€á€»á€¯á€¶á€·á€•ါ
-zoom_out_label=á€á€»á€¯á€¶á€·á€•ါ
-zoom_in.title=á€á€»á€²á€·á€•ါ
-zoom_in_label=á€á€»á€²á€·á€•ါ
-zoom.title=á€á€»á€¯á€¶á€·/á€á€»á€²á€·á€•ါ
-presentation_mode.title=ဆွေးနွေးá€á€„်ပြစနစ်သá€á€¯á€· ကူးပြောင်းပါ
-presentation_mode_label=ဆွေးနွေးá€á€„်ပြစနစ်
-open_file.title=ဖá€á€¯á€„်အားဖွင့်ပါá‹
-open_file_label=ဖွင့်ပါ
-print.title=ပုံနှá€á€¯á€•်ပါ
-print_label=ပုံနှá€á€¯á€•်ပါ
-download.title=ကူးဆွဲ
-download_label=ကူးဆွဲ
-bookmark.title=လက်ရှဠမြင်ကွင်း (á€á€„်းဒá€á€¯á€¸á€¡á€žá€…်မှာ ကူးပါ သá€á€¯á€·á€™á€Ÿá€¯á€á€º ဖွင့်ပါ)
-bookmark_label=လက်ရှဠမြင်ကွင်း
-
-# Secondary toolbar and context menu
-tools.title=ကá€á€›á€á€šá€¬á€™á€»á€¬á€¸
-tools_label=ကá€á€›á€á€šá€¬á€™á€»á€¬á€¸
-first_page.title=ပထမ စာမျက်နှာသá€á€¯á€·
-first_page_label=ပထမ စာမျက်နှာသá€á€¯á€·
-last_page.title=နောက်ဆုံး စာမျက်နှာသá€á€¯á€·
-last_page_label=နောက်ဆုံး စာမျက်နှာသá€á€¯á€·
-page_rotate_cw.title=နာရီလက်á€á€¶ အá€á€á€¯á€„်း
-page_rotate_cw_label=နာရီလက်á€á€¶ အá€á€á€¯á€„်း
-page_rotate_ccw.title=နာရီလက်á€á€¶ ပြောင်းပြန်
-page_rotate_ccw_label=နာရီလက်á€á€¶ ပြောင်းပြန်
-
-
-
-
-# Document properties dialog box
-document_properties.title=မှá€á€ºá€á€™á€ºá€¸á€™á€¾á€á€ºá€›á€¬ ဂုá€á€ºá€žá€á€¹á€á€á€™á€»á€¬á€¸
-document_properties_label=မှá€á€ºá€á€™á€ºá€¸á€™á€¾á€á€ºá€›á€¬ ဂုá€á€ºá€žá€á€¹á€á€á€™á€»á€¬á€¸
-document_properties_file_name=ဖá€á€¯á€„် :
-document_properties_file_size=ဖá€á€¯á€„်ဆá€á€¯á€’် :
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} ကီလá€á€¯á€˜á€á€¯á€á€º ({{size_b}}ဘá€á€¯á€á€º)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=á€á€±á€«á€„်းစဉ်‌ -
-document_properties_author=ရေးသားသူ:
-document_properties_subject=အကြောင်းအရာ:\u0020
-document_properties_keywords=သော့á€á€»á€€á€º စာလုံး:
-document_properties_creation_date=ထုá€á€ºá€œá€¯á€•်ရက်စွဲ:
-document_properties_modification_date=ပြင်ဆင်ရက်စွဲ:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=ဖန်á€á€®á€¸á€žá€°:
-document_properties_producer=PDF ထုá€á€ºá€œá€¯á€•်သူ:
-document_properties_version=PDF ဗားရှင်း:
-document_properties_page_count=စာမျက်နှာအရေအá€á€½á€€á€º:
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_close=ပá€á€á€º
-
-print_progress_message=Preparing document for printing…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=ပယ်​ဖျက်ပါ
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=ဘေးá€á€”်းဖွင့်ပá€á€á€º
-toggle_sidebar_label=ဖွင့်ပá€á€á€º ဆလá€á€¯á€€á€ºá€’ါ
-document_outline.title=စာá€á€™á€ºá€¸á€¡á€€á€»á€‰á€ºá€¸á€á€»á€¯á€•်ကá€á€¯ ပြပါ (စာရင်းအားလုံးကá€á€¯ á€á€»á€¯á€¶á€·/á€á€»á€²á€·á€›á€”် ကလစ်နှစ်á€á€»á€€á€ºá€”ှá€á€•်ပါ)
-document_outline_label=စာá€á€™á€ºá€¸á€¡á€€á€»á€‰á€ºá€¸á€á€»á€¯á€•်
-attachments.title=á€á€½á€²á€á€»á€€á€ºá€™á€»á€¬á€¸ ပြပါ
-attachments_label=á€á€½á€²á€‘ားá€á€»á€€á€ºá€™á€»á€¬á€¸
-thumbs.title=ပုံရá€á€•်ငယ်များကá€á€¯ ပြပါ
-thumbs_label=ပုံရá€á€•်ငယ်များ
-findbar.title=Find in Document
-findbar_label=ရှာဖွေပါ
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=စာမျက်နှာ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=စာမျက်နှာရဲ့ ပုံရá€á€•်ငယ် {{page}}
-
-# Find panel button title and messages
-find_input.title=ရှာဖွေပါ
-find_input.placeholder=စာá€á€™á€ºá€¸á€‘ဲá€á€½á€„် ရှာဖွေရန်…
-find_previous.title=စကားစုရဲ့ အရင် ​ဖြစ်ပွားမှုကá€á€¯ ရှာဖွေပါ
-find_previous_label=နောက်သá€á€¯á€·
-find_next.title=စကားစုရဲ့ နောက်ထပ် ​ဖြစ်ပွားမှုကá€á€¯ ရှာဖွေပါ
-find_next_label=ရှေ့သá€á€¯á€·
-find_highlight=အားလုံးကá€á€¯ မျဉ်းသားပါ
-find_match_case_label=စာလုံး á€á€á€¯á€€á€ºá€†á€á€¯á€„်ပါ
-find_reached_top=စာမျက်နှာထá€á€•် ရောက်နေပြီአအဆုံးကနေ ပြန်စပါ
-find_reached_bottom=စာမျက်နှာအဆုံး ရောက်နေပြီአထá€á€•်ကနေ ပြန်စပါ
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_not_found=စကားစု မá€á€½á€±á€·á€›á€˜á€°á€¸
-
-# Error panel labels
-error_more_info=နောက်ထပ်အá€á€»á€€á€ºá€¡á€œá€€á€ºá€™á€»á€¬á€¸
-error_less_info=အနည်းငယ်မျှသော သá€á€„်းအá€á€»á€€á€ºá€¡á€œá€€á€º
-error_close=ပá€á€á€º
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=မက်ဆေ့ - {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=အထပ် - {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ဖá€á€¯á€„် {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=လá€á€¯á€„်း - {{line}}
-rendering_error=စာမျက်နှာကá€á€¯ ပုံဖော်နေá€á€»á€á€”်မှာ အမှားá€á€…်á€á€¯á€á€½á€±á€·á€›á€•ါá€á€šá€ºá‹
-
-# Predefined zoom values
-page_scale_width=စာမျက်နှာ အကျယ်
-page_scale_fit=စာမျက်နှာ ကွက်á€á€
-page_scale_auto=အလá€á€¯á€¡á€œá€»á€±á€¬á€€á€º á€á€»á€¯á€¶á€·á€á€»á€²á€·
-page_scale_actual=အမှန်á€á€€á€šá€ºá€›á€¾á€á€á€²á€· အရွယ်
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=PDF ဖá€á€¯á€„် ကá€á€¯á€†á€½á€²á€á€„်နေá€á€»á€á€”်မှာ အမှားá€á€…်á€á€¯á€á€½á€±á€·á€›á€•ါá€á€šá€ºá‹
-invalid_file_error=မရသော သá€á€¯á€· ပျက်နေသော PDF ဖá€á€¯á€„်
-missing_file_error=PDF ပျောက်ဆုံး
-unexpected_response_error=မမျှော်လင့်ထားသော ဆာဗာမှ ပြန်ကြားá€á€»á€€á€º
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} အဓá€á€•္ပာယ်ဖွင့်ဆá€á€¯á€á€»á€€á€º]
-password_label=ယá€á€¯ PDF ကá€á€¯ ဖွင့်ရန် စကားá€á€¾á€€á€ºá€€á€á€¯ ရá€á€¯á€€á€ºá€•ါá‹
-password_invalid=စာá€á€¾á€€á€º မှားသည်ዠထပ်ကြá€á€¯á€¸á€…ားကြည့်ပါá‹
-password_ok=OK
-password_cancel=ပယ်​ဖျက်ပါ
-
-printing_not_supported=သá€á€á€•ေးá€á€»á€€á€ºáŠá€•ရင့်ထုá€á€ºá€á€¼á€„်းကá€á€¯á€¤á€˜á€šá€±á€¬á€€á€ºá€†á€¬á€žá€Šá€º ပြည့်á€á€…ွာထောက်ပံ့မထားပါ á‹
-printing_not_ready=သá€á€á€•ေးá€á€»á€€á€º: ယá€á€¯ PDF ဖá€á€¯á€„်သည် ပုံနှá€á€•်ရန် မပြည့်စုံပါ
-web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts.
diff --git a/static/js/pdf-js/web/locale/nb-NO/viewer.properties b/static/js/pdf-js/web/locale/nb-NO/viewer.properties
deleted file mode 100644
index 5a72650..0000000
--- a/static/js/pdf-js/web/locale/nb-NO/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Forrige side
-previous_label=Forrige
-next.title=Neste side
-next_label=Neste
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Side
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=av {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} av {{pagesCount}})
-
-zoom_out.title=Zoom ut
-zoom_out_label=Zoom ut
-zoom_in.title=Zoom inn
-zoom_in_label=Zoom inn
-zoom.title=Zoom
-presentation_mode.title=Bytt til presentasjonsmodus
-presentation_mode_label=Presentasjonsmodus
-open_file.title=Ã…pne fil
-open_file_label=Ã…pne
-print.title=Skriv ut
-print_label=Skriv ut
-download.title=Last ned
-download_label=Last ned
-bookmark.title=Nåværende visning (kopier eller åpne i et nytt vindu)
-bookmark_label=Nåværende visning
-
-# Secondary toolbar and context menu
-tools.title=Verktøy
-tools_label=Verktøy
-first_page.title=Gå til første side
-first_page_label=Gå til første side
-last_page.title=GÃ¥ til siste side
-last_page_label=GÃ¥ til siste side
-page_rotate_cw.title=Roter med klokken
-page_rotate_cw_label=Roter med klokken
-page_rotate_ccw.title=Roter mot klokken
-page_rotate_ccw_label=Roter mot klokken
-
-cursor_text_select_tool.title=Aktiver tekstmarkeringsverktøy
-cursor_text_select_tool_label=Tekstmarkeringsverktøy
-cursor_hand_tool.title=Aktiver handverktøy
-cursor_hand_tool_label=Handverktøy
-
-scroll_page.title=Bruk siderulling
-scroll_page_label=Siderulling
-scroll_vertical.title=Bruk vertikal rulling
-scroll_vertical_label=Vertikal rulling
-scroll_horizontal.title=Bruk horisontal rulling
-scroll_horizontal_label=Horisontal rulling
-scroll_wrapped.title=Bruk flersiderulling
-scroll_wrapped_label=Flersiderulling
-
-spread_none.title=Vis enkeltsider
-spread_none_label=Enkeltsider
-spread_odd.title=Vis oppslag med ulike sidenumre til venstre
-spread_odd_label=Oppslag med forside
-spread_even.title=Vis oppslag med like sidenumre til venstre
-spread_even_label=Oppslag uten forside
-
-# Document properties dialog box
-document_properties.title=Dokumentegenskaper …
-document_properties_label=Dokumentegenskaper …
-document_properties_file_name=Filnavn:
-document_properties_file_size=Filstørrelse:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Dokumentegenskaper …
-document_properties_author=Forfatter:
-document_properties_subject=Emne:
-document_properties_keywords=Nøkkelord:
-document_properties_creation_date=Opprettet dato:
-document_properties_modification_date=Endret dato:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Opprettet av:
-document_properties_producer=PDF-verktøy:
-document_properties_version=PDF-versjon:
-document_properties_page_count=Sideantall:
-document_properties_page_size=Sidestørrelse:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=stående
-document_properties_page_size_orientation_landscape=liggende
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Hurtig nettvisning:
-document_properties_linearized_yes=Ja
-document_properties_linearized_no=Nei
-document_properties_close=Lukk
-
-print_progress_message=Forbereder dokument for utskrift …
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Avbryt
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Slå av/på sidestolpe
-toggle_sidebar_notification2.title=Vis/gjem sidestolpe (dokumentet inneholder oversikt/vedlegg/lag)
-toggle_sidebar_label=Slå av/på sidestolpe
-document_outline.title=Vis dokumentdisposisjonen (dobbeltklikk for å utvide/skjule alle elementer)
-document_outline_label=Dokumentdisposisjon
-attachments.title=Vis vedlegg
-attachments_label=Vedlegg
-layers.title=Vis lag (dobbeltklikk for å tilbakestille alle lag til standardtilstand)
-layers_label=Lag
-thumbs.title=Vis miniatyrbilde
-thumbs_label=Miniatyrbilde
-current_outline_item.title=Finn gjeldende disposisjonselement
-current_outline_item_label=Gjeldende disposisjonselement
-findbar.title=Finn i dokumentet
-findbar_label=Finn
-
-additional_layers=Ytterligere lag
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Side {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Side {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatyrbilde av side {{page}}
-
-# Find panel button title and messages
-find_input.title=Søk
-find_input.placeholder=Søk i dokument…
-find_previous.title=Finn forrige forekomst av frasen
-find_previous_label=Forrige
-find_next.title=Finn neste forekomst av frasen
-find_next_label=Neste
-find_highlight=Uthev alle
-find_match_case_label=Skill store/små bokstaver
-find_match_diacritics_label=Samsvar diakritiske tegn
-find_entire_word_label=Hele ord
-find_reached_top=NÃ¥dde toppen av dokumentet, fortsetter fra bunnen
-find_reached_bottom=NÃ¥dde bunnen av dokumentet, fortsetter fra toppen
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} av {{total}} treff
-find_match_count[two]={{current}} av {{total}} treff
-find_match_count[few]={{current}} av {{total}} treff
-find_match_count[many]={{current}} av {{total}} treff
-find_match_count[other]={{current}} av {{total}} treff
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Mer enn {{limit}} treff
-find_match_count_limit[one]=Mer enn {{limit}} treff
-find_match_count_limit[two]=Mer enn {{limit}} treff
-find_match_count_limit[few]=Mer enn {{limit}} treff
-find_match_count_limit[many]=Mer enn {{limit}} treff
-find_match_count_limit[other]=Mer enn {{limit}} treff
-find_not_found=Fant ikke teksten
-
-# Error panel labels
-error_more_info=Mer info
-error_less_info=Mindre info
-error_close=Lukk
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (bygg: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Melding: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stakk: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fil: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linje: {{line}}
-rendering_error=En feil oppstod ved opptegning av siden.
-
-# Predefined zoom values
-page_scale_width=Sidebredde
-page_scale_fit=Tilpass til siden
-page_scale_auto=Automatisk zoom
-page_scale_actual=Virkelig størrelse
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}} %
-
-# Loading indicator messages
-loading=Laster…
-loading_error=En feil oppstod ved lasting av PDF.
-invalid_file_error=Ugyldig eller skadet PDF-fil.
-missing_file_error=Manglende PDF-fil.
-unexpected_response_error=Uventet serverrespons.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} annotasjon]
-password_label=Skriv inn passordet for å åpne denne PDF-filen.
-password_invalid=Ugyldig passord. Prøv igjen.
-password_ok=OK
-password_cancel=Avbryt
-
-printing_not_supported=Advarsel: Utskrift er ikke fullstendig støttet av denne nettleseren.
-printing_not_ready=Advarsel: PDF er ikke fullstendig innlastet for utskrift.
-web_fonts_disabled=Web-fonter er avslått: Kan ikke bruke innbundne PDF-fonter.
-
-# Editor
-editor_none.title=Slå av kommentarredigering
-editor_none_label=Slå av redigering
-editor_free_text.title=Legg til fritekstkommentar
-editor_free_text_label=Fritekstkommentar
-editor_ink.title=Legg til håndskreven kommentar
-editor_ink_label=HÃ¥ndskreven kommentar
-
-freetext_default_content=Skriv inn litt tekst…
-
-free_text_default_content=Skriv inn tekst…
-
-# Editor Parameters
-editor_free_text_font_color=Skriftfarge
-editor_free_text_font_size=Skriftstørrelse
-editor_ink_line_color=Linjefarge
-editor_ink_line_thickness=Linjetykkelse
-
-# Editor Parameters
-editor_free_text_color=Farge
-editor_free_text_size=Størrelse
-editor_ink_color=Farge
-editor_ink_thickness=Tykkelse
-editor_ink_opacity=Ugjennomsiktighet
-
-# Editor aria
-editor_free_text_aria_label=FreeText-redigerer
-editor_ink_aria_label=Ink-redigerer
-editor_ink_canvas_aria_label=Brukerskapt bilde
diff --git a/static/js/pdf-js/web/locale/ne-NP/viewer.properties b/static/js/pdf-js/web/locale/ne-NP/viewer.properties
deleted file mode 100644
index 0044167..0000000
--- a/static/js/pdf-js/web/locale/ne-NP/viewer.properties
+++ /dev/null
@@ -1,217 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=अघिलà¥à¤²à¥‹ पृषà¥à¤
-previous_label=अघिलà¥à¤²à¥‹
-next.title=पछिलà¥à¤²à¥‹ पृषà¥à¤
-next_label=पछिलà¥à¤²à¥‹
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=पृषà¥à¤
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} मधà¥à¤¯à¥‡
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pagesCount}} को {{pageNumber}})
-
-zoom_out.title=जà¥à¤® घटाउनà¥à¤¹à¥‹à¤¸à¥
-zoom_out_label=जà¥à¤® घटाउनà¥à¤¹à¥‹à¤¸à¥
-zoom_in.title=जà¥à¤® बढाउनà¥à¤¹à¥‹à¤¸à¥
-zoom_in_label=जà¥à¤® बढाउनà¥à¤¹à¥‹à¤¸à¥
-zoom.title=जà¥à¤® गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥
-presentation_mode.title=पà¥à¤°à¤¸à¥à¤¤à¥à¤¤à¤¿ मोडमा जानà¥à¤¹à¥‹à¤¸à¥
-presentation_mode_label=पà¥à¤°à¤¸à¥à¤¤à¥à¤¤à¤¿ मोड
-open_file.title=फाइल खोलà¥à¤¨à¥à¤¹à¥‹à¤¸à¥
-open_file_label=खोलà¥à¤¨à¥à¤¹à¥‹à¤¸à¥
-print.title=मà¥à¤¦à¥à¤°à¤£ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥
-print_label=मà¥à¤¦à¥à¤°à¤£ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥
-download.title=डाउनलोडहरू
-download_label=डाउनलोडहरू
-bookmark.title=वरà¥à¤¤à¤®à¤¾à¤¨ दृशà¥à¤¯ (पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ वा नयाठसञà¥à¤à¥à¤¯à¤¾à¤²à¤®à¤¾ खà¥à¤²à¥à¤¨à¥à¤¹à¥‹à¤¸à¥)
-bookmark_label=हालको दृशà¥à¤¯
-
-# Secondary toolbar and context menu
-tools.title=औजारहरू
-tools_label=औजारहरू
-first_page.title=पहिलो पृषà¥à¤ मा जानà¥à¤¹à¥‹à¤¸à¥
-first_page_label=पहिलो पृषà¥à¤ मा जानà¥à¤¹à¥‹à¤¸à¥
-last_page.title=पछिलà¥à¤²à¥‹ पृषà¥à¤ मा जानà¥à¤¹à¥‹à¤¸à¥
-last_page_label=पछिलà¥à¤²à¥‹ पृषà¥à¤ मा जानà¥à¤¹à¥‹à¤¸à¥
-page_rotate_cw.title=घडीको दिशामा घà¥à¤®à¤¾à¤‰à¤¨à¥à¤¹à¥‹à¤¸à¥
-page_rotate_cw_label=घडीको दिशामा घà¥à¤®à¤¾à¤‰à¤¨à¥à¤¹à¥‹à¤¸à¥
-page_rotate_ccw.title=घडीको विपरित दिशामा घà¥à¤®à¤¾à¤‰à¤¨à¥à¤¹à¥‹à¤¸à¥
-page_rotate_ccw_label=घडीको विपरित दिशामा घà¥à¤®à¤¾à¤‰à¤¨à¥à¤¹à¥‹à¤¸à¥
-
-cursor_text_select_tool.title=पाठचयन उपकरण सकà¥à¤·à¤® गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥
-cursor_text_select_tool_label=पाठचयन उपकरण
-cursor_hand_tool.title=हाते उपकरण सकà¥à¤·à¤® गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥
-cursor_hand_tool_label=हाते उपकरण
-
-scroll_vertical.title=ठाडो सà¥à¤•à¥à¤°à¥‹à¤²à¤¿à¤™à¥à¤— पà¥à¤°à¤¯à¥‹à¤— गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥
-scroll_vertical_label=ठाडो सà¥à¤•à¥à¤°à¥à¤°à¥‹à¤²à¤¿à¤™à¥à¤—
-scroll_horizontal.title=तेरà¥à¤¸à¥‹ सà¥à¤•à¥à¤°à¥‹à¤²à¤¿à¤™à¥à¤— पà¥à¤°à¤¯à¥‹à¤— गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥
-scroll_horizontal_label=तेरà¥à¤¸à¥‹ सà¥à¤•à¥à¤°à¥‹à¤²à¤¿à¤™à¥à¤—
-scroll_wrapped.title=लिपि सà¥à¤•à¥à¤°à¥‹à¤²à¤¿à¤™à¥à¤— पà¥à¤°à¤¯à¥‹à¤— गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥
-scroll_wrapped_label=लिपि सà¥à¤•à¥à¤°à¥‹à¤²à¤¿à¤™à¥à¤—
-
-spread_none.title=पृषà¥à¤ सà¥à¤ªà¥à¤°à¥‡à¤¡à¤®à¤¾ सामेल हà¥à¤¨à¥à¤¹à¥à¤¨à¥à¤¨
-spread_none_label=सà¥à¤ªà¥à¤°à¥‡à¤¡ छैन
-
-# Document properties dialog box
-document_properties.title=कागजात विशेषताहरू...
-document_properties_label=कागजात विशेषताहरू...
-document_properties_file_name=फाइल नाम:
-document_properties_file_size=फाइल आकार:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=शीरà¥à¤·à¤•:
-document_properties_author=लेखक:
-document_properties_subject=विषयः
-document_properties_keywords=शबà¥à¤¦à¤•à¥à¤žà¥à¤œà¥€à¤ƒ
-document_properties_creation_date=सिरà¥à¤œà¤¨à¤¾ गरिà¤à¤•ो मिति:
-document_properties_modification_date=परिमारà¥à¤œà¤¿à¤¤ मिति:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=सरà¥à¤œà¤•:
-document_properties_producer=PDF निरà¥à¤®à¤¾à¤¤à¤¾:
-document_properties_version=PDF संसà¥à¤•रण
-document_properties_page_count=पृषà¥à¤ गणना:
-document_properties_page_size=पृषà¥à¤ आकार:
-document_properties_page_size_unit_inches=इनà¥à¤š
-document_properties_page_size_unit_millimeters=मि.मि.
-document_properties_page_size_orientation_portrait=पोटà¥à¤°à¥‡à¤Ÿ
-document_properties_page_size_orientation_landscape=परिदृशà¥à¤¯
-document_properties_page_size_name_letter=अकà¥à¤·à¤°
-document_properties_page_size_name_legal=कानूनी
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized_yes=हो
-document_properties_linearized_no=होइन
-document_properties_close=बनà¥à¤¦ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥
-
-print_progress_message=मà¥à¤¦à¥à¤°à¤£à¤•ा लागि कागजात तयारी गरिदै…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=रदà¥à¤¦ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=टगल साइडबार
-toggle_sidebar_label=टगल साइडबार
-document_outline.title=कागजातको रूपरेखा देखाउनà¥à¤¹à¥‹à¤¸à¥ (सबै वसà¥à¤¤à¥à¤¹à¤°à¥‚ विसà¥à¤¤à¤¾à¤°/पतन गरà¥à¤¨ डबल-कà¥à¤²à¤¿à¤• गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥)
-document_outline_label=दसà¥à¤¤à¤¾à¤µà¥‡à¤œà¤•ो रूपरेखा
-attachments.title=संलगà¥à¤¨à¤¹à¤°à¥‚ देखाउनà¥à¤¹à¥‹à¤¸à¥
-attachments_label=संलगà¥à¤¨à¤•हरू
-thumbs.title=थमà¥à¤¬à¤¨à¥‡à¤²à¤¹à¤°à¥‚ देखाउनà¥à¤¹à¥‹à¤¸à¥
-thumbs_label=थमà¥à¤¬à¤¨à¥‡à¤²à¤¹à¤°à¥‚
-findbar.title=कागजातमा फेला पारà¥à¤¨à¥à¤¹à¥‹à¤¸à¥
-findbar_label=फेला पारà¥à¤¨à¥à¤¹à¥‹à¤¸à¥
-
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=पृषà¥à¤ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} पृषà¥à¤ को थमà¥à¤¬à¤¨à¥‡à¤²
-
-# Find panel button title and messages
-find_input.title=फेला पारà¥à¤¨à¥à¤¹à¥‹à¤¸à¥
-find_input.placeholder=कागजातमा फेला पारà¥à¤¨à¥à¤¹à¥‹à¤¸à¥â€¦
-find_previous.title=यस वाकà¥à¤¯à¤¾à¤‚शको अघिलà¥à¤²à¥‹ घटना फेला पारà¥à¤¨à¥à¤¹à¥‹à¤¸à¥
-find_previous_label=अघिलà¥à¤²à¥‹
-find_next.title=यस वाकà¥à¤¯à¤¾à¤‚शको पछिलà¥à¤²à¥‹ घटना फेला पारà¥à¤¨à¥à¤¹à¥‹à¤¸à¥
-find_next_label=अरà¥à¤•ो
-find_highlight=सबै हाइलाइट गरà¥à¤¨à¥‡
-find_match_case_label=केस जोडा मिलाउनà¥à¤¹à¥‹à¤¸à¥
-find_entire_word_label=पà¥à¤°à¤¾ शबà¥à¤¦à¤¹à¤°à¥
-find_reached_top=पृषà¥à¤ को शिरà¥à¤·à¤®à¤¾ पà¥à¤—ीयो, तलबाट जारी गरिà¤à¤•ो थियो
-find_reached_bottom=पृषà¥à¤ को अनà¥à¤¤à¥à¤¯à¤®à¤¾ पà¥à¤—ीयो, शिरà¥à¤·à¤¬à¤¾à¤Ÿ जारी गरिà¤à¤•ो थियो
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_not_found=वाकà¥à¤¯à¤¾à¤‚श फेला परेन
-
-# Error panel labels
-error_more_info=थप जानकारी
-error_less_info=कम जानकारी
-error_close=बनà¥à¤¦ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=सनà¥à¤¦à¥‡à¤¶: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=सà¥à¤Ÿà¥à¤¯à¤¾à¤•: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=फाइल: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=लाइन: {{line}}
-rendering_error=पृषà¥à¤ पà¥à¤°à¤¤à¤¿à¤ªà¤¾à¤¦à¤¨ गरà¥à¤¦à¤¾ à¤à¤‰à¤Ÿà¤¾ तà¥à¤°à¥à¤Ÿà¤¿ देखापरà¥â€à¤¯à¥‹à¥¤
-
-# Predefined zoom values
-page_scale_width=पृषà¥à¤ चौडाइ
-page_scale_fit=पृषà¥à¤ ठिकà¥à¤• मिलà¥à¤¨à¥‡
-page_scale_auto=सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ जà¥à¤®
-page_scale_actual=वासà¥à¤¤à¤µà¤¿à¤• आकार
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error=यो PDF लोड गरà¥à¤¦à¤¾ à¤à¤‰à¤Ÿà¤¾ तà¥à¤°à¥à¤Ÿà¤¿ देखापरà¥â€à¤¯à¥‹à¥¤
-invalid_file_error=अवैध वा दà¥à¤·à¤¿à¤¤ PDF फाइल।
-missing_file_error=हराईरहेको PDF फाइल।
-unexpected_response_error=अपà¥à¤°à¤¤à¥à¤¯à¤¾à¤¶à¤¿à¤¤ सरà¥à¤à¤° पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾à¥¤
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=यस PDF फाइललाई खोलà¥à¤¨ गोपà¥à¤¯à¤¶à¤¬à¥à¤¦ पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥à¥¤
-password_invalid=अवैध गोपà¥à¤¯à¤¶à¤¬à¥à¤¦à¥¤ पà¥à¤¨à¤ƒ पà¥à¤°à¤¯à¤¾à¤¸ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥à¥¤
-password_ok=ठिक छ
-password_cancel=रदà¥à¤¦ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥
-
-printing_not_supported=चेतावनी: यो बà¥à¤°à¤¾à¤‰à¤œà¤°à¤®à¤¾ मà¥à¤¦à¥à¤°à¤£ पूरà¥à¤£à¤¤à¤¯à¤¾ समरà¥à¤¥à¤¿à¤¤ छैन।
-printing_not_ready=चेतावनी: PDF मà¥à¤¦à¥à¤°à¤£à¤•ा लागि पूरà¥à¤£à¤¤à¤¯à¤¾ लोड à¤à¤à¤•ो छैन।
-web_fonts_disabled=वेब फनà¥à¤Ÿ असकà¥à¤·à¤® छनà¥: à¤à¤®à¥à¤¬à¥‡à¤¡à¥‡à¤¡ PDF फनà¥à¤Ÿ पà¥à¤°à¤¯à¥‹à¤— गरà¥à¤¨ असमरà¥à¤¥à¥¤
diff --git a/static/js/pdf-js/web/locale/nl/viewer.properties b/static/js/pdf-js/web/locale/nl/viewer.properties
deleted file mode 100644
index eb659b6..0000000
--- a/static/js/pdf-js/web/locale/nl/viewer.properties
+++ /dev/null
@@ -1,274 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Vorige pagina
-previous_label=Vorige
-next.title=Volgende pagina
-next_label=Volgende
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pagina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=van {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} van {{pagesCount}})
-
-zoom_out.title=Uitzoomen
-zoom_out_label=Uitzoomen
-zoom_in.title=Inzoomen
-zoom_in_label=Inzoomen
-zoom.title=Zoomen
-presentation_mode.title=Wisselen naar presentatiemodus
-presentation_mode_label=Presentatiemodus
-open_file.title=Bestand openen
-open_file_label=Openen
-print.title=Afdrukken
-print_label=Afdrukken
-download.title=Downloaden
-download_label=Downloaden
-bookmark.title=Huidige weergave (kopiëren of openen in nieuw venster)
-bookmark_label=Huidige weergave
-
-# Secondary toolbar and context menu
-tools.title=Hulpmiddelen
-tools_label=Hulpmiddelen
-first_page.title=Naar eerste pagina gaan
-first_page_label=Naar eerste pagina gaan
-last_page.title=Naar laatste pagina gaan
-last_page_label=Naar laatste pagina gaan
-page_rotate_cw.title=Rechtsom draaien
-page_rotate_cw_label=Rechtsom draaien
-page_rotate_ccw.title=Linksom draaien
-page_rotate_ccw_label=Linksom draaien
-
-cursor_text_select_tool.title=Tekstselectiehulpmiddel inschakelen
-cursor_text_select_tool_label=Tekstselectiehulpmiddel
-cursor_hand_tool.title=Handhulpmiddel inschakelen
-cursor_hand_tool_label=Handhulpmiddel
-
-scroll_page.title=Paginascrollen gebruiken
-scroll_page_label=Paginascrollen
-scroll_vertical.title=Verticaal scrollen gebruiken
-scroll_vertical_label=Verticaal scrollen
-scroll_horizontal.title=Horizontaal scrollen gebruiken
-scroll_horizontal_label=Horizontaal scrollen
-scroll_wrapped.title=Scrollen met terugloop gebruiken
-scroll_wrapped_label=Scrollen met terugloop
-
-spread_none.title=Dubbele pagina’s niet samenvoegen
-spread_none_label=Geen dubbele pagina’s
-spread_odd.title=Dubbele pagina’s samenvoegen vanaf oneven pagina’s
-spread_odd_label=Oneven dubbele pagina’s
-spread_even.title=Dubbele pagina’s samenvoegen vanaf even pagina’s
-spread_even_label=Even dubbele pagina’s
-
-# Document properties dialog box
-document_properties.title=Documenteigenschappen…
-document_properties_label=Documenteigenschappen…
-document_properties_file_name=Bestandsnaam:
-document_properties_file_size=Bestandsgrootte:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Titel:
-document_properties_author=Auteur:
-document_properties_subject=Onderwerp:
-document_properties_keywords=Sleutelwoorden:
-document_properties_creation_date=Aanmaakdatum:
-document_properties_modification_date=Wijzigingsdatum:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Maker:
-document_properties_producer=PDF-producent:
-document_properties_version=PDF-versie:
-document_properties_page_count=Aantal pagina’s:
-document_properties_page_size=Paginagrootte:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=staand
-document_properties_page_size_orientation_landscape=liggend
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Snelle webweergave:
-document_properties_linearized_yes=Ja
-document_properties_linearized_no=Nee
-document_properties_close=Sluiten
-
-print_progress_message=Document voorbereiden voor afdrukken…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Annuleren
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Zijbalk in-/uitschakelen
-toggle_sidebar_notification2.title=Zijbalk in-/uitschakelen (document bevat overzicht/bijlagen/lagen)
-toggle_sidebar_label=Zijbalk in-/uitschakelen
-document_outline.title=Documentoverzicht tonen (dubbelklik om alle items uit/samen te vouwen)
-document_outline_label=Documentoverzicht
-attachments.title=Bijlagen tonen
-attachments_label=Bijlagen
-layers.title=Lagen tonen (dubbelklik om alle lagen naar de standaardstatus terug te zetten)
-layers_label=Lagen
-thumbs.title=Miniaturen tonen
-thumbs_label=Miniaturen
-current_outline_item.title=Huidig item in inhoudsopgave zoeken
-current_outline_item_label=Huidig item in inhoudsopgave
-findbar.title=Zoeken in document
-findbar_label=Zoeken
-
-additional_layers=Aanvullende lagen
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Pagina {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pagina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatuur van pagina {{page}}
-
-# Find panel button title and messages
-find_input.title=Zoeken
-find_input.placeholder=Zoeken in document…
-find_previous.title=De vorige overeenkomst van de tekst zoeken
-find_previous_label=Vorige
-find_next.title=De volgende overeenkomst van de tekst zoeken
-find_next_label=Volgende
-find_highlight=Alles markeren
-find_match_case_label=Hoofdlettergevoelig
-find_match_diacritics_label=Diakritische tekens gebruiken
-find_entire_word_label=Hele woorden
-find_reached_top=Bovenkant van document bereikt, doorgegaan vanaf onderkant
-find_reached_bottom=Onderkant van document bereikt, doorgegaan vanaf bovenkant
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} van {{total}} overeenkomst
-find_match_count[two]={{current}} van {{total}} overeenkomsten
-find_match_count[few]={{current}} van {{total}} overeenkomsten
-find_match_count[many]={{current}} van {{total}} overeenkomsten
-find_match_count[other]={{current}} van {{total}} overeenkomsten
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Meer dan {{limit}} overeenkomsten
-find_match_count_limit[one]=Meer dan {{limit}} overeenkomst
-find_match_count_limit[two]=Meer dan {{limit}} overeenkomsten
-find_match_count_limit[few]=Meer dan {{limit}} overeenkomsten
-find_match_count_limit[many]=Meer dan {{limit}} overeenkomsten
-find_match_count_limit[other]=Meer dan {{limit}} overeenkomsten
-find_not_found=Tekst niet gevonden
-
-# Error panel labels
-error_more_info=Meer informatie
-error_less_info=Minder informatie
-error_close=Sluiten
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Bericht: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Bestand: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Regel: {{line}}
-rendering_error=Er is een fout opgetreden bij het weergeven van de pagina.
-
-# Predefined zoom values
-page_scale_width=Paginabreedte
-page_scale_fit=Hele pagina
-page_scale_auto=Automatisch zoomen
-page_scale_actual=Werkelijke grootte
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Laden…
-loading_error=Er is een fout opgetreden bij het laden van de PDF.
-invalid_file_error=Ongeldig of beschadigd PDF-bestand.
-missing_file_error=PDF-bestand ontbreekt.
-unexpected_response_error=Onverwacht serverantwoord.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}}-aantekening]
-password_label=Voer het wachtwoord in om dit PDF-bestand te openen.
-password_invalid=Ongeldig wachtwoord. Probeer het opnieuw.
-password_ok=OK
-password_cancel=Annuleren
-
-printing_not_supported=Waarschuwing: afdrukken wordt niet volledig ondersteund door deze browser.
-printing_not_ready=Waarschuwing: de PDF is niet volledig geladen voor afdrukken.
-web_fonts_disabled=Weblettertypen zijn uitgeschakeld: gebruik van ingebedde PDF-lettertypen is niet mogelijk.
-
-# Editor
-editor_none.title=Bewerken van annotaties uitschakelen
-editor_none_label=Bewerken uitschakelen
-editor_free_text.title=FreeText-annotatie toevoegen
-editor_free_text_label=FreeText-annotatie
-editor_ink.title=Ink-annotatie toevoegen
-editor_ink_label=Ink-annotatie
-
-freetext_default_content=Voer wat tekst in…
-
-free_text_default_content=Voer tekst in…
-
-# Editor Parameters
-editor_free_text_font_color=Letterkleur
-editor_free_text_font_size=Lettergrootte
-editor_ink_line_color=Lijnkleur
-editor_ink_line_thickness=Lijndikte
-
-# Editor aria
-editor_free_text_aria_label=FreeText-bewerker
-editor_ink_aria_label=Ink-bewerker
-editor_ink_canvas_aria_label=Door gebruiker gemaakte afbeelding
diff --git a/static/js/pdf-js/web/locale/nn-NO/viewer.properties b/static/js/pdf-js/web/locale/nn-NO/viewer.properties
deleted file mode 100644
index e93a7ad..0000000
--- a/static/js/pdf-js/web/locale/nn-NO/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Føregåande side
-previous_label=Føregåande
-next.title=Neste side
-next_label=Neste
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Side
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=av {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} av {{pagesCount}})
-
-zoom_out.title=Zoom ut
-zoom_out_label=Zoom ut
-zoom_in.title=Zoom inn
-zoom_in_label=Zoom inn
-zoom.title=Zoom
-presentation_mode.title=Byt til presentasjonsmodus
-presentation_mode_label=Presentasjonsmodus
-open_file.title=Opne fil
-open_file_label=Opne
-print.title=Skriv ut
-print_label=Skriv ut
-download.title=Last ned
-download_label=Last ned
-bookmark.title=Gjeldande vising (kopier eller opne i nytt vindauge)
-bookmark_label=Gjeldande vising
-
-# Secondary toolbar and context menu
-tools.title=Verktøy
-tools_label=Verktøy
-first_page.title=Gå til første side
-first_page_label=Gå til første side
-last_page.title=GÃ¥ til siste side
-last_page_label=GÃ¥ til siste side
-page_rotate_cw.title=Roter med klokka
-page_rotate_cw_label=Roter med klokka
-page_rotate_ccw.title=Roter mot klokka
-page_rotate_ccw_label=Roter mot klokka
-
-cursor_text_select_tool.title=Aktiver tekstmarkeringsverktøy
-cursor_text_select_tool_label=Tekstmarkeringsverktøy
-cursor_hand_tool.title=Aktiver handverktøy
-cursor_hand_tool_label=Handverktøy
-
-scroll_page.title=Bruk siderulling
-scroll_page_label=Siderulling
-scroll_vertical.title=Bruk vertikal rulling
-scroll_vertical_label=Vertikal rulling
-scroll_horizontal.title=Bruk horisontal rulling
-scroll_horizontal_label=Horisontal rulling
-scroll_wrapped.title=Bruk fleirsiderulling
-scroll_wrapped_label=Fleirsiderulling
-
-spread_none.title=Vis enkeltsider
-spread_none_label=Enkeltside
-spread_odd.title=Vis oppslag med ulike sidenummer til venstre
-spread_odd_label=Oppslag med framside
-spread_even.title=Vis oppslag med like sidenummmer til venstre
-spread_even_label=Oppslag utan framside
-
-# Document properties dialog box
-document_properties.title=Dokumenteigenskapar…
-document_properties_label=Dokumenteigenskapar…
-document_properties_file_name=Filnamn:
-document_properties_file_size=Filstorleik:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Tittel:
-document_properties_author=Forfattar:
-document_properties_subject=Emne:
-document_properties_keywords=Stikkord:
-document_properties_creation_date=Dato oppretta:
-document_properties_modification_date=Dato endra:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Oppretta av:
-document_properties_producer=PDF-verktøy:
-document_properties_version=PDF-versjon:
-document_properties_page_count=Sidetal:
-document_properties_page_size=Sidestørrelse:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=ståande
-document_properties_page_size_orientation_landscape=liggande
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Brev
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Rask nettvising:
-document_properties_linearized_yes=Ja
-document_properties_linearized_no=Nei
-document_properties_close=Lat att
-
-print_progress_message=Førebur dokumentet for utskrift…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Avbryt
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Slå av/på sidestolpe
-toggle_sidebar_notification2.title=Vis/gøym sidestolpe (dokumentet inneheld oversikt/vedlegg/lag)
-toggle_sidebar_label=Slå av/på sidestolpe
-document_outline.title=Vis dokumentdisposisjonen (dobbelklikk for å utvide/gøyme alle elementa)
-document_outline_label=Dokumentdisposisjon
-attachments.title=Vis vedlegg
-attachments_label=Vedlegg
-layers.title=Vis lag (dobbeltklikk for å tilbakestille alle lag til standardtilstand)
-layers_label=Lag
-thumbs.title=Vis miniatyrbilde
-thumbs_label=Miniatyrbilde
-current_outline_item.title=Finn gjeldande disposisjonselement
-current_outline_item_label=Gjeldande disposisjonselement
-findbar.title=Finn i dokumentet
-findbar_label=Finn
-
-additional_layers=Ytterlegare lag
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Side {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Side {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatyrbilde av side {{page}}
-
-# Find panel button title and messages
-find_input.title=Søk
-find_input.placeholder=Søk i dokument…
-find_previous.title=Finn førre førekomst av frasen
-find_previous_label=Førre
-find_next.title=Finn neste førekomst av frasen
-find_next_label=Neste
-find_highlight=Uthev alle
-find_match_case_label=Skil store/små bokstavar
-find_match_diacritics_label=Samsvar diakritiske teikn
-find_entire_word_label=Heile ord
-find_reached_top=Nådde toppen av dokumentet, fortset frå botnen
-find_reached_bottom=Nådde botnen av dokumentet, fortset frå toppen
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} av {{total}} treff
-find_match_count[two]={{current}} av {{total}} treff
-find_match_count[few]={{current}} av {{total}} treff
-find_match_count[many]={{current}} av {{total}} treff
-find_match_count[other]={{current}} av {{total}} treff
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Meir enn {{limit}} treff
-find_match_count_limit[one]=Meir enn {{limit}} treff
-find_match_count_limit[two]=Meir enn {{limit}} treff
-find_match_count_limit[few]=Meir enn {{limit}} treff
-find_match_count_limit[many]=Meir enn {{limit}} treff
-find_match_count_limit[other]=Meir enn {{limit}} treff
-find_not_found=Fann ikkje teksten
-
-# Error panel labels
-error_more_info=Meir info
-error_less_info=Mindre info
-error_close=Lat att
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (bygg: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Melding: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stakk: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fil: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linje: {{line}}
-rendering_error=Ein feil oppstod under vising av sida.
-
-# Predefined zoom values
-page_scale_width=Sidebreidde
-page_scale_fit=Tilpass til sida
-page_scale_auto=Automatisk skalering
-page_scale_actual=Verkeleg storleik
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Lastar…
-loading_error=Ein feil oppstod ved lasting av PDF.
-invalid_file_error=Ugyldig eller korrupt PDF-fil.
-missing_file_error=Manglande PDF-fil.
-unexpected_response_error=Uventa tenarrespons.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}} {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} annotasjon]
-password_label=Skriv inn passordet for å opne denne PDF-fila.
-password_invalid=Ugyldig passord. Prøv igjen.
-password_ok=OK
-password_cancel=Avbryt
-
-printing_not_supported=Åtvaring: Utskrift er ikkje fullstendig støtta av denne nettlesaren.
-printing_not_ready=Ã…tvaring: PDF ikkje fullstendig innlasta for utskrift.
-web_fonts_disabled=Web-skrifter er slått av: Kan ikkje bruke innbundne PDF-skrifter.
-
-# Editor
-editor_none.title=Slå av kommentarredigering
-editor_none_label=Slå av redigering
-editor_free_text.title=Legg til fritekstkommentar
-editor_free_text_label=Fritekstkommentar
-editor_ink.title=Legg til handskriven kommentar
-editor_ink_label=Handskriven kommentar
-
-freetext_default_content=Skriv inn litt tekst…
-
-free_text_default_content=Skriv inn tekst…
-
-# Editor Parameters
-editor_free_text_font_color=Skriftfarge
-editor_free_text_font_size=Skriftstorleik
-editor_ink_line_color=Linjefarge
-editor_ink_line_thickness=Linjetjukkleik
-
-# Editor Parameters
-editor_free_text_color=Farge
-editor_free_text_size=Storleik
-editor_ink_color=Farge
-editor_ink_thickness=Tjukkleik
-editor_ink_opacity=Ugjennomskinleg
-
-# Editor aria
-editor_free_text_aria_label=FreeText-redigerar
-editor_ink_aria_label=Ink-redigerar
-editor_ink_canvas_aria_label=Brukarskapt bilde
diff --git a/static/js/pdf-js/web/locale/oc/viewer.properties b/static/js/pdf-js/web/locale/oc/viewer.properties
deleted file mode 100644
index c3356a4..0000000
--- a/static/js/pdf-js/web/locale/oc/viewer.properties
+++ /dev/null
@@ -1,277 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pagina precedenta
-previous_label=Precedent
-next.title=Pagina seguenta
-next_label=Seguent
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pagina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=sus {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Zoom arrièr
-zoom_out_label=Zoom arrièr
-zoom_in.title=Zoom avant
-zoom_in_label=Zoom avant
-zoom.title=Zoom
-presentation_mode.title=Bascular en mòde presentacion
-presentation_mode_label=Mòde Presentacion
-open_file.title=Dobrir lo fichièr
-open_file_label=Dobrir
-print.title=Imprimir
-print_label=Imprimir
-download.title=Telecargar
-download_label=Telecargar
-bookmark.title=Afichatge corrent (copiar o dobrir dins una fenèstra novèla)
-bookmark_label=Afichatge actual
-
-# Secondary toolbar and context menu
-tools.title=Aisinas
-tools_label=Aisinas
-first_page.title=Anar a la primièra pagina
-first_page_label=Anar a la primièra pagina
-last_page.title=Anar a la darrièra pagina
-last_page_label=Anar a la darrièra pagina
-page_rotate_cw.title=Rotacion orà ria
-page_rotate_cw_label=Rotacion orà ria
-page_rotate_ccw.title=Rotacion antiorà ria
-page_rotate_ccw_label=Rotacion antiorà ria
-
-cursor_text_select_tool.title=Activar l'aisina de seleccion de tèxte
-cursor_text_select_tool_label=Aisina de seleccion de tèxte
-cursor_hand_tool.title=Activar l’aisina man
-cursor_hand_tool_label=Aisina man
-
-scroll_page.title=Activar lo desfilament per pagina
-scroll_page_label=Desfilament per pagina
-scroll_vertical.title=Utilizar lo desfilament vertical
-scroll_vertical_label=Desfilament vertical
-scroll_horizontal.title=Utilizar lo desfilament orizontal
-scroll_horizontal_label=Desfilament orizontal
-scroll_wrapped.title=Activar lo desfilament continú
-scroll_wrapped_label=Desfilament continú
-
-spread_none.title=Agropar pas las paginas doas a doas
-spread_none_label=Una sola pagina
-spread_odd.title=Mostrar doas paginas en començant per las paginas imparas a esquèrra
-spread_odd_label=Dobla pagina, impara a drecha
-spread_even.title=Mostrar doas paginas en començant per las paginas paras a esquèrra
-spread_even_label=Dobla pagina, para a drecha
-
-# Document properties dialog box
-document_properties.title=Proprietats del document…
-document_properties_label=Proprietats del document…
-document_properties_file_name=Nom del fichièr :
-document_properties_file_size=Talha del fichièr :
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} Ko ({{size_b}} octets)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} Mo ({{size_b}} octets)
-document_properties_title=TÃtol :
-document_properties_author=Autor :
-document_properties_subject=Subjècte :
-document_properties_keywords=Mots claus :
-document_properties_creation_date=Data de creacion :
-document_properties_modification_date=Data de modificacion :
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, a {{time}}
-document_properties_creator=Creator :
-document_properties_producer=Aisina de conversion PDFÂ :
-document_properties_version=Version PDFÂ :
-document_properties_page_count=Nombre de paginas :
-document_properties_page_size=Talha de la pagina :
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=retrach
-document_properties_page_size_orientation_landscape=païsatge
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letra
-document_properties_page_size_name_legal=Document juridic
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista web rapida :
-document_properties_linearized_yes=Ã’c
-document_properties_linearized_no=Non
-document_properties_close=Tampar
-
-print_progress_message=Preparacion del document per l’impression…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Anullar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Afichar/amagar lo panèl lateral
-toggle_sidebar_notification2.title=Afichar/amagar lo panèl lateral (lo document conten esquèmas/pèças juntas/calques)
-toggle_sidebar_label=Afichar/amagar lo panèl lateral
-document_outline.title=Mostrar los esquèmas del document (dobleclicar per espandre/reduire totes los elements)
-document_outline_label=Marcapaginas del document
-attachments.title=Visualizar las pèças juntas
-attachments_label=Pèças juntas
-layers.title=Afichar los calques (doble-clicar per reïnicializar totes los calques a l’estat per defaut)
-layers_label=Calques
-thumbs.title=Afichar las vinhetas
-thumbs_label=Vinhetas
-current_outline_item.title=Trobar l’element de plan actual
-current_outline_item_label=Element de plan actual
-findbar.title=Cercar dins lo document
-findbar_label=Recercar
-
-additional_layers=Calques suplementaris
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Pagina {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pagina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Vinheta de la pagina {{page}}
-
-# Find panel button title and messages
-find_input.title=Recercar
-find_input.placeholder=Cercar dins lo document…
-find_previous.title=Tròba l'ocurréncia precedenta de la frasa
-find_previous_label=Precedent
-find_next.title=Tròba l'ocurréncia venenta de la frasa
-find_next_label=Seguent
-find_highlight=Suslinhar tot
-find_match_case_label=Respectar la cassa
-find_match_diacritics_label=Respectar los diacritics
-find_entire_word_label=Mots entièrs
-find_reached_top=Naut de la pagina atenh, perseguida del bas
-find_reached_bottom=Bas de la pagina atench, perseguida al començament
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]=Ocuréncia {{current}} sus {{total}}
-find_match_count[two]=Ocuréncia {{current}} sus {{total}}
-find_match_count[few]=Ocuréncia {{current}} sus {{total}}
-find_match_count[many]=Ocuréncia {{current}} sus {{total}}
-find_match_count[other]=Ocuréncia {{current}} sus {{total}}
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Mai de {{limit}} ocuréncias
-find_match_count_limit[one]=Mai de {{limit}} ocuréncia
-find_match_count_limit[two]=Mai de {{limit}} ocuréncias
-find_match_count_limit[few]=Mai de {{limit}} ocuréncias
-find_match_count_limit[many]=Mai de {{limit}} ocuréncias
-find_match_count_limit[other]=Mai de {{limit}} ocuréncias
-find_not_found=Frasa pas trobada
-
-# Error panel labels
-error_more_info=Mai de detalhs
-error_less_info=Mens d'informacions
-error_close=Tampar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (identificant de compilacion : {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Messatge : {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila : {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fichièr : {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linha : {{line}}
-rendering_error=Una error s'es producha pendent l'afichatge de la pagina.
-
-# Predefined zoom values
-page_scale_width=Largor plena
-page_scale_fit=Pagina entièra
-page_scale_auto=Zoom automatic
-page_scale_actual=Talha vertadièra
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Cargament…
-loading_error=Una error s'es producha pendent lo cargament del fichièr PDF.
-invalid_file_error=Fichièr PDF invalid o corromput.
-missing_file_error=Fichièr PDF mancant.
-unexpected_response_error=Responsa de servidor imprevista.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}} a {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotacion {{type}}]
-password_label=Picatz lo senhal per dobrir aqueste fichièr PDF.
-password_invalid=Senhal incorrècte. Tornatz ensajar.
-password_ok=D'acòrdi
-password_cancel=Anullar
-
-printing_not_supported=Atencion : l'impression es pas completament gerida per aqueste navegador.
-printing_not_ready=Atencion : lo PDF es pas entièrament cargat per lo poder imprimir.
-web_fonts_disabled=Las polissas web son desactivadas : impossible d'utilizar las polissas integradas al PDF.
-
-# Editor
-editor_none.title=Desactivar l’edicion d’anotacions
-editor_none_label=Desactivar l’edicion
-editor_free_text.title=Apondre de tèxte
-editor_free_text_label=Tèxte
-editor_ink.title=Dessenhar
-editor_ink_label=Dessenh
-
-freetext_default_content=Picatz de tèxte…
-
-free_text_default_content=Picatz de tèxt…
-
-# Editor Parameters
-editor_free_text_font_color=Color de polissa
-editor_free_text_font_size=Talha de polissa
-editor_ink_line_color=Color de linha
-editor_ink_line_thickness=Espessor de la linha
-
-# Editor Parameters
-editor_free_text_color=Color
-editor_free_text_size=Talha
-editor_ink_color=Color
-editor_ink_opacity=Opacitat
-
-# Editor aria
diff --git a/static/js/pdf-js/web/locale/pa-IN/viewer.properties b/static/js/pdf-js/web/locale/pa-IN/viewer.properties
deleted file mode 100644
index 153bf5c..0000000
--- a/static/js/pdf-js/web/locale/pa-IN/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=ਪਿਛਲਾ ਸਫ਼ਾ
-previous_label=ਪਿੱਛੇ
-next.title=ਅਗਲਾ ਸਫ਼ਾ
-next_label=ਅੱਗੇ
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=ਸਫ਼ਾ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} ਵਿੱਚੋਂ
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages={{pagesCount}}) ਵਿੱਚੋਂ ({{pageNumber}}
-
-zoom_out.title=ਜ਼ੂਮ ਆਉਟ
-zoom_out_label=ਜ਼ੂਮ ਆਉਟ
-zoom_in.title=ਜ਼ੂਮ ਇਨ
-zoom_in_label=ਜ਼ੂਮ ਇਨ
-zoom.title=ਜ਼ੂਨ
-presentation_mode.title=ਪਰਿਜੈਂਟੇਸ਼ਨ ਮੋਡ ਵਿੱਚ ਜਾਓ
-presentation_mode_label=ਪਰਿਜੈਂਟੇਸ਼ਨ ਮੋਡ
-open_file.title=ਫਾਈਲ ਨੂੰ ਖੋਲà©à¨¹à©‹
-open_file_label=ਖੋਲà©à¨¹à©‹
-print.title=ਪਰਿੰਟ
-print_label=ਪਰਿੰਟ
-download.title=ਡਾਊਨਲੋਡ
-download_label=ਡਾਊਨਲੋਡ
-bookmark.title=ਮੌਜੂਦਾ à¨à¨²à¨• (ਨਵੀਂ ਵਿੰਡੋ ਵਿੱਚ ਕਾਪੀ ਕਰੋ ਜਾਂ ਖੋਲà©à¨¹à©‹)
-bookmark_label=ਮੌਜੂਦਾ à¨à¨²à¨•
-
-# Secondary toolbar and context menu
-tools.title=ਟੂਲ
-tools_label=ਟੂਲ
-first_page.title=ਪਹਿਲੇ ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ
-first_page_label=ਪਹਿਲੇ ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ
-last_page.title=ਆਖਰੀ ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ
-last_page_label=ਆਖਰੀ ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ
-page_rotate_cw.title=ਸੱਜੇ ਦਾਅ ਘà©à©°à¨®à¨¾à¨“
-page_rotate_cw_label=ਸੱਜੇ ਦਾਅ ਘà©à©°à¨®à¨¾à¨“
-page_rotate_ccw.title=ਖੱਬੇ ਦਾਅ ਘà©à©°à¨®à¨¾à¨“
-page_rotate_ccw_label=ਖੱਬੇ ਦਾਅ ਘà©à©°à¨®à¨¾à¨“
-
-cursor_text_select_tool.title=ਲਿਖਤ ਚੋਣ ਟੂਲ ਸਮਰੱਥ ਕਰੋ
-cursor_text_select_tool_label=ਲਿਖਤ ਚੋਣ ਟੂਲ
-cursor_hand_tool.title=ਹੱਥ ਟੂਲ ਸਮਰੱਥ ਕਰੋ
-cursor_hand_tool_label=ਹੱਥ ਟੂਲ
-
-scroll_page.title=ਸਫ਼ਾ ਖਿਸਕਾਉਣ ਨੂੰ ਵਰਤੋਂ
-scroll_page_label=ਸਫ਼ਾ ਖਿਸਕਾਉਣਾ
-scroll_vertical.title=ਖੜà©à¨¹à¨µà©‡à¨‚ ਸਕਰਾਉਣ ਨੂੰ ਵਰਤੋਂ
-scroll_vertical_label=ਖੜà©à¨¹à¨µà¨¾à¨‚ ਸਰਕਾਉਣਾ
-scroll_horizontal.title=ਲੇਟਵੇਂ ਸਰਕਾਉਣ ਨੂੰ ਵਰਤੋਂ
-scroll_horizontal_label=ਲੇਟਵਾਂ ਸਰਕਾਉਣਾ
-scroll_wrapped.title=ਸਮੇਟੇ ਸਰਕਾਉਣ ਨੂੰ ਵਰਤੋਂ
-scroll_wrapped_label=ਸਮੇਟਿਆ ਸਰਕਾਉਣਾ
-
-spread_none.title=ਸਫ਼ਾ ਫੈਲਾਅ ਵਿੱਚ ਸ਼ਾਮਲ ਨਾ ਹੋਵੋ
-spread_none_label=ਕੋਈ ਫੈਲਾਅ ਨਹੀਂ
-spread_odd.title=ਟਾਂਕ ਅੰਕ ਵਾਲੇ ਸਫ਼ਿਆਂ ਨਾਲ ਸ਼à©à¨°à©‚ ਹੋਣ ਵਾਲੇ ਸਫਿਆਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ
-spread_odd_label=ਟਾਂਕ ਫੈਲਾਅ
-spread_even.title=ਜਿਸਤ ਅੰਕ ਵਾਲੇ ਸਫ਼ਿਆਂ ਨਾਲ ਸ਼à©à¨°à©‚ ਹੋਣ ਵਾਲੇ ਸਫਿਆਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ
-spread_even_label=ਜਿਸਤ ਫੈਲਾਅ
-
-# Document properties dialog box
-document_properties.title=…ਦਸਤਾਵੇਜ਼ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ
-document_properties_label=…ਦਸਤਾਵੇਜ਼ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ
-document_properties_file_name=ਫਾਈਲ ਦਾ ਨਾਂ:
-document_properties_file_size=ਫਾਈਲ ਦਾ ਆਕਾਰ:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} ਬਾਈਟ)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} ਬਾਈਟ)
-document_properties_title=ਟਾਈਟਲ:
-document_properties_author=ਲੇਖਕ:
-document_properties_subject=ਵਿਸ਼ਾ:
-document_properties_keywords=ਸ਼ਬਦ:
-document_properties_creation_date=ਬਣਾਉਣ ਦੀ ਮਿਤੀ:
-document_properties_modification_date=ਸੋਧ ਦੀ ਮਿਤੀ:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=ਨਿਰਮਾਤਾ:
-document_properties_producer=PDF ਪà©à¨°à©‹à¨¡à¨¿à¨Šà¨¸à¨°:
-document_properties_version=PDF ਵਰਜਨ:
-document_properties_page_count=ਸਫ਼ੇ ਦੀ ਗਿਣਤੀ:
-document_properties_page_size=ਸਫ਼ਾ ਆਕਾਰ:
-document_properties_page_size_unit_inches=ਇੰਚ
-document_properties_page_size_unit_millimeters=ਮਿਮੀ
-document_properties_page_size_orientation_portrait=ਪੋਰਟਰੇਟ
-document_properties_page_size_orientation_landscape=ਲੈਂਡਸਕੇਪ
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=ਲੈਟਰ
-document_properties_page_size_name_legal=ਕਨੂੰਨੀ
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=ਤੇਜ਼ ਵੈੱਬ à¨à¨²à¨•:
-document_properties_linearized_yes=ਹਾਂ
-document_properties_linearized_no=ਨਹੀਂ
-document_properties_close=ਬੰਦ ਕਰੋ
-
-print_progress_message=…ਪਰਿੰਟ ਕਰਨ ਲਈ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਤਿਆਰ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=ਰੱਦ ਕਰੋ
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=ਬਾਹੀ ਬਦਲੋ
-toggle_sidebar_notification2.title=ਬਾਹੀ ਨੂੰ ਬਦਲੋ (ਦਸਤਾਵੇਜ਼ ਖਾਕਾ/ਅਟੈਚਮੈਂਟ/ਪਰਤਾਂ ਰੱਖਦਾ ਹੈ)
-toggle_sidebar_label=ਬਾਹੀ ਬਦਲੋ
-document_outline.title=ਦਸਤਾਵੇਜ਼ ਖਾਕਾ ਦਿਖਾਓ (ਸਾਰੀਆਂ ਆਈਟਮਾਂ ਨੂੰ ਫੈਲਾਉਣ/ਸਮੇਟਣ ਲਈ ਦੋ ਵਾਰ ਕਲਿੱਕ ਕਰੋ)
-document_outline_label=ਦਸਤਾਵੇਜ਼ ਖਾਕਾ
-attachments.title=ਅਟੈਚਮੈਂਟ ਵੇਖਾਓ
-attachments_label=ਅਟੈਚਮੈਂਟਾਂ
-layers.title=ਪਰਤਾਂ ਵੇਖਾਓ (ਸਾਰੀਆਂ ਪਰਤਾਂ ਨੂੰ ਮੂਲ ਹਾਲਤ ਉੱਤੇ ਮà©à©œ-ਸੈੱਟ ਕਰਨ ਲਈ ਦੋ ਵਾਰ ਕਲਿੱਕ ਕਰੋ)
-layers_label=ਪਰਤਾਂ
-thumbs.title=ਥੰਮਨੇਲ ਨੂੰ ਵੇਖਾਓ
-thumbs_label=ਥੰਮਨੇਲ
-current_outline_item.title=ਮੌੌਜੂਦਾ ਖਾਕਾ ਚੀਜ਼ ਲੱà¨à©‹
-current_outline_item_label=ਮੌਜੂਦਾ ਖਾਕਾ ਚੀਜ਼
-findbar.title=ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਲੱà¨à©‹
-findbar_label=ਲੱà¨à©‹
-
-additional_layers=ਵਾਧੂ ਪਰਤਾਂ
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=ਸਫ਼ਾ {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=ਸਫ਼ਾ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} ਸਫ਼ੇ ਦਾ ਥੰਮਨੇਲ
-
-# Find panel button title and messages
-find_input.title=ਲੱà¨à©‹
-find_input.placeholder=…ਦਸਤਾਵੇਜ਼ 'ਚ ਲੱà¨à©‹
-find_previous.title=ਵਾਕ ਦੀ ਪਿਛਲੀ ਮੌਜੂਦਗੀ ਲੱà¨à©‹
-find_previous_label=ਪਿੱਛੇ
-find_next.title=ਵਾਕ ਦੀ ਅਗਲੀ ਮੌਜੂਦਗੀ ਲੱà¨à©‹
-find_next_label=ਅੱਗੇ
-find_highlight=ਸਠਉà¨à¨¾à¨°à©‹
-find_match_case_label=ਅੱਖਰ ਆਕਾਰ ਨੂੰ ਮਿਲਾਉ
-find_match_diacritics_label=à¨à©‡à¨¦à¨¸à©‚ਚਕ ਮੇਲ
-find_entire_word_label=ਪੂਰੇ ਸ਼ਬਦ
-find_reached_top=ਦਸਤਾਵੇਜ਼ ਦੇ ਉੱਤੇ ਆ ਗਠਹਾਂ, ਥੱਲੇ ਤੋਂ ਜਾਰੀ ਰੱਖਿਆ ਹੈ
-find_reached_bottom=ਦਸਤਾਵੇਜ਼ ਦੇ ਅੰਤ ਉੱਤੇ ਆ ਗਠਹਾਂ, ਉੱਤੇ ਤੋਂ ਜਾਰੀ ਰੱਖਿਆ ਹੈ
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ
-find_match_count[two]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ
-find_match_count[few]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ
-find_match_count[many]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ
-find_match_count[other]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}} ਮੇਲਾਂ ਤੋਂ ਵੱਧ
-find_match_count_limit[one]={{limit}} ਮੇਲ ਤੋਂ ਵੱਧ
-find_match_count_limit[two]={{limit}} ਮੇਲਾਂ ਤੋਂ ਵੱਧ
-find_match_count_limit[few]={{limit}} ਮੇਲਾਂ ਤੋਂ ਵੱਧ
-find_match_count_limit[many]={{limit}} ਮੇਲਾਂ ਤੋਂ ਵੱਧ
-find_match_count_limit[other]={{limit}} ਮੇਲਾਂ ਤੋਂ ਵੱਧ
-find_not_found=ਵਾਕ ਨਹੀਂ ਲੱà¨à¨¿à¨†
-
-# Error panel labels
-error_more_info=ਹੋਰ ਜਾਣਕਾਰੀ
-error_less_info=ਘੱਟ ਜਾਣਕਾਰੀ
-error_close=ਬੰਦ ਕਰੋ
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (ਬਿਲਡ: {{build}}
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=ਸà©à¨¨à©‡à¨¹à¨¾: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=ਸਟੈਕ: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ਫਾਈਲ: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=ਲਾਈਨ: {{line}}
-rendering_error=ਸਫ਼ਾ ਰੈਡਰ ਕਰਨ ਦੇ ਦੌਰਾਨ ਗਲਤੀ ਆਈ ਹੈ।
-
-# Predefined zoom values
-page_scale_width=ਸਫ਼ੇ ਦੀ ਚੌੜਾਈ
-page_scale_fit=ਸਫ਼ਾ ਫਿੱਟ
-page_scale_auto=ਆਟੋਮੈਟਿਕ ਜ਼ੂਮ ਕਰੋ
-page_scale_actual=ਆਟੋਮੈਟਿਕ ਆਕਾਰ
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=…ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ
-loading_error=PDF ਲੋਡ ਕਰਨ ਦੇ ਦੌਰਾਨ ਗਲਤੀ ਆਈ ਹੈ।
-invalid_file_error=ਗਲਤ ਜਾਂ ਨਿਕਾਰਾ PDF ਫਾਈਲ ਹੈ।
-missing_file_error=ਨਾ-ਮੌਜੂਦ PDF ਫਾਈਲ।
-unexpected_response_error=ਅਣਜਾਣ ਸਰਵਰ ਜਵਾਬ।
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} ਵਿਆਖਿਆ]
-password_label=ਇਹ PDF ਫਾਈਲ ਨੂੰ ਖੋਲà©à¨¹à¨£ ਲਈ ਪਾਸਵਰਡ ਦਿਉ।
-password_invalid=ਗਲਤ ਪਾਸਵਰਡ। ਫੇਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜੀ।
-password_ok=ਠੀਕ ਹੈ
-password_cancel=ਰੱਦ ਕਰੋ
-
-printing_not_supported=ਸਾਵਧਾਨ: ਇਹ ਬਰਾਊਜ਼ਰ ਪਰਿੰਟ ਕਰਨ ਲਈ ਪੂਰੀ ਤਰà©à¨¹à¨¾à¨‚ ਸਹਾਇਕ ਨਹੀਂ ਹੈ।
-printing_not_ready=ਸਾਵਧਾਨ: PDF ਨੂੰ ਪਰਿੰਟ ਕਰਨ ਲਈ ਪੂਰੀ ਤਰà©à¨¹à¨¾à¨‚ ਲੋਡ ਨਹੀਂ ਹੈ।
-web_fonts_disabled=ਵੈਬ ਫੋਂਟ ਬੰਦ ਹਨ: ਇੰਬੈਡ PDF ਫੋਂਟ ਨੂੰ ਵਰਤਣ ਲਈ ਅਸਮਰੱਥ ਹੈ।
-
-# Editor
-editor_none.title=ਟਿੱਪਣੀ ਸੋਧਣਾ ਅਸਮਰੱਥ
-editor_none_label=ਸੋਧਣਾ ਅਸਮਰੱਥ
-editor_free_text.title=FreeText ਟਿੱਪਣੀ ਜੋੜੋ
-editor_free_text_label=FreeText ਟਿੱਪਣੀ
-editor_ink.title=ਸਿਆਹੀ ਟਿੱਪਣੀ ਜੋੜੋ
-editor_ink_label=ਸਿਆਹੀ ਟਿੱਪਣੀ
-
-freetext_default_content=…ਕà©à¨ ਲਿਖੋ
-
-free_text_default_content=…ਲਿਖੋ
-
-# Editor Parameters
-editor_free_text_font_color=ਫੌਂਟ ਦਾ ਰੰਗ
-editor_free_text_font_size=ਫ਼ੋਂਟ ਦਾ ਆਕਾਰ
-editor_ink_line_color=ਲਾਈਨ ਦਾ ਰੰਗ
-editor_ink_line_thickness=ਲਾਈਨ ਦੀ ਮੋਟਾਈ
-
-# Editor Parameters
-editor_free_text_color=ਰੰਗ
-editor_free_text_size=ਆਕਾਰ
-editor_ink_color=ਰੰਗ
-editor_ink_thickness=ਮੋਟਾਈ
-editor_ink_opacity=ਧà©à©°à¨¦à¨²à¨¾à¨ªà¨¨
-
-# Editor aria
-editor_free_text_aria_label=FreeText ਸੰਪਾਦਕ
-editor_ink_aria_label=ਸਿਆਹੀ ਸੰਪਾਦਕ
-editor_ink_canvas_aria_label=ਵਰਤੋਂਕਾਰ ਵਲੋਂ ਬਣਾਇਆ ਚਿੱਤਰ
diff --git a/static/js/pdf-js/web/locale/pl/viewer.properties b/static/js/pdf-js/web/locale/pl/viewer.properties
deleted file mode 100644
index 9df1996..0000000
--- a/static/js/pdf-js/web/locale/pl/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Poprzednia strona
-previous_label=Poprzednia
-next.title=Następna strona
-next_label=Następna
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Strona
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=z {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} z {{pagesCount}})
-
-zoom_out.title=Pomniejsz
-zoom_out_label=Pomniejsz
-zoom_in.title=Powiększ
-zoom_in_label=Powiększ
-zoom.title=Skala
-presentation_mode.title=Przełącz na tryb prezentacji
-presentation_mode_label=Tryb prezentacji
-open_file.title=Otwórz plik
-open_file_label=Otwórz
-print.title=Drukuj
-print_label=Drukuj
-download.title=Pobierz
-download_label=Pobierz
-bookmark.title=Bieżąca pozycja (skopiuj lub otwórz jako odnośnik w nowym oknie)
-bookmark_label=Bieżąca pozycja
-
-# Secondary toolbar and context menu
-tools.title=Narzędzia
-tools_label=Narzędzia
-first_page.title=Przejdź do pierwszej strony
-first_page_label=Przejdź do pierwszej strony
-last_page.title=Przejdź do ostatniej strony
-last_page_label=Przejdź do ostatniej strony
-page_rotate_cw.title=Obróć zgodnie z ruchem wskazówek zegara
-page_rotate_cw_label=Obróć zgodnie z ruchem wskazówek zegara
-page_rotate_ccw.title=Obróć przeciwnie do ruchu wskazówek zegara
-page_rotate_ccw_label=Obróć przeciwnie do ruchu wskazówek zegara
-
-cursor_text_select_tool.title=Włącz narzędzie zaznaczania tekstu
-cursor_text_select_tool_label=Narzędzie zaznaczania tekstu
-cursor_hand_tool.title=Włącz narzędzie rączka
-cursor_hand_tool_label=Narzędzie rączka
-
-scroll_page.title=Przewijaj strony
-scroll_page_label=Przewijanie stron
-scroll_vertical.title=Przewijaj dokument w pionie
-scroll_vertical_label=Przewijanie pionowe
-scroll_horizontal.title=Przewijaj dokument w poziomie
-scroll_horizontal_label=Przewijanie poziome
-scroll_wrapped.title=Strony dokumentu wyświetlaj i przewijaj w kolumnach
-scroll_wrapped_label=Widok dwóch stron
-
-spread_none.title=Nie ustawiaj stron obok siebie
-spread_none_label=Brak kolumn
-spread_odd.title=Strony nieparzyste ustawiaj na lewo od parzystych
-spread_odd_label=Nieparzyste po lewej
-spread_even.title=Strony parzyste ustawiaj na lewo od nieparzystych
-spread_even_label=Parzyste po lewej
-
-# Document properties dialog box
-document_properties.title=Właściwości dokumentu…
-document_properties_label=Właściwości dokumentu…
-document_properties_file_name=Nazwa pliku:
-document_properties_file_size=Rozmiar pliku:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}}Â KB ({{size_b}}Â B)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}}Â MB ({{size_b}}Â B)
-document_properties_title=Tytuł:
-document_properties_author=Autor:
-document_properties_subject=Temat:
-document_properties_keywords=Słowa kluczowe:
-document_properties_creation_date=Data utworzenia:
-document_properties_modification_date=Data modyfikacji:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Utworzony przez:
-document_properties_producer=PDF wyprodukowany przez:
-document_properties_version=Wersja PDF:
-document_properties_page_count=Liczba stron:
-document_properties_page_size=Wymiary strony:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=pionowa
-document_properties_page_size_orientation_landscape=pozioma
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=US Letter
-document_properties_page_size_name_legal=US Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}}×{{height}} {{unit}} (orientacja {{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}}×{{height}} {{unit}} ({{name}}, orientacja {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Szybki podgląd w Internecie:
-document_properties_linearized_yes=tak
-document_properties_linearized_no=nie
-document_properties_close=Zamknij
-
-print_progress_message=Przygotowywanie dokumentu do druku…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Anuluj
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Przełącz panel boczny
-toggle_sidebar_notification2.title=Przełącz panel boczny (dokument zawiera konspekt/załączniki/warstwy)
-toggle_sidebar_label=Przełącz panel boczny
-document_outline.title=Konspekt dokumentu (podwójne kliknięcie rozwija lub zwija wszystkie pozycje)
-document_outline_label=Konspekt dokumentu
-attachments.title=Załączniki
-attachments_label=Załączniki
-layers.title=Warstwy (podwójne kliknięcie przywraca wszystkie warstwy do stanu domyślnego)
-layers_label=Warstwy
-thumbs.title=Miniatury
-thumbs_label=Miniatury
-current_outline_item.title=Znajdź bieżący element konspektu
-current_outline_item_label=Bieżący element konspektu
-findbar.title=Znajdź w dokumencie
-findbar_label=Znajdź
-
-additional_layers=Dodatkowe warstwy
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark={{page}}. strona
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}}. strona
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura {{page}}. strony
-
-# Find panel button title and messages
-find_input.title=Znajdź
-find_input.placeholder=Znajdź w dokumencie…
-find_previous.title=Znajdź poprzednie wystąpienie tekstu
-find_previous_label=Poprzednie
-find_next.title=Znajdź następne wystąpienie tekstu
-find_next_label=Następne
-find_highlight=Wyróżnianie wszystkich
-find_match_case_label=Rozróżnianie wielkości liter
-find_match_diacritics_label=Rozróżnianie liter diakrytyzowanych
-find_entire_word_label=Całe słowa
-find_reached_top=Początek dokumentu. Wyszukiwanie od końca.
-find_reached_bottom=Koniec dokumentu. Wyszukiwanie od poczÄ…tku.
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]=Pierwsze z {{total}} trafień
-find_match_count[two]=Drugie z {{total}} trafień
-find_match_count[few]={{current}}. z {{total}} trafień
-find_match_count[many]={{current}}. z {{total}} trafień
-find_match_count[other]={{current}}. z {{total}} trafień
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Brak trafień.
-find_match_count_limit[one]=Więcej niż jedno trafienie.
-find_match_count_limit[two]=Więcej niż dwa trafienia.
-find_match_count_limit[few]=Więcej niż {{limit}} trafienia.
-find_match_count_limit[many]=Więcej niż {{limit}} trafień.
-find_match_count_limit[other]=Więcej niż {{limit}} trafień.
-find_not_found=Nie znaleziono tekstu
-
-# Error panel labels
-error_more_info=Więcej informacji
-error_less_info=Mniej informacji
-error_close=Zamknij
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (kompilacja: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Komunikat: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stos: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Plik: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Wiersz: {{line}}
-rendering_error=Podczas renderowania strony wystąpił błąd.
-
-# Predefined zoom values
-page_scale_width=Szerokość strony
-page_scale_fit=Dopasowanie strony
-page_scale_auto=Skala automatyczna
-page_scale_actual=Rozmiar oryginalny
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Wczytywanie…
-loading_error=Podczas wczytywania dokumentu PDF wystąpił błąd.
-invalid_file_error=Nieprawidłowy lub uszkodzony plik PDF.
-missing_file_error=Brak pliku PDF.
-unexpected_response_error=Nieoczekiwana odpowiedź serwera.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Przypis: {{type}}]
-password_label=Wprowadź hasło, aby otworzyć ten dokument PDF.
-password_invalid=Nieprawidłowe hasło. Proszę spróbować ponownie.
-password_ok=OK
-password_cancel=Anuluj
-
-printing_not_supported=Ostrzeżenie: drukowanie nie jest w pełni obsługiwane przez tę przeglądarkę.
-printing_not_ready=Ostrzeżenie: dokument PDF nie jest całkowicie wczytany, więc nie można go wydrukować.
-web_fonts_disabled=Czcionki sieciowe są wyłączone: nie można użyć osadzonych czcionek PDF.
-
-# Editor
-editor_none.title=Wyłącz edycję przypisów
-editor_none_label=Wyłącz edycję
-editor_free_text.title=Dodaj przypis tekstowy
-editor_free_text_label=Przypis tekstowy
-editor_ink.title=Dodaj zakreślenie
-editor_ink_label=Zakreślenie
-
-freetext_default_content=Wpisz tekst…
-
-free_text_default_content=Wpisz tekst…
-
-# Editor Parameters
-editor_free_text_font_color=Kolor czcionki
-editor_free_text_font_size=Rozmiar czcionki
-editor_ink_line_color=Kolor zakreślenia
-editor_ink_line_thickness=Grubość zakreślenia
-
-# Editor Parameters
-editor_free_text_color=Kolor
-editor_free_text_size=Rozmiar
-editor_ink_color=Kolor
-editor_ink_thickness=Grubość
-editor_ink_opacity=Nieprzezroczystość
-
-# Editor aria
-editor_free_text_aria_label=Edytor tekstu
-editor_ink_aria_label=Edytor zakreślenia
-editor_ink_canvas_aria_label=Obraz utworzony przez użytkownika
diff --git a/static/js/pdf-js/web/locale/pt-BR/viewer.properties b/static/js/pdf-js/web/locale/pt-BR/viewer.properties
deleted file mode 100644
index 7b4727b..0000000
--- a/static/js/pdf-js/web/locale/pt-BR/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Página anterior
-previous_label=Anterior
-next.title=Próxima página
-next_label=Próxima
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Página
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Reduzir
-zoom_out_label=Reduzir
-zoom_in.title=Ampliar
-zoom_in_label=Ampliar
-zoom.title=Zoom
-presentation_mode.title=Mudar para o modo de apresentação
-presentation_mode_label=Modo de apresentação
-open_file.title=Abrir arquivo
-open_file_label=Abrir
-print.title=Imprimir
-print_label=Imprimir
-download.title=Baixar
-download_label=Baixar
-bookmark.title=Visão atual (copiar ou abrir em nova janela)
-bookmark_label=Visualização atual
-
-# Secondary toolbar and context menu
-tools.title=Ferramentas
-tools_label=Ferramentas
-first_page.title=Ir para a primeira página
-first_page_label=Ir para a primeira página
-last_page.title=Ir para a última página
-last_page_label=Ir para a última página
-page_rotate_cw.title=Girar no sentido horário
-page_rotate_cw_label=Girar no sentido horário
-page_rotate_ccw.title=Girar no sentido anti-horário
-page_rotate_ccw_label=Girar no sentido anti-horário
-
-cursor_text_select_tool.title=Ativar a ferramenta de seleção de texto
-cursor_text_select_tool_label=Ferramenta de seleção de texto
-cursor_hand_tool.title=Ativar ferramenta de deslocamento
-cursor_hand_tool_label=Ferramenta de deslocamento
-
-scroll_page.title=Usar rolagem de página
-scroll_page_label=Rolagem de página
-scroll_vertical.title=Usar deslocamento vertical
-scroll_vertical_label=Deslocamento vertical
-scroll_horizontal.title=Usar deslocamento horizontal
-scroll_horizontal_label=Deslocamento horizontal
-scroll_wrapped.title=Usar deslocamento contido
-scroll_wrapped_label=Deslocamento contido
-
-spread_none.title=Não reagrupar páginas
-spread_none_label=Não estender
-spread_odd.title=Agrupar páginas começando em páginas com números Ãmpares
-spread_odd_label=Estender Ãmpares
-spread_even.title=Agrupar páginas começando em páginas com números pares
-spread_even_label=Estender pares
-
-# Document properties dialog box
-document_properties.title=Propriedades do documento…
-document_properties_label=Propriedades do documento…
-document_properties_file_name=Nome do arquivo:
-document_properties_file_size=Tamanho do arquivo:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=TÃtulo:
-document_properties_author=Autor:
-document_properties_subject=Assunto:
-document_properties_keywords=Palavras-chave:
-document_properties_creation_date=Data da criação:
-document_properties_modification_date=Data da modificação:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Criação:
-document_properties_producer=Criador do PDF:
-document_properties_version=Versão do PDF:
-document_properties_page_count=Número de páginas:
-document_properties_page_size=Tamanho da página:
-document_properties_page_size_unit_inches=pol.
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=retrato
-document_properties_page_size_orientation_landscape=paisagem
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Carta
-document_properties_page_size_name_legal=JurÃdico
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Exibição web rápida:
-document_properties_linearized_yes=Sim
-document_properties_linearized_no=Não
-document_properties_close=Fechar
-
-print_progress_message=Preparando documento para impressão…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}} %
-print_progress_close=Cancelar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Exibir/ocultar painel lateral
-toggle_sidebar_notification2.title=Exibir/ocultar painel (documento contém estrutura/anexos/camadas)
-toggle_sidebar_label=Exibir/ocultar painel
-document_outline.title=Mostrar a estrutura do documento (dê um duplo-clique para expandir/recolher todos os itens)
-document_outline_label=Estrutura do documento
-attachments.title=Mostrar anexos
-attachments_label=Anexos
-layers.title=Exibir camadas (duplo-clique para redefinir todas as camadas ao estado predefinido)
-layers_label=Camadas
-thumbs.title=Mostrar miniaturas
-thumbs_label=Miniaturas
-current_outline_item.title=Encontrar item atual da estrutura
-current_outline_item_label=Item atual da estrutura
-findbar.title=Procurar no documento
-findbar_label=Procurar
-
-additional_layers=Camadas adicionais
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Página {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Página {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura da página {{page}}
-
-# Find panel button title and messages
-find_input.title=Procurar
-find_input.placeholder=Procurar no documento…
-find_previous.title=Procurar a ocorrência anterior da frase
-find_previous_label=Anterior
-find_next.title=Procurar a próxima ocorrência da frase
-find_next_label=Próxima
-find_highlight=Destacar tudo
-find_match_case_label=Diferenciar maiúsculas/minúsculas
-find_match_diacritics_label=Considerar acentuação
-find_entire_word_label=Palavras completas
-find_reached_top=InÃcio do documento alcançado, continuando do fim
-find_reached_bottom=Fim do documento alcançado, continuando do inÃcio
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} de {{total}} ocorrência
-find_match_count[two]={{current}} de {{total}} ocorrências
-find_match_count[few]={{current}} de {{total}} ocorrências
-find_match_count[many]={{current}} de {{total}} ocorrências
-find_match_count[other]={{current}} de {{total}} ocorrências
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Mais de {{limit}} ocorrências
-find_match_count_limit[one]=Mais de {{limit}} ocorrência
-find_match_count_limit[two]=Mais de {{limit}} ocorrências
-find_match_count_limit[few]=Mais de {{limit}} ocorrências
-find_match_count_limit[many]=Mais de {{limit}} ocorrências
-find_match_count_limit[other]=Mais de {{limit}} ocorrências
-find_not_found=Frase não encontrada
-
-# Error panel labels
-error_more_info=Mais informações
-error_less_info=Menos informações
-error_close=Fechar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (compilação: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mensagem: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pilha: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Arquivo: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linha: {{line}}
-rendering_error=Ocorreu um erro ao renderizar a página.
-
-# Predefined zoom values
-page_scale_width=Largura da página
-page_scale_fit=Ajustar à janela
-page_scale_auto=Zoom automático
-page_scale_actual=Tamanho real
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Carregando…
-loading_error=Ocorreu um erro ao carregar o PDF.
-invalid_file_error=Arquivo PDF corrompido ou inválido.
-missing_file_error=Arquivo PDF ausente.
-unexpected_response_error=Resposta inesperada do servidor.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotação {{type}}]
-password_label=Forneça a senha para abrir este arquivo PDF.
-password_invalid=Senha inválida. Tente novamente.
-password_ok=OK
-password_cancel=Cancelar
-
-printing_not_supported=Aviso: a impressão não é totalmente suportada neste navegador.
-printing_not_ready=Aviso: o PDF não está totalmente carregado para impressão.
-web_fonts_disabled=As fontes web estão desativadas: não foi possÃvel usar fontes incorporadas do PDF.
-
-# Editor
-editor_none.title=Desativar edição de anotações
-editor_none_label=Desativar edição
-editor_free_text.title=Adicionar anotação FreeText
-editor_free_text_label=Anotação FreeText
-editor_ink.title=Adicionar anotação à tinta
-editor_ink_label=Anotação à tinta
-
-freetext_default_content=Digite algum texto…
-
-free_text_default_content=Digite o texto…
-
-# Editor Parameters
-editor_free_text_font_color=Cor da fonte
-editor_free_text_font_size=Tamanho da fonte
-editor_ink_line_color=Cor da linha
-editor_ink_line_thickness=Espessura da linha
-
-# Editor Parameters
-editor_free_text_color=Cor
-editor_free_text_size=Tamanho
-editor_ink_color=Cor
-editor_ink_thickness=Espessura
-editor_ink_opacity=Opacidade
-
-# Editor aria
-editor_free_text_aria_label=Editor FreeText
-editor_ink_aria_label=Editor de tinta
-editor_ink_canvas_aria_label=Imagem criada pelo usuário
diff --git a/static/js/pdf-js/web/locale/pt-PT/viewer.properties b/static/js/pdf-js/web/locale/pt-PT/viewer.properties
deleted file mode 100644
index 9fcfdf3..0000000
--- a/static/js/pdf-js/web/locale/pt-PT/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Página anterior
-previous_label=Anterior
-next.title=Página seguinte
-next_label=Seguinte
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Página
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Reduzir
-zoom_out_label=Reduzir
-zoom_in.title=Ampliar
-zoom_in_label=Ampliar
-zoom.title=Zoom
-presentation_mode.title=Trocar para o modo de apresentação
-presentation_mode_label=Modo de apresentação
-open_file.title=Abrir ficheiro
-open_file_label=Abrir
-print.title=Imprimir
-print_label=Imprimir
-download.title=Transferir
-download_label=Transferir
-bookmark.title=Vista atual (copiar ou abrir numa nova janela)
-bookmark_label=Visão atual
-
-# Secondary toolbar and context menu
-tools.title=Ferramentas
-tools_label=Ferramentas
-first_page.title=Ir para a primeira página
-first_page_label=Ir para a primeira página
-last_page.title=Ir para a última página
-last_page_label=Ir para a última página
-page_rotate_cw.title=Rodar à direita
-page_rotate_cw_label=Rodar à direita
-page_rotate_ccw.title=Rodar à esquerda
-page_rotate_ccw_label=Rodar à esquerda
-
-cursor_text_select_tool.title=Ativar ferramenta de seleção de texto
-cursor_text_select_tool_label=Ferramenta de seleção de texto
-cursor_hand_tool.title=Ativar ferramenta de mão
-cursor_hand_tool_label=Ferramenta de mão
-
-scroll_page.title=Utilizar deslocamento da página
-scroll_page_label=Deslocamento da página
-scroll_vertical.title=Utilizar deslocação vertical
-scroll_vertical_label=Deslocação vertical
-scroll_horizontal.title=Utilizar deslocação horizontal
-scroll_horizontal_label=Deslocação horizontal
-scroll_wrapped.title=Utilizar deslocação encapsulada
-scroll_wrapped_label=Deslocação encapsulada
-
-spread_none.title=Não juntar páginas dispersas
-spread_none_label=Sem spreads
-spread_odd.title=Juntar páginas dispersas a partir de páginas com números Ãmpares
-spread_odd_label=Spreads Ãmpares
-spread_even.title=Juntar páginas dispersas a partir de páginas com números pares
-spread_even_label=Spreads pares
-
-# Document properties dialog box
-document_properties.title=Propriedades do documento…
-document_properties_label=Propriedades do documento…
-document_properties_file_name=Nome do ficheiro:
-document_properties_file_size=Tamanho do ficheiro:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=TÃtulo:
-document_properties_author=Autor:
-document_properties_subject=Assunto:
-document_properties_keywords=Palavras-chave:
-document_properties_creation_date=Data de criação:
-document_properties_modification_date=Data de modificação:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Criador:
-document_properties_producer=Produtor de PDF:
-document_properties_version=Versão do PDF:
-document_properties_page_count=N.º de páginas:
-document_properties_page_size=Tamanho da página:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=retrato
-document_properties_page_size_orientation_landscape=paisagem
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Carta
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista rápida web:
-document_properties_linearized_yes=Sim
-document_properties_linearized_no=Não
-document_properties_close=Fechar
-
-print_progress_message=A preparar o documento para impressão…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancelar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Alternar barra lateral
-toggle_sidebar_notification2.title=Alternar barra lateral (o documento contém contornos/anexos/camadas)
-toggle_sidebar_label=Alternar barra lateral
-document_outline.title=Mostrar esquema do documento (duplo clique para expandir/colapsar todos os itens)
-document_outline_label=Esquema do documento
-attachments.title=Mostrar anexos
-attachments_label=Anexos
-layers.title=Mostrar camadas (clique duas vezes para repor todas as camadas para o estado predefinido)
-layers_label=Camadas
-thumbs.title=Mostrar miniaturas
-thumbs_label=Miniaturas
-current_outline_item.title=Encontrar o item atualmente destacado
-current_outline_item_label=Item atualmente destacado
-findbar.title=Localizar em documento
-findbar_label=Localizar
-
-additional_layers=Camadas adicionais
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Página {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Página {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura da página {{page}}
-
-# Find panel button title and messages
-find_input.title=Localizar
-find_input.placeholder=Localizar em documento…
-find_previous.title=Localizar ocorrência anterior da frase
-find_previous_label=Anterior
-find_next.title=Localizar ocorrência seguinte da frase
-find_next_label=Seguinte
-find_highlight=Destacar tudo
-find_match_case_label=Correspondência
-find_match_diacritics_label=Corresponder diacrÃticos
-find_entire_word_label=Palavras completas
-find_reached_top=Topo do documento atingido, a continuar a partir do fundo
-find_reached_bottom=Fim do documento atingido, a continuar a partir do topo
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} de {{total}} correspondência
-find_match_count[two]={{current}} de {{total}} correspondências
-find_match_count[few]={{current}} de {{total}} correspondências
-find_match_count[many]={{current}} de {{total}} correspondências
-find_match_count[other]={{current}} de {{total}} correspondências
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Mais de {{limit}} correspondências
-find_match_count_limit[one]=Mais de {{limit}} correspondência
-find_match_count_limit[two]=Mais de {{limit}} correspondências
-find_match_count_limit[few]=Mais de {{limit}} correspondências
-find_match_count_limit[many]=Mais de {{limit}} correspondências
-find_match_count_limit[other]=Mais de {{limit}} correspondências
-find_not_found=Frase não encontrada
-
-# Error panel labels
-error_more_info=Mais informação
-error_less_info=Menos informação
-error_close=Fechar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (compilação: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mensagem: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Ficheiro: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linha: {{line}}
-rendering_error=Ocorreu um erro ao processar a página.
-
-# Predefined zoom values
-page_scale_width=Ajustar à largura
-page_scale_fit=Ajustar à página
-page_scale_auto=Zoom automático
-page_scale_actual=Tamanho real
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=A carregar…
-loading_error=Ocorreu um erro ao carregar o PDF.
-invalid_file_error=Ficheiro PDF inválido ou danificado.
-missing_file_error=Ficheiro PDF inexistente.
-unexpected_response_error=Resposta inesperada do servidor.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotação {{type}}]
-password_label=Introduza a palavra-passe para abrir este ficheiro PDF.
-password_invalid=Palavra-passe inválida. Por favor, tente novamente.
-password_ok=OK
-password_cancel=Cancelar
-
-printing_not_supported=Aviso: a impressão não é totalmente suportada por este navegador.
-printing_not_ready=Aviso: o PDF ainda não está totalmente carregado.
-web_fonts_disabled=Os tipos de letra web estão desativados: não é possÃvel utilizar os tipos de letra PDF embutidos.
-
-# Editor
-editor_none.title=Desativar Edição de Anotações
-editor_none_label=Desativar Edição
-editor_free_text.title=Adicionar Anotação FreeText
-editor_free_text_label=Anotação FreeText
-editor_ink.title=Adicionar Anotação a Tinta
-editor_ink_label=Anotação a Tinta
-
-freetext_default_content=Introduza algum texto…
-
-free_text_default_content=Introduza o texto…
-
-# Editor Parameters
-editor_free_text_font_color=Cor da Fonte
-editor_free_text_font_size=Tamanho da Fonte
-editor_ink_line_color=Cor da Linha
-editor_ink_line_thickness=Espessura da Linha
-
-# Editor Parameters
-editor_free_text_color=Cor
-editor_free_text_size=Tamanho
-editor_ink_color=Cor
-editor_ink_thickness=Espessura
-editor_ink_opacity=Opacidade
-
-# Editor aria
-editor_free_text_aria_label=Editor de texto livre
-editor_ink_aria_label=Editor de tinta
-editor_ink_canvas_aria_label=Imagem criada pelo utilizador
diff --git a/static/js/pdf-js/web/locale/rm/viewer.properties b/static/js/pdf-js/web/locale/rm/viewer.properties
deleted file mode 100644
index 5f1954a..0000000
--- a/static/js/pdf-js/web/locale/rm/viewer.properties
+++ /dev/null
@@ -1,261 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pagina precedenta
-previous_label=Enavos
-next.title=Proxima pagina
-next_label=Enavant
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pagina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=da {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} da {{pagesCount}})
-
-zoom_out.title=Empitschnir
-zoom_out_label=Empitschnir
-zoom_in.title=Engrondir
-zoom_in_label=Engrondir
-zoom.title=Zoom
-presentation_mode.title=Midar en il modus da preschentaziun
-presentation_mode_label=Modus da preschentaziun
-open_file.title=Avrir datoteca
-open_file_label=Avrir
-print.title=Stampar
-print_label=Stampar
-download.title=Telechargiar
-download_label=Telechargiar
-bookmark.title=Vista actuala (copiar u avrir en ina nova fanestra)
-bookmark_label=Vista actuala
-
-# Secondary toolbar and context menu
-tools.title=Utensils
-tools_label=Utensils
-first_page.title=Siglir a l'emprima pagina
-first_page_label=Siglir a l'emprima pagina
-last_page.title=Siglir a la davosa pagina
-last_page_label=Siglir a la davosa pagina
-page_rotate_cw.title=Rotar en direcziun da l'ura
-page_rotate_cw_label=Rotar en direcziun da l'ura
-page_rotate_ccw.title=Rotar en direcziun cuntraria a l'ura
-page_rotate_ccw_label=Rotar en direcziun cuntraria a l'ura
-
-cursor_text_select_tool.title=Activar l'utensil per selecziunar text
-cursor_text_select_tool_label=Utensil per selecziunar text
-cursor_hand_tool.title=Activar l'utensil da maun
-cursor_hand_tool_label=Utensil da maun
-
-scroll_page.title=Utilisar la defilada per pagina
-scroll_page_label=Defilada per pagina
-scroll_vertical.title=Utilisar il defilar vertical
-scroll_vertical_label=Defilar vertical
-scroll_horizontal.title=Utilisar il defilar orizontal
-scroll_horizontal_label=Defilar orizontal
-scroll_wrapped.title=Utilisar il defilar en colonnas
-scroll_wrapped_label=Defilar en colonnas
-
-spread_none.title=Betg parallelisar las paginas
-spread_none_label=Betg parallel
-spread_odd.title=Parallelisar las paginas cun cumenzar cun paginas spèras
-spread_odd_label=Parallel spèr
-spread_even.title=Parallelisar las paginas cun cumenzar cun paginas pèras
-spread_even_label=Parallel pèr
-
-# Document properties dialog box
-document_properties.title=Caracteristicas dal document…
-document_properties_label=Caracteristicas dal document…
-document_properties_file_name=Num da la datoteca:
-document_properties_file_size=Grondezza da la datoteca:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Titel:
-document_properties_author=Autur:
-document_properties_subject=Tema:
-document_properties_keywords=Chavazzins:
-document_properties_creation_date=Data da creaziun:
-document_properties_modification_date=Data da modificaziun:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}} {{time}}
-document_properties_creator=Creà da:
-document_properties_producer=Creà il PDF cun:
-document_properties_version=Versiun da PDF:
-document_properties_page_count=Dumber da paginas:
-document_properties_page_size=Grondezza da la pagina:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=vertical
-document_properties_page_size_orientation_landscape=orizontal
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=Gea
-document_properties_linearized_no=Na
-document_properties_close=Serrar
-
-print_progress_message=Preparar il document per stampar…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Interrumper
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Activar/deactivar la trav laterala
-toggle_sidebar_notification2.title=Activar/deactivar la trav laterala (il document cuntegna structura dal document/agiuntas/nivels)
-toggle_sidebar_label=Activar/deactivar la trav laterala
-document_outline.title=Mussar la structura dal document (cliccar duas giadas per extender/cumprimer tut ils elements)
-document_outline_label=Structura dal document
-attachments.title=Mussar agiuntas
-attachments_label=Agiuntas
-layers.title=Mussar ils nivels (cliccar dubel per restaurar il stadi da standard da tut ils nivels)
-layers_label=Nivels
-thumbs.title=Mussar las miniaturas
-thumbs_label=Miniaturas
-current_outline_item.title=Tschertgar l'element da structura actual
-current_outline_item_label=Element da structura actual
-findbar.title=Tschertgar en il document
-findbar_label=Tschertgar
-
-additional_layers=Nivels supplementars
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Pagina {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pagina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura da la pagina {{page}}
-
-# Find panel button title and messages
-find_input.title=Tschertgar
-find_input.placeholder=Tschertgar en il document…
-find_previous.title=Tschertgar la posiziun precedenta da l'expressiun
-find_previous_label=Enavos
-find_next.title=Tschertgar la proxima posiziun da l'expressiun
-find_next_label=Enavant
-find_highlight=Relevar tuts
-find_match_case_label=Resguardar maiusclas/minusclas
-find_match_diacritics_label=Resguardar ils segns diacritics
-find_entire_word_label=Pleds entirs
-find_reached_top=Il cumenzament dal document è cuntanschì, la tschertga cuntinuescha a la fin dal document
-find_reached_bottom=La fin dal document è cuntanschì, la tschertga cuntinuescha al cumenzament dal document
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} dad {{total}} correspundenza
-find_match_count[two]={{current}} da {{total}} correspundenzas
-find_match_count[few]={{current}} da {{total}} correspundenzas
-find_match_count[many]={{current}} da {{total}} correspundenzas
-find_match_count[other]={{current}} da {{total}} correspundenzas
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Dapli che {{limit}} correspundenzas
-find_match_count_limit[one]=Dapli che {{limit}} correspundenza
-find_match_count_limit[two]=Dapli che {{limit}} correspundenzas
-find_match_count_limit[few]=Dapli che {{limit}} correspundenzas
-find_match_count_limit[many]=Dapli che {{limit}} correspundenzas
-find_match_count_limit[other]=Dapli che {{limit}} correspundenzas
-find_not_found=Impussibel da chattar l'expressiun
-
-# Error panel labels
-error_more_info=Dapli infurmaziuns
-error_less_info=Damain infurmaziuns
-error_close=Serrar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Messadi: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Datoteca: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Lingia: {{line}}
-rendering_error=Ina errur è cumparida cun visualisar questa pagina.
-
-# Predefined zoom values
-page_scale_width=Ladezza da la pagina
-page_scale_fit=Entira pagina
-page_scale_auto=Zoom automatic
-page_scale_actual=Grondezza actuala
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Chargiar…
-loading_error=Ina errur è cumparida cun chargiar il PDF.
-invalid_file_error=Datoteca PDF nunvalida u donnegiada.
-missing_file_error=Datoteca PDF manconta.
-unexpected_response_error=Resposta nunspetgada dal server.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Annotaziun da {{type}}]
-password_label=Endatescha il pled-clav per avrir questa datoteca da PDF.
-password_invalid=Pled-clav nunvalid. Emprova anc ina giada.
-password_ok=OK
-password_cancel=Interrumper
-
-printing_not_supported=Attenziun: Il stampar na funcziunescha anc betg dal tut en quest navigatur.
-printing_not_ready=Attenziun: Il PDF n'è betg chargià cumplettamain per stampar.
-web_fonts_disabled=Scrittiras dal web èn deactivadas: impussibel dad utilisar las scrittiras integradas en il PDF.
-
-# Editor
-editor_none.title=Deactivar la modificaziun dad annotaziuns
-editor_none_label=Deactivar la modificaziun
-editor_free_text.title=Agiuntar ina annotaziun da text liber
-editor_free_text_label=Annotaziun da text liber
-editor_ink.title=Agiuntar ina annotaziun stilograf
-editor_ink_label=Annotaziun stilograf
-
-freetext_default_content=Endatar text…
diff --git a/static/js/pdf-js/web/locale/ro/viewer.properties b/static/js/pdf-js/web/locale/ro/viewer.properties
deleted file mode 100644
index 7c4ed28..0000000
--- a/static/js/pdf-js/web/locale/ro/viewer.properties
+++ /dev/null
@@ -1,240 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pagina precedentă
-previous_label=ÃŽnapoi
-next.title=Pagina următoare
-next_label=ÃŽnainte
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pagina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=din {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} din {{pagesCount}})
-
-zoom_out.title=Micșorează
-zoom_out_label=Micșorează
-zoom_in.title=Mărește
-zoom_in_label=Mărește
-zoom.title=Zoom
-presentation_mode.title=Comută la modul de prezentare
-presentation_mode_label=Mod de prezentare
-open_file.title=Deschide un fișier
-open_file_label=Deschide
-print.title=Tipărește
-print_label=Tipărește
-download.title=Descarcă
-download_label=Descarcă
-bookmark.title=Vizualizare actuală (copiază sau deschide într-o fereastră nouă)
-bookmark_label=Vizualizare actuală
-
-# Secondary toolbar and context menu
-tools.title=Instrumente
-tools_label=Instrumente
-first_page.title=Mergi la prima pagină
-first_page_label=Mergi la prima pagină
-last_page.title=Mergi la ultima pagină
-last_page_label=Mergi la ultima pagină
-page_rotate_cw.title=Rotește în sensul acelor de ceas
-page_rotate_cw_label=Rotește în sensul acelor de ceas
-page_rotate_ccw.title=Rotește în sens invers al acelor de ceas
-page_rotate_ccw_label=Rotește în sens invers al acelor de ceas
-
-cursor_text_select_tool.title=Activează instrumentul de selecție a textului
-cursor_text_select_tool_label=Instrumentul de selecție a textului
-cursor_hand_tool.title=Activează instrumentul mână
-cursor_hand_tool_label=Unealta mână
-
-scroll_vertical.title=Folosește derularea verticală
-scroll_vertical_label=Derulare verticală
-scroll_horizontal.title=Folosește derularea orizontală
-scroll_horizontal_label=Derulare orizontală
-scroll_wrapped.title=Folosește derularea încadrată
-scroll_wrapped_label=Derulare încadrată
-
-spread_none.title=Nu uni paginile broșate
-spread_none_label=Fără pagini broșate
-spread_odd.title=Unește paginile broșate începând cu cele impare
-spread_odd_label=Broșare pagini impare
-spread_even.title=Unește paginile broșate începând cu cele pare
-spread_even_label=Broșare pagini pare
-
-# Document properties dialog box
-document_properties.title=Proprietățile documentului…
-document_properties_label=Proprietățile documentului…
-document_properties_file_name=Numele fișierului:
-document_properties_file_size=Mărimea fișierului:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} byți)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} byți)
-document_properties_title=Titlu:
-document_properties_author=Autor:
-document_properties_subject=Subiect:
-document_properties_keywords=Cuvinte cheie:
-document_properties_creation_date=Data creării:
-document_properties_modification_date=Data modificării:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Autor:
-document_properties_producer=Producător PDF:
-document_properties_version=Versiune PDF:
-document_properties_page_count=Număr de pagini:
-document_properties_page_size=Mărimea paginii:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=verticală
-document_properties_page_size_orientation_landscape=orizontală
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Literă
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vizualizare web rapidă:
-document_properties_linearized_yes=Da
-document_properties_linearized_no=Nu
-document_properties_close=ÃŽnchide
-
-print_progress_message=Se pregătește documentul pentru tipărire…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Renunță
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Comută bara laterală
-toggle_sidebar_label=Comută bara laterală
-document_outline.title=Afișează schița documentului (dublu-clic pentru a extinde/restrânge toate elementele)
-document_outline_label=Schița documentului
-attachments.title=Afișează atașamentele
-attachments_label=Atașamente
-thumbs.title=Afișează miniaturi
-thumbs_label=Miniaturi
-findbar.title=Caută în document
-findbar_label=Caută
-
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pagina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura paginii {{page}}
-
-# Find panel button title and messages
-find_input.title=Caută
-find_input.placeholder=Caută în document…
-find_previous.title=Mergi la apariția anterioară a textului
-find_previous_label=ÃŽnapoi
-find_next.title=Mergi la apariția următoare a textului
-find_next_label=ÃŽnainte
-find_highlight=Evidențiază toate aparițiile
-find_match_case_label=Ține cont de majuscule și minuscule
-find_entire_word_label=Cuvinte întregi
-find_reached_top=Am ajuns la începutul documentului, continuă de la sfârșit
-find_reached_bottom=Am ajuns la sfârșitul documentului, continuă de la început
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} din {{total}} rezultat
-find_match_count[two]={{current}} din {{total}} rezultate
-find_match_count[few]={{current}} din {{total}} rezultate
-find_match_count[many]={{current}} din {{total}} de rezultate
-find_match_count[other]={{current}} din {{total}} de rezultate
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Peste {{limit}} rezultate
-find_match_count_limit[one]=Peste {{limit}} rezultat
-find_match_count_limit[two]=Peste {{limit}} rezultate
-find_match_count_limit[few]=Peste {{limit}} rezultate
-find_match_count_limit[many]=Peste {{limit}} de rezultate
-find_match_count_limit[other]=Peste {{limit}} de rezultate
-find_not_found=Nu s-a găsit textul
-
-# Error panel labels
-error_more_info=Mai multe informații
-error_less_info=Mai puține informații
-error_close=ÃŽnchide
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (versiunea compilată: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mesaj: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stivă: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fișier: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Rând: {{line}}
-rendering_error=A intervenit o eroare la randarea paginii.
-
-# Predefined zoom values
-page_scale_width=Lățime pagină
-page_scale_fit=Potrivire la pagină
-page_scale_auto=Zoom automat
-page_scale_actual=Mărime reală
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error=A intervenit o eroare la încărcarea PDF-ului.
-invalid_file_error=Fișier PDF nevalid sau corupt.
-missing_file_error=Fișier PDF lipsă.
-unexpected_response_error=Răspuns neașteptat de la server.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Adnotare {{type}}]
-password_label=Introdu parola pentru a deschide acest fișier PDF.
-password_invalid=Parolă nevalidă. Te rugăm să încerci din nou.
-password_ok=OK
-password_cancel=Renunță
-
-printing_not_supported=Avertisment: Tipărirea nu este suportată în totalitate de acest browser.
-printing_not_ready=Avertisment: PDF-ul nu este încărcat complet pentru tipărire.
-web_fonts_disabled=Fonturile web sunt dezactivate: nu se pot folosi fonturile PDF încorporate.
diff --git a/static/js/pdf-js/web/locale/ru/viewer.properties b/static/js/pdf-js/web/locale/ru/viewer.properties
deleted file mode 100644
index 70c898a..0000000
--- a/static/js/pdf-js/web/locale/ru/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=ÐŸÑ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ñтраница
-previous_label=ПредыдущаÑ
-next.title=Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ñтраница
-next_label=СледующаÑ
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Страница
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=из {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} из {{pagesCount}})
-
-zoom_out.title=Уменьшить
-zoom_out_label=Уменьшить
-zoom_in.title=Увеличить
-zoom_in_label=Увеличить
-zoom.title=МаÑштаб
-presentation_mode.title=Перейти в режим презентации
-presentation_mode_label=Режим презентации
-open_file.title=Открыть файл
-open_file_label=Открыть
-print.title=Печать
-print_label=Печать
-download.title=Загрузить
-download_label=Загрузить
-bookmark.title=СÑылка на текущий вид (Ñкопировать или открыть в новом окне)
-bookmark_label=Текущий вид
-
-# Secondary toolbar and context menu
-tools.title=ИнÑтрументы
-tools_label=ИнÑтрументы
-first_page.title=Перейти на первую Ñтраницу
-first_page_label=Перейти на первую Ñтраницу
-last_page.title=Перейти на поÑледнюю Ñтраницу
-last_page_label=Перейти на поÑледнюю Ñтраницу
-page_rotate_cw.title=Повернуть по чаÑовой Ñтрелке
-page_rotate_cw_label=Повернуть по чаÑовой Ñтрелке
-page_rotate_ccw.title=Повернуть против чаÑовой Ñтрелки
-page_rotate_ccw_label=Повернуть против чаÑовой Ñтрелки
-
-cursor_text_select_tool.title=Включить ИнÑтрумент «Выделение текÑта»
-cursor_text_select_tool_label=ИнÑтрумент «Выделение текÑта»
-cursor_hand_tool.title=Включить ИнÑтрумент «Рука»
-cursor_hand_tool_label=ИнÑтрумент «Рука»
-
-scroll_page.title=ИÑпользовать прокрутку Ñтраниц
-scroll_page_label=Прокрутка Ñтраниц
-scroll_vertical.title=ИÑпользовать вертикальную прокрутку
-scroll_vertical_label=Ð’ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð¾ÐºÑ€ÑƒÑ‚ÐºÐ°
-scroll_horizontal.title=ИÑпользовать горизонтальную прокрутку
-scroll_horizontal_label=Ð“Ð¾Ñ€Ð¸Ð·Ð¾Ð½Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð¾ÐºÑ€ÑƒÑ‚ÐºÐ°
-scroll_wrapped.title=ИÑпользовать маÑштабируемую прокрутку
-scroll_wrapped_label=МаÑÑˆÑ‚Ð°Ð±Ð¸Ñ€ÑƒÐµÐ¼Ð°Ñ Ð¿Ñ€Ð¾ÐºÑ€ÑƒÑ‚ÐºÐ°
-
-spread_none.title=Ðе иÑпользовать режим разворотов Ñтраниц
-spread_none_label=Без разворотов Ñтраниц
-spread_odd.title=Развороты начинаютÑÑ Ñ Ð½ÐµÑ‡Ñ‘Ñ‚Ð½Ñ‹Ñ… номеров Ñтраниц
-spread_odd_label=Ðечётные Ñтраницы Ñлева
-spread_even.title=Развороты начинаютÑÑ Ñ Ñ‡Ñ‘Ñ‚Ð½Ñ‹Ñ… номеров Ñтраниц
-spread_even_label=Чётные Ñтраницы Ñлева
-
-# Document properties dialog box
-document_properties.title=СвойÑтва документа…
-document_properties_label=СвойÑтва документа…
-document_properties_file_name=Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°:
-document_properties_file_size=Размер файла:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} КБ ({{size_b}} байт)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} МБ ({{size_b}} байт)
-document_properties_title=Заголовок:
-document_properties_author=Ðвтор:
-document_properties_subject=Тема:
-document_properties_keywords=Ключевые Ñлова:
-document_properties_creation_date=Дата ÑозданиÑ:
-document_properties_modification_date=Дата изменениÑ:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Приложение:
-document_properties_producer=Производитель PDF:
-document_properties_version=ВерÑÐ¸Ñ PDF:
-document_properties_page_count=ЧиÑло Ñтраниц:
-document_properties_page_size=Размер Ñтраницы:
-document_properties_page_size_unit_inches=дюймов
-document_properties_page_size_unit_millimeters=мм
-document_properties_page_size_orientation_portrait=книжнаÑ
-document_properties_page_size_orientation_landscape=альбомнаÑ
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=БыÑтрый проÑмотр в Web:
-document_properties_linearized_yes=Да
-document_properties_linearized_no=Ðет
-document_properties_close=Закрыть
-
-print_progress_message=Подготовка документа к печати…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Отмена
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Показать/Ñкрыть боковую панель
-toggle_sidebar_notification2.title=Показать/Ñкрыть боковую панель (документ имеет Ñодержание/вложениÑ/Ñлои)
-toggle_sidebar_label=Показать/Ñкрыть боковую панель
-document_outline.title=Показать Ñодержание документа (двойной щелчок, чтобы развернуть/Ñвернуть вÑе Ñлементы)
-document_outline_label=Содержание документа
-attachments.title=Показать вложениÑ
-attachments_label=ВложениÑ
-layers.title=Показать Ñлои (дважды щёлкните, чтобы ÑброÑить вÑе Ñлои к ÑоÑтоÑнию по умолчанию)
-layers_label=Слои
-thumbs.title=Показать миниатюры
-thumbs_label=Миниатюры
-current_outline_item.title=Ðайти текущий Ñлемент Ñтруктуры
-current_outline_item_label=Текущий Ñлемент Ñтруктуры
-findbar.title=Ðайти в документе
-findbar_label=Ðайти
-
-additional_layers=Дополнительные Ñлои
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Страница {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Страница {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Миниатюра Ñтраницы {{page}}
-
-# Find panel button title and messages
-find_input.title=Ðайти
-find_input.placeholder=Ðайти в документе…
-find_previous.title=Ðайти предыдущее вхождение фразы в текÑÑ‚
-find_previous_label=Ðазад
-find_next.title=Ðайти Ñледующее вхождение фразы в текÑÑ‚
-find_next_label=Далее
-find_highlight=ПодÑветить вÑе
-find_match_case_label=С учётом региÑтра
-find_match_diacritics_label=С учётом диакритичеÑких знаков
-find_entire_word_label=Слова целиком
-find_reached_top=ДоÑтигнут верх документа, продолжено Ñнизу
-find_reached_bottom=ДоÑтигнут конец документа, продолжено Ñверху
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} из {{total}} ÑовпадениÑ
-find_match_count[two]={{current}} из {{total}} Ñовпадений
-find_match_count[few]={{current}} из {{total}} Ñовпадений
-find_match_count[many]={{current}} из {{total}} Ñовпадений
-find_match_count[other]={{current}} из {{total}} Ñовпадений
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Более {{limit}} Ñовпадений
-find_match_count_limit[one]=Более {{limit}} ÑовпадениÑ
-find_match_count_limit[two]=Более {{limit}} Ñовпадений
-find_match_count_limit[few]=Более {{limit}} Ñовпадений
-find_match_count_limit[many]=Более {{limit}} Ñовпадений
-find_match_count_limit[other]=Более {{limit}} Ñовпадений
-find_not_found=Фраза не найдена
-
-# Error panel labels
-error_more_info=Детали
-error_less_info=Скрыть детали
-error_close=Закрыть
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (Ñборка: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Сообщение: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Стeк: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Файл: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Строка: {{line}}
-rendering_error=При Ñоздании Ñтраницы произошла ошибка.
-
-# Predefined zoom values
-page_scale_width=По ширине Ñтраницы
-page_scale_fit=По размеру Ñтраницы
-page_scale_auto=ÐвтоматичеÑки
-page_scale_actual=Реальный размер
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Загрузка…
-loading_error=При загрузке PDF произошла ошибка.
-invalid_file_error=Ðекорректный или повреждённый PDF-файл.
-missing_file_error=PDF-файл отÑутÑтвует.
-unexpected_response_error=Ðеожиданный ответ Ñервера.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[ÐÐ½Ð½Ð¾Ñ‚Ð°Ñ†Ð¸Ñ {{type}}]
-password_label=Введите пароль, чтобы открыть Ñтот PDF-файл.
-password_invalid=Ðеверный пароль. ПожалуйÑта, попробуйте Ñнова.
-password_ok=OK
-password_cancel=Отмена
-
-printing_not_supported=Предупреждение: Ð’ Ñтом браузере не полноÑтью поддерживаетÑÑ Ð¿ÐµÑ‡Ð°Ñ‚ÑŒ.
-printing_not_ready=Предупреждение: PDF не полноÑтью загружен Ð´Ð»Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð¸.
-web_fonts_disabled=Веб-шрифты отключены: не удалоÑÑŒ задейÑтвовать вÑтроенные PDF-шрифты.
-
-# Editor
-editor_none.title=Отключить редактирование аннотаций
-editor_none_label=Отключить редактирование
-editor_free_text.title=Добавить аннотацию FreeText
-editor_free_text_label=ÐÐ½Ð½Ð¾Ñ‚Ð°Ñ†Ð¸Ñ FreeText
-editor_ink.title=Добавить рукопиÑную аннотацию
-editor_ink_label=РукопиÑÐ½Ð°Ñ Ð°Ð½Ð½Ð¾Ñ‚Ð°Ñ†Ð¸Ñ
-
-freetext_default_content=Введите текÑт…
-
-free_text_default_content=Введите текÑт…
-
-# Editor Parameters
-editor_free_text_font_color=Цвет шрифта
-editor_free_text_font_size=Размер шрифта
-editor_ink_line_color=Цвет линии
-editor_ink_line_thickness=Толщина линии
-
-# Editor Parameters
-editor_free_text_color=Цвет
-editor_free_text_size=Размер
-editor_ink_color=Цвет
-editor_ink_thickness=Толщина
-editor_ink_opacity=ПрозрачноÑть
-
-# Editor aria
-editor_free_text_aria_label=Редактор FreeText
-editor_ink_aria_label=Редактор чернил
-editor_ink_canvas_aria_label=Созданное пользователем изображение
diff --git a/static/js/pdf-js/web/locale/sat/viewer.properties b/static/js/pdf-js/web/locale/sat/viewer.properties
deleted file mode 100644
index 9cfa1f5..0000000
--- a/static/js/pdf-js/web/locale/sat/viewer.properties
+++ /dev/null
@@ -1,197 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=ᱢᱟᱲᱟᱠᱥᱟᱦᱴᱟ
-previous_label=ᱢᱟᱲᱟá±á±Ÿá±œ
-next.title=ᱤᱱᱟᱹ ᱛᱟá±á±šá±¢ ᱥᱟᱦᱴᱟ
-next_label=ᱤᱱᱟᱹ ᱛᱟá±á±šá±¢
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=ᱥᱟᱦᱴᱟ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=ᱨᱮá±á±Ÿá±œ {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} ᱠᱷᱚᱱ {{pagesCount}})
-
-zoom_out.title=ᱦᱤᱲᱤᱧ ᱛᱮá±á±Ÿá±¨
-zoom_out_label=ᱦᱤᱲᱤᱧ ᱛᱮá±á±Ÿá±¨
-zoom_in.title=ᱢᱟᱨᱟᱠᱛᱮá±á±Ÿá±¨
-zoom_in_label=ᱢᱟᱨᱟᱠᱛᱮá±á±Ÿá±¨
-zoom.title=ᱡᱩᱢ
-presentation_mode.title=ᱩᱫᱩᱜ ᱥᱚᱫᱚᱨ ᱚᱵᱚᱥᱛᱟ ᱨᱮ ᱚᱛᱟᱠᱢᱮ
-presentation_mode_label=ᱩᱫᱩᱜ ᱥᱚᱫᱚᱨ ᱚᱵᱚᱥᱛᱟ ᱨᱮ
-open_file.title=ᱨᱮᱫ ᱡᱷᱤᱡᱽ ᱢᱮ
-open_file_label=ᱡᱷᱤᱡᱽ ᱢᱮ
-print.title=ᱪᱷᱟᱯᱟ
-print_label=ᱪᱷᱟᱯᱟ
-download.title=ᱰᱟᱩᱱᱞᱚᱰ
-download_label=ᱰᱟᱩᱱᱞᱚᱰ
-bookmark.title=ᱱᱤᱛᱚᱜᱟᱜ ᱧᱮᱞ (ᱱᱚᱶᱟ ᱡᱷᱚᱨᱠᱟ ᱨᱮ ᱱᱚᱠᱚᱞ ᱟᱨ ᱵᱟᱠᱡᱷᱤᱡᱽ ᱢᱮ )
-bookmark_label=ᱱᱤᱛᱚᱜᱟᱜ ᱧᱮᱞ
-
-# Secondary toolbar and context menu
-tools.title=ᱦᱟᱹᱛᱤá±á±Ÿá±¹á±¨ ᱠᱚ
-tools_label=ᱦᱟᱹᱛᱤá±á±Ÿá±¹á±¨ ᱠᱚ
-first_page.title=ᱯᱩá±á±žá±© ᱥᱟᱦᱴᱟ ᱥᱮᱫ ᱪᱟᱞᱟᱜ ᱢᱮ
-first_page_label=ᱯᱩá±á±žá±© ᱥᱟᱦᱴᱟ ᱥᱮᱫ ᱪᱟᱞᱟᱜ ᱢᱮ
-last_page.title=ᱢᱩᱪᱟᱹᱫ ᱥᱟᱦᱴᱟ ᱥᱮᱫ ᱪᱟᱞᱟᱜ ᱢᱮ
-last_page_label=ᱢᱩᱪᱟᱹᱫ ᱥᱟᱦᱴᱟ ᱥᱮᱫ ᱪᱟᱞᱟᱜ ᱢᱮ
-page_rotate_cw.title=ᱜᱷᱚᱰᱤ ᱦᱤᱥᱟᱹᱵ ᱛᱮ ᱟᱹᱪᱩᱨ
-page_rotate_cw_label=ᱜᱷᱚᱰᱤ ᱦᱤᱥᱟᱹᱵ ᱛᱮ ᱟᱹᱪᱩᱨ
-page_rotate_ccw.title=ᱜᱷᱚᱰᱤ ᱦᱤᱥᱟᱹᱵ ᱛᱮ ᱩᱞᱴᱟᱹ ᱟᱹᱪᱩᱨ
-page_rotate_ccw_label=ᱜᱷᱚᱰᱤ ᱦᱤᱥᱟᱹᱵ ᱛᱮ ᱩᱞᱴᱟᱹ ᱟᱹᱪᱩᱨ
-
-cursor_text_select_tool.title=ᱚᱞ ᱵᱟᱪᱷᱟᱣ ᱦᱟᱹᱛᱤá±á±Ÿá±¨ ᱮᱢ ᱪᱷᱚᱠᱢᱮ
-cursor_text_select_tool_label=ᱚᱞ ᱵᱟᱪᱷᱟᱣ ᱦᱟᱹᱛᱤá±á±Ÿá±¨
-cursor_hand_tool.title=ᱛᱤ ᱦᱟᱹᱛᱤá±á±Ÿá±¨ ᱮᱢ ᱪᱷᱚᱠᱢᱮ
-cursor_hand_tool_label=ᱛᱤ ᱦᱟᱹᱛᱤá±á±Ÿá±¨
-
-scroll_page.title=ᱥᱟᱦᱴᱟ ᱜᱩᱲᱟᱹᱣ ᱵᱮᱵᱷᱟᱨ ᱢᱮ
-scroll_page_label=ᱥᱟᱦᱴᱟ ᱜᱩᱲᱟᱹᱣ
-scroll_vertical.title=ᱥᱤᱫᱽ ᱜᱩᱲᱟᱹᱣ ᱵᱮᱵᱷᱟᱨ ᱢᱮ
-scroll_vertical_label=ᱥᱤᱫᱽ ᱜᱩᱲᱟᱹᱣ
-scroll_horizontal.title=ᱜᱤᱛᱤᱡ ᱛᱮ ᱜᱩᱲᱟᱹᱣ ᱵᱮᱵᱷᱟᱨ ᱢᱮ
-
-
-# Document properties dialog box
-document_properties_file_name=ᱨᱮᱫᱽ ᱧᱩᱛᱩᱢ :
-document_properties_file_size=ᱨᱮᱫᱽ ᱢᱟᱯ :
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} ᱵᱟá±á±¤á±´ ᱠᱚ)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} ᱵᱟá±á±¤á±´ ᱠᱚ)
-document_properties_title=ᱧᱩᱛᱩᱢ :
-document_properties_author=ᱚᱱᱚᱞᱤá±á±Ÿá±¹ :
-document_properties_subject=ᱵᱤᱥᱚᱠ:
-document_properties_keywords=ᱠᱟᱹᱴᱷᱤ ᱥᱟᱵᱟᱫᱽ :
-document_properties_creation_date=ᱛᱮá±á±Ÿá±¨ ᱢᱟᱸᱦᱤᱛ :
-document_properties_modification_date=ᱵᱚᱫᱚᱞ ᱦᱚᱪᱚ ᱢᱟᱹᱦᱤᱛ :
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=ᱵᱮᱱᱟᱣᱤᱡ :
-document_properties_producer=PDF ᱛᱮá±á±Ÿá±¨ ᱚᱰᱚᱠᱤᱡ :
-document_properties_version=PDF ᱵᱷᱟᱹᱨᱥᱚᱱ :
-document_properties_page_count=ᱥᱟᱦᱴᱟ ᱞᱮᱠᱷᱟ :
-document_properties_page_size=ᱥᱟᱦᱴᱟ ᱢᱟᱯ :
-document_properties_page_size_unit_inches=ᱤᱧᱪ
-document_properties_page_size_unit_millimeters=ᱢᱤᱢᱤ
-document_properties_page_size_orientation_portrait=ᱯᱚᱴᱨᱮᱴ
-document_properties_page_size_orientation_landscape=ᱞᱮᱱᱰᱥᱠᱮᱯ
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=ᱪᱤᱴᱷᱤ
-document_properties_page_size_name_legal=ᱠᱟᱹᱱᱩᱱᱤ
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-document_outline_label=ᱫᱚᱞᱤᱞ ᱛᱮá±á±Ÿá±¨ ᱛᱮᱫ
-attachments.title=ᱞᱟᱴᱷᱟ ᱥᱮᱞᱮᱫ ᱠᱚ ᱩᱫᱩᱜᱽ ᱢᱮ
-attachments_label=ᱞᱟᱴᱷᱟ ᱥᱮᱞᱮᱫ ᱠᱚ
-thumbs.title=ᱪᱤᱛᱟᱹᱨ ᱟᱦᱞᱟ ᱠᱚ ᱩᱫᱩᱜᱽ ᱢᱮ
-thumbs_label=ᱪᱤᱛᱟᱹᱨ ᱟᱦᱞᱟ ᱠᱚ
-findbar.title=ᱫᱚᱞᱤᱞ ᱨᱮ ᱯᱟᱱᱛᱮ
-findbar_label=ᱥᱮᱸᱫᱽᱨᱟᱠᱢᱮ
-
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}} ᱥᱟᱦᱴᱟ
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} ᱥᱟᱦᱴᱟ ᱨᱮá±á±Ÿá±œ ᱪᱤᱛᱟᱹᱨ ᱟᱦᱞᱟ
-
-# Find panel button title and messages
-find_previous.title=ᱟá±á±Ÿá±› ᱦᱤᱸᱥ ᱨᱮá±á±Ÿá±œ ᱯᱟᱹᱦᱤᱞ ᱥᱮᱫᱟᱜ ᱚᱰᱚᱠᱧᱟᱢ ᱢᱮ
-find_next.title=ᱟá±á±Ÿá±› ᱦᱤᱸᱥ ᱨᱮá±á±Ÿá±œ ᱤᱱᱟᱹ ᱛᱟá±á±šá±¢ ᱚᱰᱚᱠᱧᱟᱢ ᱢᱮ
-find_highlight=ᱡᱷᱚᱛᱚ ᱩᱫᱩᱜ ᱨᱟᱠᱟᱵ
-find_match_case_label=ᱡᱚᱲ ᱠᱟᱛᱷᱟ
-find_reached_top=ᱫᱚᱞᱤᱞ ᱨᱮá±á±Ÿá±œ ᱪᱤᱴ ᱨᱮ ᱥᱮᱴᱮᱨ, ᱞᱟᱛᱟᱨ ᱠᱷᱚᱱ ᱞᱮᱛᱟᱲ
-find_reached_bottom=ᱫᱚᱞᱤᱞ ᱨᱮá±á±Ÿá±œ ᱢᱩᱪᱟᱹᱫ ᱨᱮ ᱥᱮᱴᱮᱨ, ᱪᱚᱴ ᱠᱷᱚᱱ ᱞᱮᱛᱟᱲ
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_not_found=ᱛᱚᱯᱚᱞ ᱫᱚᱱᱚᱲ ᱵᱟᱠᱧᱟᱢ ᱞᱮᱱᱟ
-
-# Error panel labels
-error_more_info=ᱵᱟᱹᱲᱛᱤ ᱞᱟᱹᱠᱥᱚᱫᱚᱨ
-error_less_info=ᱠᱚᱢ ᱞᱟᱹᱠᱥᱚᱫᱚᱨ
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=ᱠᱷᱚᱵᱚᱨ : {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=ᱵᱟᱠ: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ᱨᱮᱫᱽ : {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=ᱜᱟᱨ : {{line}}
-rendering_error=ᱥᱟᱦᱴᱟ ᱮᱢ ᱡᱚᱦᱚᱠᱢᱤᱫ ᱵᱷᱩᱞ ᱦᱩᱠᱮᱱᱟ ᱾
-
-# Predefined zoom values
-page_scale_width=ᱥᱟᱦᱴᱟ ᱚᱥᱟᱨ
-page_scale_fit=ᱥᱟᱦᱴᱟ ᱠᱷᱟᱯ
-page_scale_auto=ᱟᱡᱼᱟᱡ ᱛᱮ ᱦᱩᱰᱤᱧ ᱞᱟᱹᱴᱩ ᱛᱮá±á±Ÿá±¨
-page_scale_actual=ᱴᱷᱤᱠᱢᱟᱨᱟᱠᱛᱮᱫ
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-
-# Loading indicator messages
-loading_error=PDF ᱞᱟᱫᱮ ᱡᱚᱦᱚᱜ ᱢᱤᱫ ᱵᱷᱩᱞ ᱦᱩᱠᱮᱱᱟ ᱾
-invalid_file_error=ᱵᱟᱠᱵᱟᱛᱟᱣ ᱟᱨᱵᱟá±á± ᱷᱟᱱ ᱰᱤᱜᱟᱹᱣ PDF ᱨᱮᱫᱽ á±¾
-missing_file_error=ᱟᱫᱟᱜ PDF ᱨᱮᱫᱽ ᱾
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} ᱢᱚᱱᱛᱚ ᱮᱢ]
-password_label=ᱱᱚᱶᱟ PDF ᱨᱮᱫᱽ ᱡᱷᱤᱡᱽ ᱞᱟᱹᱜᱤᱫ ᱫᱟᱱᱟᱠᱥᱟᱵᱟᱫᱽ ᱟᱫᱮᱨ ᱢᱮ ᱾
-password_invalid=ᱵᱷᱩᱞ ᱫᱟᱱᱟᱠᱥᱟᱵᱟᱫᱽ á±¾ ᱫᱟá±á±Ÿá± ᱟᱛᱮ ᱫᱩᱦᱲᱟᱹ ᱪᱮᱥᱴᱟᱠᱢᱮ á±¾
-password_ok=ᱴᱷᱤá±
-
-printing_not_supported=ᱦᱚᱥᱤá±á±Ÿá±¨ : ᱪᱷᱟᱯᱟ ᱱᱚᱣᱟ ᱯᱟᱱᱛᱮá±á±Ÿá±œ ᱫᱟᱨᱟᱠᱛᱮ ᱯᱩᱨᱟᱹᱣ ᱵᱟᱠᱜᱚᱲᱚᱣᱟᱠᱟᱱᱟ á±¾
-printing_not_ready=ᱦᱩᱥᱤá±á±Ÿá±¹á±¨ : ᱪᱷᱟᱯᱟ ᱞᱟᱹᱜᱤᱫ PDF ᱯᱩᱨᱟᱹ ᱵᱟᱠᱞᱟᱫᱮ ᱟᱠᱟᱱᱟ á±¾
-web_fonts_disabled=ᱣᱮᱵᱽ ᱪᱤᱠᱤ ᱵᱟᱠᱦᱩᱠᱦᱚᱪᱚ ᱠᱟᱱᱟ : ᱵᱷᱤᱛᱤᱨ ᱛᱷᱟᱯᱚᱱ PDF ᱪᱤᱠᱤ ᱵᱮᱵᱷᱟᱨ ᱵᱟᱠᱦᱩᱠᱠᱮá±á±Ÿ á±¾
diff --git a/static/js/pdf-js/web/locale/sc/viewer.properties b/static/js/pdf-js/web/locale/sc/viewer.properties
deleted file mode 100644
index 5a6f46c..0000000
--- a/static/js/pdf-js/web/locale/sc/viewer.properties
+++ /dev/null
@@ -1,239 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=PÃ gina anteriore
-previous_label=S'ischeda chi b'est primu
-next.title=PÃ gina imbeniente
-next_label=Imbeniente
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=PÃ gina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Impitica
-zoom_out_label=Impitica
-zoom_in.title=Ismà nnia
-zoom_in_label=Ismà nnia
-zoom.title=Ismà nnia
-presentation_mode.title=Cola a sa modalidade de presentatzione
-presentation_mode_label=Modalidade de presentatzione
-open_file.title=Aberi s'archìviu
-open_file_label=Abertu
-print.title=Imprenta
-print_label=Imprenta
-download.title=Iscà rriga
-download_label=Iscà rriga
-bookmark.title=Visualizatzione atuale (còpia o aberi in una ventana noa)
-bookmark_label=Visualizatzione atuale
-
-# Secondary toolbar and context menu
-tools.title=Istrumentos
-tools_label=Istrumentos
-first_page.title=Bae a sa prima pà gina
-first_page_label=Bae a sa prima pà gina
-last_page.title=Bae a s'ùrtima pà gina
-last_page_label=Bae a s'ùrtima pà gina
-page_rotate_cw.title=Gira in sensu orà riu
-page_rotate_cw_label=Gira in sensu orà riu
-page_rotate_ccw.title=Gira in sensu anti-orà riu
-page_rotate_ccw_label=Gira in sensu anti-orà riu
-
-cursor_text_select_tool.title=Ativa s'aina de seletzione de testu
-cursor_text_select_tool_label=Aina de seletzione de testu
-cursor_hand_tool.title=Ativa s'aina de manu
-cursor_hand_tool_label=Aina de manu
-
-scroll_page.title=Imprea s'iscurrimentu de pà gina
-scroll_page_label=Iscurrimentu de pà gina
-scroll_vertical.title=Imprea s'iscurrimentu verticale
-scroll_vertical_label=Iscurrimentu verticale
-scroll_horizontal.title=Imprea s'iscurrimentu orizontale
-scroll_horizontal_label=Iscurrimentu orizontale
-scroll_wrapped.title=Imprea s'iscurrimentu continu
-scroll_wrapped_label=Iscurrimentu continu
-
-
-# Document properties dialog box
-document_properties.title=Propiedades de su documentu…
-document_properties_label=Propiedades de su documentu…
-document_properties_file_name=Nòmine de s'archìviu:
-document_properties_file_size=Mannà ria de s'archìviu:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Tìtulu:
-document_properties_author=Autoria:
-document_properties_subject=Ogetu:
-document_properties_keywords=Faeddos crae:
-document_properties_creation_date=Data de creatzione:
-document_properties_modification_date=Data de modìfica:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creatzione:
-document_properties_producer=Produtore de PDF:
-document_properties_version=Versione de PDF:
-document_properties_page_count=Contu de pà ginas:
-document_properties_page_size=Mannà ria de sa pà gina:
-document_properties_page_size_unit_inches=pòddighes
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=verticale
-document_properties_page_size_orientation_landscape=orizontale
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Lìtera
-document_properties_page_size_name_legal=Legale
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Visualizatzione web lestra:
-document_properties_linearized_yes=Eja
-document_properties_linearized_no=Nono
-document_properties_close=Serra
-
-print_progress_message=Aparitzende s'imprenta de su documentu…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cantzella
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Ativa/disativa sa barra laterale
-toggle_sidebar_notification2.title=Ativa/disativa sa barra laterale (su documentu cuntenet un'ischema, alligongiados o livellos)
-toggle_sidebar_label=Ativa/disativa sa barra laterale
-document_outline_label=Ischema de su documentu
-attachments.title=Ammustra alligongiados
-attachments_label=Alliongiados
-layers.title=Ammustra livellos (clic dòpiu pro ripristinare totu is livellos a s'istadu predefinidu)
-layers_label=Livellos
-thumbs.title=Ammustra miniaturas
-thumbs_label=Miniaturas
-current_outline_item.title=Agata s'elementu atuale de s'ischema
-current_outline_item_label=Elementu atuale de s'ischema
-findbar.title=Agata in su documentu
-findbar_label=Agata
-
-additional_layers=Livellos additzionales
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=PÃ gina {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=PÃ gina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura de sa pà gina {{page}}
-
-# Find panel button title and messages
-find_input.title=Agata
-find_input.placeholder=Agata in su documentu…
-find_previous.title=Agata s'ocurrèntzia pretzedente de sa frà sia
-find_previous_label=S'ischeda chi b'est primu
-find_next.title=Agata s'ocurrèntzia imbeniente de sa frà sia
-find_next_label=Imbeniente
-find_highlight=Evidèntzia totu
-find_match_case_label=Distinghe intre majùsculas e minùsculas
-find_match_diacritics_label=Respeta is diacrìticos
-find_entire_word_label=Faeddos intreos
-find_reached_top=S'est lòmpidu a su cumintzu de su documentu, si sighit dae su bà sciu
-find_reached_bottom=S'est lòmpidu a s'acabbu de su documentu, si sighit dae s'artu
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} dae {{total}} currispondèntzia
-find_match_count[two]={{current}} dae {{total}} currispondèntzias
-find_match_count[few]={{current}} dae {{total}} currispondèntzias
-find_match_count[many]={{current}} dae {{total}} currispondèntzias
-find_match_count[other]={{current}} dae {{total}} currispondèntzias
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Prus de {{limit}} currispondèntzias
-find_match_count_limit[one]=Prus de {{limit}} currispondèntzia
-find_match_count_limit[two]=Prus de {{limit}} currispondèntzias
-find_match_count_limit[few]=Prus de {{limit}} currispondèntzias
-find_match_count_limit[many]=Prus de {{limit}} currispondèntzias
-find_match_count_limit[other]=Prus de {{limit}} currispondèntzias
-find_not_found=Testu no agatadu
-
-# Error panel labels
-error_more_info=Àteras informatziones
-error_less_info=Prus pagu informatziones
-error_close=Serra
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Messà giu: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Archìviu: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Lìnia: {{line}}
-rendering_error=Faddina in sa visualizatzione de sa pà gina.
-
-# Predefined zoom values
-page_scale_auto=Ingrandimentu automà ticu
-page_scale_actual=Mannà ria reale
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Carrighende…
-loading_error=Faddina in sa cà rriga de su PDF.
-invalid_file_error=Archìviu PDF non và lidu o corrùmpidu.
-missing_file_error=Ammancat s'archìviu PDF.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-password_label=Inserta sa crae pro abèrrere custu archìviu PDF.
-password_invalid=Sa crae no est curreta. Torra·bi a proare.
-password_ok=Andat bene
-password_cancel=Cantzella
-
-printing_not_supported=Atentzione: s'imprenta no est funtzionende de su totu in custu navigadore.
-printing_not_ready=Atentzione: su PDF no est istadu carrigadu de su totu pro s'imprenta.
-web_fonts_disabled=Is tipografias web sunt disativadas: is tipografias incrustadas a su PDF non podent èssere impreadas.
diff --git a/static/js/pdf-js/web/locale/scn/viewer.properties b/static/js/pdf-js/web/locale/scn/viewer.properties
deleted file mode 100644
index e9a650a..0000000
--- a/static/js/pdf-js/web/locale/scn/viewer.properties
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-
-zoom_out.title=Cchiù nicu
-zoom_out_label=Cchiù nicu
-zoom_in.title=Cchiù granni
-zoom_in_label=Cchiù granni
-
-# Secondary toolbar and context menu
-
-
-
-
-# Document properties dialog box
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista web lesta:
-document_properties_linearized_yes=Se
-
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_close=Sfai
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-
-# Find panel button title and messages
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-
-# Error panel labels
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-
-# Predefined zoom values
-page_scale_width=Larghizza dâ pà ggina
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-
-# Loading indicator messages
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-password_cancel=Sfai
-
diff --git a/static/js/pdf-js/web/locale/sco/viewer.properties b/static/js/pdf-js/web/locale/sco/viewer.properties
deleted file mode 100644
index 656f995..0000000
--- a/static/js/pdf-js/web/locale/sco/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Page Afore
-previous_label=Previous
-next.title=Page Efter
-next_label=Neist
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Page
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=o {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} o {{pagesCount}})
-
-zoom_out.title=Zoom Oot
-zoom_out_label=Zoom Oot
-zoom_in.title=Zoom In
-zoom_in_label=Zoom In
-zoom.title=Zoom
-presentation_mode.title=Flit tae Presentation Mode
-presentation_mode_label=Presentation Mode
-open_file.title=Open File
-open_file_label=Open
-print.title=Prent
-print_label=Prent
-download.title=Doonload
-download_label=Doonload
-bookmark.title=View the noo (copy or open in new windae)
-bookmark_label=View The Noo
-
-# Secondary toolbar and context menu
-tools.title=Tools
-tools_label=Tools
-first_page.title=Gang tae First Page
-first_page_label=Gang tae First Page
-last_page.title=Gang tae Lest Page
-last_page_label=Gang tae Lest Page
-page_rotate_cw.title=Rotate Clockwise
-page_rotate_cw_label=Rotate Clockwise
-page_rotate_ccw.title=Rotate Coonterclockwise
-page_rotate_ccw_label=Rotate Coonterclockwise
-
-cursor_text_select_tool.title=Enable Text Walin Tool
-cursor_text_select_tool_label=Text Walin Tool
-cursor_hand_tool.title=Enable Haun Tool
-cursor_hand_tool_label=Haun Tool
-
-scroll_vertical.title=Yaise Vertical Scrollin
-scroll_vertical_label=Vertical Scrollin
-scroll_horizontal.title=Yaise Horizontal Scrollin
-scroll_horizontal_label=Horizontal Scrollin
-scroll_wrapped.title=Yaise Wrapped Scrollin
-scroll_wrapped_label=Wrapped Scrollin
-
-spread_none.title=Dinnae jyn page spreids
-spread_none_label=Nae Spreids
-spread_odd.title=Jyn page spreids stertin wi odd-numbered pages
-spread_odd_label=Odd Spreids
-spread_even.title=Jyn page spreids stertin wi even-numbered pages
-spread_even_label=Even Spreids
-
-# Document properties dialog box
-document_properties.title=Document Properties…
-document_properties_label=Document Properties…
-document_properties_file_name=File nemme:
-document_properties_file_size=File size:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Title:
-document_properties_author=Author:
-document_properties_subject=Subjeck:
-document_properties_keywords=Keywirds:
-document_properties_creation_date=Date o Makkin:
-document_properties_modification_date=Date o Chynges:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Makker:
-document_properties_producer=PDF Producer:
-document_properties_version=PDF Version:
-document_properties_page_count=Page Coont:
-document_properties_page_size=Page Size:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portrait
-document_properties_page_size_orientation_landscape=landscape
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Wab View:
-document_properties_linearized_yes=Aye
-document_properties_linearized_no=Naw
-document_properties_close=Sneck
-
-print_progress_message=Reddin document fur prentin…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Stap
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Toggle Sidebaur
-toggle_sidebar_notification2.title=Toggle Sidebaur (document conteens ootline/attachments/layers)
-toggle_sidebar_label=Toggle Sidebaur
-document_outline.title=Kythe Document Ootline (double-click fur tae oot-fauld/in-fauld aw items)
-document_outline_label=Document Ootline
-attachments.title=Kythe Attachments
-attachments_label=Attachments
-layers.title=Kythe Layers (double-click fur tae reset aw layers tae the staunart state)
-layers_label=Layers
-thumbs.title=Kythe Thumbnails
-thumbs_label=Thumbnails
-current_outline_item.title=Find Current Ootline Item
-current_outline_item_label=Current Ootline Item
-findbar.title=Find in Document
-findbar_label=Find
-
-additional_layers=Mair Layers
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Page {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Page {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Thumbnail o Page {{page}}
-
-# Find panel button title and messages
-find_input.title=Find
-find_input.placeholder=Find in document…
-find_previous.title=Airt oot the last time this phrase occurred
-find_previous_label=Previous
-find_next.title=Airt oot the neist time this phrase occurs
-find_next_label=Neist
-find_highlight=Highlicht aw
-find_match_case_label=Match case
-find_entire_word_label=Hale Wirds
-find_reached_top=Raxed tap o document, went on fae the dowp end
-find_reached_bottom=Raxed end o document, went on fae the tap
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} o {{total}} match
-find_match_count[two]={{current}} o {{total}} matches
-find_match_count[few]={{current}} o {{total}} matches
-find_match_count[many]={{current}} o {{total}} matches
-find_match_count[other]={{current}} o {{total}} matches
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Mair nor {{limit}} matches
-find_match_count_limit[one]=Mair nor {{limit}} match
-find_match_count_limit[two]=Mair nor {{limit}} matches
-find_match_count_limit[few]=Mair nor {{limit}} matches
-find_match_count_limit[many]=Mair nor {{limit}} matches
-find_match_count_limit[other]=Mair nor {{limit}} matches
-find_not_found=Phrase no fund
-
-# Error panel labels
-error_more_info=Mair Information
-error_less_info=Less Information
-error_close=Sneck
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Message: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=File: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Line: {{line}}
-rendering_error=A mishanter tuik place while renderin the page.
-
-# Predefined zoom values
-page_scale_width=Page Width
-page_scale_fit=Page Fit
-page_scale_auto=Automatic Zoom
-page_scale_actual=Actual Size
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Loadin…
-loading_error=An mishanter tuik place while loadin the PDF.
-invalid_file_error=No suithfest or camshauchlet PDF file.
-missing_file_error=PDF file tint.
-unexpected_response_error=Unexpectit server repone.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=Inpit the passwird fur tae open this PDF file.
-password_invalid=Passwird no suithfest. Gonnae gie it anither shot.
-password_ok=OK
-password_cancel=Stap
-
-printing_not_supported=Tak tent: Prentin isnae richt supportit by this stravaiger.
-printing_not_ready=Tak tent: The PDF isnae richt loadit fur prentin.
-web_fonts_disabled=Wab fonts are disabled: cannae yaise embeddit PDF fonts.
diff --git a/static/js/pdf-js/web/locale/si/viewer.properties b/static/js/pdf-js/web/locale/si/viewer.properties
deleted file mode 100644
index 88e6efb..0000000
--- a/static/js/pdf-js/web/locale/si/viewer.properties
+++ /dev/null
@@ -1,204 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=කලින් පිටුව
-previous_label=කලින්
-next.title=ඊළඟ පිටුව
-next_label=à¶Šà·…à¶Ÿ
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=පිටුව
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-
-zoom_out.title=කුඩà·à¶½à¶±à¶º
-zoom_out_label=කුඩà·à¶½à¶±à¶º
-zoom_in.title=විà·à·à¶½à¶±à¶º
-zoom_in_label=විà·à·à¶½à¶±à¶º
-zoom.title=විà·à·à¶½ කරන්න
-presentation_mode.title=සමර්පණ à¶´à·Šâ€à¶»à¶šà·à¶»à¶º වෙචමà·à¶»à·”වන්න
-presentation_mode_label=සමර්පණ à¶´à·Šâ€à¶»à¶šà·à¶»à¶º
-open_file.title=ගොනුව අරින්න
-open_file_label=අරින්න
-print.title=මුද්â€à¶»à¶«à¶º
-print_label=මුද්â€à¶»à¶«à¶º
-download.title=à¶¶à·à¶œà¶±à·Šà¶±
-download_label=à¶¶à·à¶œà¶±à·Šà¶±
-bookmark.title=à·€à¶à·Šà¶¸à¶±à·Š දà·à¶šà·Šà¶¸ (à¶´à·’à¶§à¶´à¶à·Š කරන්න හ෠නව කවුළුවක අරින්න)
-bookmark_label=à·€à¶à·Šà¶¸à¶±à·Š දà·à¶šà·Šà¶¸
-
-# Secondary toolbar and context menu
-tools.title=මෙවලම්
-tools_label=මෙවලම්
-first_page.title=මුල් පිටුවට යන්න
-first_page_label=මුල් පිටුවට යන්න
-last_page.title=අවසන් පිටුවට යන්න
-last_page_label=අවසන් පිටුවට යන්න
-
-cursor_hand_tool_label=à¶…à¶à·Š මෙවලම
-
-
-
-# Document properties dialog box
-document_properties.title=ලේඛනයේ ගුණà·à¶‚ග…
-document_properties_label=ලේඛනයේ ගුණà·à¶‚ග…
-document_properties_file_name=ගොනුවේ නම:
-document_properties_file_size=ගොනුවේ à¶´à·Šâ€à¶»à¶¸à·à¶«à¶º:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb=කි.බ. {{size_kb}} (බයිට {{size_b}})
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb=මෙ.බ. {{size_mb}} (බයිට {{size_b}})
-document_properties_title=සිරà·à·ƒà·’ය:
-document_properties_author=à¶šà¶à·˜:
-document_properties_subject=මà·à¶à·˜à¶šà·à·€:
-document_properties_keywords=මූල පද:
-document_properties_creation_date=සෑදූ දිනය:
-document_properties_modification_date=සංà·à·à¶°à·’චදිනය:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=නිර්මà·à¶à·˜:
-document_properties_producer=පීඩීඑෆ් සම්පà·à¶¯à¶š:
-document_properties_version=පීඩීඑෆ් අනුවà·à¶¯à¶º:
-document_properties_page_count=පිටු ගණන:
-document_properties_page_size=පිටුවේ à¶à¶»à¶¸:
-document_properties_page_size_unit_inches=අඟල්
-document_properties_page_size_unit_millimeters=මි.මී.
-document_properties_page_size_orientation_portrait=සිරස්
-document_properties_page_size_orientation_landscape=à¶à·’රස්
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}}×{{height}}{{unit}}{{name}}{{orientation}}
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=වේගවà¶à·Š වියමන දà·à¶šà·Šà¶¸:
-document_properties_linearized_yes=ඔව්
-document_properties_linearized_no=à¶±à·à·„à·
-document_properties_close=වසන්න
-
-print_progress_message=මුද්â€à¶»à¶«à¶º සඳහ෠ලේඛනය සූදà·à¶±à¶¸à·Š වෙමින්…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=අවලංගු කරන්න
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-document_outline_label=ලේඛනයේ වටසන
-attachments.title=ඇමුණුම් පෙන්වන්න
-attachments_label=ඇමුණුම්
-thumbs.title=සිඟිà¶à·’ රූ පෙන්වන්න
-thumbs_label=සිඟිà¶à·’ රූ
-findbar.title=ලේඛනයෙහි සොයන්න
-findbar_label=සොයන්න
-
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=පිටුව {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=පිටුවේ සිඟිචරූව {{page}}
-
-# Find panel button title and messages
-find_input.title=සොයන්න
-find_previous.title=මෙම à·€à·à¶šà·’à¶šà¶© කලින් යෙදුණු ස්ථà·à¶±à¶º සොයන්න
-find_previous_label=කලින්
-find_next.title=මෙම à·€à·à¶šà·’à¶šà¶© à¶Šà·…à¶Ÿà¶§ යෙදෙන ස්ථà·à¶±à¶º සොයන්න
-find_next_label=à¶Šà·…à¶Ÿ
-find_highlight=සියල්ල උද්දීපනය
-find_entire_word_label=සමස්චවචන
-find_reached_top=ලේඛනයේ මුදුනට ළඟ෠විය, පහළ සිට ඉහළට
-find_reached_bottom=ලේඛනයේ අවසà·à¶±à¶ºà¶§ ළඟ෠විය, ඉහළ සිට à¶´à·„à·…à¶§
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit[zero]=à¶œà·à·…පීම් {{limit}} à¶šà¶§ වඩà·
-find_not_found=à·€à·à¶šà·’à¶šà¶© හමු නොවිණි
-
-# Error panel labels
-error_more_info=à¶à·€ à¶à·œà¶»à¶à·”රු
-error_less_info=අවම à¶à·œà¶»à¶à·”රු
-error_close=වසන්න
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=පීඩීඑෆ්.js v{{version}} (à¶à·à¶±à·“ම: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=පණිවිඩය: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ගොනුව: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=පේළිය: {{line}}
-
-# Predefined zoom values
-page_scale_width=පිටුවේ පළල
-page_scale_auto=ස්වයංක්â€à¶»à·“ය විà·à·à¶½à¶±à¶º
-page_scale_actual=à·ƒà·à¶¶à·‘ à¶´à·Šâ€à¶»à¶¸à·à¶«à¶º
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error=පීඩීඑෆ් පූරණය කිරීමේදී දà·à·‚යක් සිදු විය.
-invalid_file_error=වලංගු නොවන à·„à· à·„à·à¶±à·’වූ පීඩීඑෆ් ගොනුවකි.
-missing_file_error=මඟහà·à¶»à·”à¶«à·” පීඩීඑෆ් ගොනුවකි.
-unexpected_response_error=අනපේක්â€à·‚ිචසේවà·à¶¯à·à¶ºà¶š à¶´à·Šâ€à¶»à¶à·’à¶ à·à¶»à¶ºà¶šà·’.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-password_label=මෙම පීඩීඑෆ් ගොනුව විවෘචකිරීමට මුරපදය යොදන්න.
-password_invalid=à·€à·à¶»à¶¯à·’ මුරපදයකි. à¶±à·à·€à¶ à¶‹à¶à·Šà·ƒà·à·„ කරන්න.
-password_ok=හරි
-password_cancel=අවලංගු
-
-printing_not_supported=අවවà·à¶¯à¶ºà¶ºà·’: මෙම à¶…à¶à·’රික්සුව මුද්â€à¶»à¶«à¶º සඳහ෠හොඳින් සහà·à¶º නොදක්වයි.
-printing_not_ready=අවවà·à¶¯à¶ºà¶ºà·’: මුද්â€à¶»à¶«à¶ºà¶§ පීඩීඑෆ් ගොනුව සම්පූර්ණයෙන් පූරණය වී à¶±à·à¶.
-web_fonts_disabled=වියමන අකුරු අබලයි: පීඩීඑෆ් වෙචකà·à·€à·à¶¯à·Šà¶¯à·– අකුරු à¶·à·à·€à·’à¶à· à¶šà·… නොහà·à¶šà·’ය.
-
-# Editor
-
-
-# Editor Parameters
-
-# Editor Parameters
-
-# Editor aria
diff --git a/static/js/pdf-js/web/locale/sk/viewer.properties b/static/js/pdf-js/web/locale/sk/viewer.properties
deleted file mode 100644
index 8544968..0000000
--- a/static/js/pdf-js/web/locale/sk/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Predchádzajúca strana
-previous_label=Predchádzajúca
-next.title=Nasledujúca strana
-next_label=Nasledujúca
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Strana
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=z {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} z {{pagesCount}})
-
-zoom_out.title=Zmenšiť veľkosť
-zoom_out_label=Zmenšiť veľkosť
-zoom_in.title=ZväÄÅ¡iÅ¥ veľkosÅ¥
-zoom_in_label=ZväÄÅ¡iÅ¥ veľkosÅ¥
-zoom.title=Nastavenie veľkosti
-presentation_mode.title=Prepnúť na režim prezentácie
-presentation_mode_label=Režim prezentácie
-open_file.title=Otvoriť súbor
-open_file_label=Otvoriť
-print.title=TlaÄiÅ¥
-print_label=TlaÄiÅ¥
-download.title=Stiahnuť
-download_label=Stiahnuť
-bookmark.title=Aktuálne zobrazenie (kopÃrovaÅ¥ alebo otvoriÅ¥ v novom okne)
-bookmark_label=Aktuálne zobrazenie
-
-# Secondary toolbar and context menu
-tools.title=Nástroje
-tools_label=Nástroje
-first_page.title=Prejsť na prvú stranu
-first_page_label=Prejsť na prvú stranu
-last_page.title=Prejsť na poslednú stranu
-last_page_label=Prejsť na poslednú stranu
-page_rotate_cw.title=OtoÄiÅ¥ v smere hodinových ruÄiÄiek
-page_rotate_cw_label=OtoÄiÅ¥ v smere hodinových ruÄiÄiek
-page_rotate_ccw.title=OtoÄiÅ¥ proti smeru hodinových ruÄiÄiek
-page_rotate_ccw_label=OtoÄiÅ¥ proti smeru hodinových ruÄiÄiek
-
-cursor_text_select_tool.title=Povoliť výber textu
-cursor_text_select_tool_label=Výber textu
-cursor_hand_tool.title=Povoliť nástroj ruka
-cursor_hand_tool_label=Nástroj ruka
-
-scroll_page.title=Použiť rolovanie po stránkach
-scroll_page_label=Rolovanie po stránkach
-scroll_vertical.title=PoužÃvaÅ¥ zvislé posúvanie
-scroll_vertical_label=Zvislé posúvanie
-scroll_horizontal.title=PoužÃvaÅ¥ vodorovné posúvanie
-scroll_horizontal_label=Vodorovné posúvanie
-scroll_wrapped.title=Použiť postupné posúvanie
-scroll_wrapped_label=Postupné posúvanie
-
-spread_none.title=Nezdružovať stránky
-spread_none_label=Žiadne združovanie
-spread_odd.title=Združà stránky a umiestni nepárne stránky vľavo
-spread_odd_label=Združiť stránky (nepárne vľavo)
-spread_even.title=Združà stránky a umiestni párne stránky vľavo
-spread_even_label=Združiť stránky (párne vľavo)
-
-# Document properties dialog box
-document_properties.title=Vlastnosti dokumentu…
-document_properties_label=Vlastnosti dokumentu…
-document_properties_file_name=Názov súboru:
-document_properties_file_size=Veľkosť súboru:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} kB ({{size_b}} bajtov)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bajtov)
-document_properties_title=Názov:
-document_properties_author=Autor:
-document_properties_subject=Predmet:
-document_properties_keywords=KľúÄové slová:
-document_properties_creation_date=Dátum vytvorenia:
-document_properties_modification_date=Dátum úpravy:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Vytvoril:
-document_properties_producer=Tvorca PDF:
-document_properties_version=Verzia PDF:
-document_properties_page_count=PoÄet strán:
-document_properties_page_size=Veľkosť stránky:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=na výšku
-document_properties_page_size_orientation_landscape=na Å¡Ãrku
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=List
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Rýchle Web View:
-document_properties_linearized_yes=Ãno
-document_properties_linearized_no=Nie
-document_properties_close=Zavrieť
-
-print_progress_message=PrÃprava dokumentu na tlaÄ…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Zrušiť
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Prepnúť boÄný panel
-toggle_sidebar_notification2.title=Prepnúť boÄný panel (dokument obsahuje osnovu/prÃlohy/vrstvy)
-toggle_sidebar_label=Prepnúť boÄný panel
-document_outline.title=ZobraziÅ¥ osnovu dokumentu (dvojitým kliknutÃm rozbalÃte/zbalÃte vÅ¡etky položky)
-document_outline_label=Osnova dokumentu
-attachments.title=ZobraziÅ¥ prÃlohy
-attachments_label=PrÃlohy
-layers.title=ZobraziÅ¥ vrstvy (dvojitým kliknutÃm uvediete vÅ¡etky vrstvy do pôvodného stavu)
-layers_label=Vrstvy
-thumbs.title=Zobraziť miniatúry
-thumbs_label=Miniatúry
-current_outline_item.title=Nájsť aktuálnu položku v osnove
-current_outline_item_label=Aktuálna položka v osnove
-findbar.title=Hľadať v dokumente
-findbar_label=Hľadať
-
-additional_layers=Ďalšie vrstvy
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Strana {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Strana {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatúra strany {{page}}
-
-# Find panel button title and messages
-find_input.title=Hľadať
-find_input.placeholder=Hľadať v dokumente…
-find_previous.title=Vyhľadať predchádzajúci výskyt reťazca
-find_previous_label=Predchádzajúce
-find_next.title=VyhľadaÅ¥ Äalšà výskyt reÅ¥azca
-find_next_label=Ďalšie
-find_highlight=Zvýrazniť všetky
-find_match_case_label=RozliÅ¡ovaÅ¥ veľkosÅ¥ pÃsmen
-find_match_diacritics_label=Rozlišovať diakritiku
-find_entire_word_label=Celé slová
-find_reached_top=Bol dosiahnutý zaÄiatok stránky, pokraÄuje sa od konca
-find_reached_bottom=Bol dosiahnutý koniec stránky, pokraÄuje sa od zaÄiatku
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}}. z {{total}} výsledku
-find_match_count[two]={{current}}. z {{total}} výsledkov
-find_match_count[few]={{current}}. z {{total}} výsledkov
-find_match_count[many]={{current}}. z {{total}} výsledkov
-find_match_count[other]={{current}}. z {{total}} výsledkov
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Viac než {{limit}} výsledkov
-find_match_count_limit[one]=Viac než {{limit}} výsledok
-find_match_count_limit[two]=Viac než {{limit}} výsledky
-find_match_count_limit[few]=Viac než {{limit}} výsledky
-find_match_count_limit[many]=Viac než {{limit}} výsledkov
-find_match_count_limit[other]=Viac než {{limit}} výsledkov
-find_not_found=Výraz nebol nájdený
-
-# Error panel labels
-error_more_info=Ďalšie informácie
-error_less_info=Menej informáciÃ
-error_close=Zavrieť
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (zostavenie: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Správa: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=ZásobnÃk: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Súbor: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Riadok: {{line}}
-rendering_error=Pri vykresľovanà stránky sa vyskytla chyba.
-
-# Predefined zoom values
-page_scale_width=Na Å¡Ãrku strany
-page_scale_fit=Na veľkosť strany
-page_scale_auto=Automatická veľkosť
-page_scale_actual=SkutoÄná veľkosÅ¥
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}} %
-
-# Loading indicator messages
-loading=NaÄÃtava sa…
-loading_error=PoÄas naÄÃtavania dokumentu PDF sa vyskytla chyba.
-invalid_file_error=Neplatný alebo poškodený súbor PDF.
-missing_file_error=Chýbajúci súbor PDF.
-unexpected_response_error=NeoÄakávaná odpoveÄ zo servera.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotácia typu {{type}}]
-password_label=Ak chcete otvoriť tento súbor PDF, zadajte jeho heslo.
-password_invalid=Heslo nie je platné. Skúste to znova.
-password_ok=OK
-password_cancel=Zrušiť
-
-printing_not_supported=Upozornenie: tlaÄ nie je v tomto prehliadaÄi plne podporovaná.
-printing_not_ready=Upozornenie: súbor PDF nie je plne naÄÃtaný pre tlaÄ.
-web_fonts_disabled=Webové pÃsma sú vypnuté: nie je možné použiÅ¥ pÃsma vložené do súboru PDF.
-
-# Editor
-editor_none.title=Zakázať úpravu poznámok
-editor_none_label=Zakázať úpravy
-editor_free_text.title=Pridať textovú poznámku
-editor_free_text_label=Textová poznámka
-editor_ink.title=PridaÅ¥ poznámku pÃsanú rukou
-editor_ink_label=Poznámka pÃsaná rukou
-
-freetext_default_content=Zadajte nejaký text…
-
-free_text_default_content=Zadajte text…
-
-# Editor Parameters
-editor_free_text_font_color=Farba pÃsma
-editor_free_text_font_size=VeľkosÅ¥ pÃsma
-editor_ink_line_color=Farba Äiary
-editor_ink_line_thickness=Hrúbka Äiary
-
-# Editor Parameters
-editor_free_text_color=Farba
-editor_free_text_size=Veľkosť
-editor_ink_color=Farba
-editor_ink_thickness=Hrúbka
-editor_ink_opacity=Priehľadnosť
-
-# Editor aria
-editor_free_text_aria_label=Textový editor
-editor_ink_aria_label=Editor pre pÃsanie rukou
-editor_ink_canvas_aria_label=Obrázok vytvorený použÃvateľom
diff --git a/static/js/pdf-js/web/locale/sl/viewer.properties b/static/js/pdf-js/web/locale/sl/viewer.properties
deleted file mode 100644
index 3b0052c..0000000
--- a/static/js/pdf-js/web/locale/sl/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Prejšnja stran
-previous_label=Nazaj
-next.title=Naslednja stran
-next_label=Naprej
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Stran
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=od {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} od {{pagesCount}})
-
-zoom_out.title=Pomanjšaj
-zoom_out_label=Pomanjšaj
-zoom_in.title=PoveÄaj
-zoom_in_label=PoveÄaj
-zoom.title=PoveÄava
-presentation_mode.title=Preklopi v naÄin predstavitve
-presentation_mode_label=NaÄin predstavitve
-open_file.title=Odpri datoteko
-open_file_label=Odpri
-print.title=Natisni
-print_label=Natisni
-download.title=Prenesi
-download_label=Prenesi
-bookmark.title=Trenutni pogled (kopiraj ali odpri v novem oknu)
-bookmark_label=Trenutni pogled
-
-# Secondary toolbar and context menu
-tools.title=Orodja
-tools_label=Orodja
-first_page.title=Pojdi na prvo stran
-first_page_label=Pojdi na prvo stran
-last_page.title=Pojdi na zadnjo stran
-last_page_label=Pojdi na zadnjo stran
-page_rotate_cw.title=Zavrti v smeri urnega kazalca
-page_rotate_cw_label=Zavrti v smeri urnega kazalca
-page_rotate_ccw.title=Zavrti v nasprotni smeri urnega kazalca
-page_rotate_ccw_label=Zavrti v nasprotni smeri urnega kazalca
-
-cursor_text_select_tool.title=OmogoÄi orodje za izbor besedila
-cursor_text_select_tool_label=Orodje za izbor besedila
-cursor_hand_tool.title=OmogoÄi roko
-cursor_hand_tool_label=Roka
-
-scroll_page.title=Uporabi drsenje po strani
-scroll_page_label=Drsenje po strani
-scroll_vertical.title=Uporabi navpiÄno drsenje
-scroll_vertical_label=NavpiÄno drsenje
-scroll_horizontal.title=Uporabi vodoravno drsenje
-scroll_horizontal_label=Vodoravno drsenje
-scroll_wrapped.title=Uporabi ovito drsenje
-scroll_wrapped_label=Ovito drsenje
-
-spread_none.title=Ne združuj razponov strani
-spread_none_label=Brez razponov
-spread_odd.title=Združuj razpone strani z zaÄetkom pri lihih straneh
-spread_odd_label=Lihi razponi
-spread_even.title=Združuj razpone strani z zaÄetkom pri sodih straneh
-spread_even_label=Sodi razponi
-
-# Document properties dialog box
-document_properties.title=Lastnosti dokumenta …
-document_properties_label=Lastnosti dokumenta …
-document_properties_file_name=Ime datoteke:
-document_properties_file_size=Velikost datoteke:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bajtov)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bajtov)
-document_properties_title=Ime:
-document_properties_author=Avtor:
-document_properties_subject=Tema:
-document_properties_keywords=KljuÄne besede:
-document_properties_creation_date=Datum nastanka:
-document_properties_modification_date=Datum spremembe:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Ustvaril:
-document_properties_producer=Izdelovalec PDF:
-document_properties_version=RazliÄica PDF:
-document_properties_page_count=Å tevilo strani:
-document_properties_page_size=Velikost strani:
-document_properties_page_size_unit_inches=palcev
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=pokonÄno
-document_properties_page_size_orientation_landscape=ležeÄe
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Pismo
-document_properties_page_size_name_legal=Pravno
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Hitri spletni ogled:
-document_properties_linearized_yes=Da
-document_properties_linearized_no=Ne
-document_properties_close=Zapri
-
-print_progress_message=Priprava dokumenta na tiskanje …
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}} %
-print_progress_close=PrekliÄi
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Preklopi stransko vrstico
-toggle_sidebar_notification2.title=Preklopi stransko vrstico (dokument vsebuje oris/priponke/plasti)
-toggle_sidebar_label=Preklopi stransko vrstico
-document_outline.title=Prikaži oris dokumenta (dvokliknite za razširitev/strnitev vseh predmetov)
-document_outline_label=Oris dokumenta
-attachments.title=Prikaži priponke
-attachments_label=Priponke
-layers.title=Prikaži plasti (dvokliknite za ponastavitev vseh plasti na privzeto stanje)
-layers_label=Plasti
-thumbs.title=Prikaži sliÄice
-thumbs_label=SliÄice
-current_outline_item.title=Najdi trenutni predmet orisa
-current_outline_item_label=Trenutni predmet orisa
-findbar.title=Iskanje po dokumentu
-findbar_label=Najdi
-
-additional_layers=Dodatne plasti
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Stran {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Stran {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=SliÄica strani {{page}}
-
-# Find panel button title and messages
-find_input.title=Najdi
-find_input.placeholder=Najdi v dokumentu …
-find_previous.title=Najdi prejšnjo ponovitev iskanega
-find_previous_label=Najdi nazaj
-find_next.title=Najdi naslednjo ponovitev iskanega
-find_next_label=Najdi naprej
-find_highlight=OznaÄi vse
-find_match_case_label=Razlikuj velike/male Ärke
-find_match_diacritics_label=Razlikuj diakritiÄne znake
-find_entire_word_label=Cele besede
-find_reached_top=Dosežen zaÄetek dokumenta iz smeri konca
-find_reached_bottom=Doseženo konec dokumenta iz smeri zaÄetka
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]=Zadetek {{current}} od {{total}}
-find_match_count[two]=Zadetek {{current}} od {{total}}
-find_match_count[few]=Zadetek {{current}} od {{total}}
-find_match_count[many]=Zadetek {{current}} od {{total}}
-find_match_count[other]=Zadetek {{current}} od {{total}}
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=VeÄ kot {{limit}} zadetkov
-find_match_count_limit[one]=VeÄ kot {{limit}} zadetek
-find_match_count_limit[two]=VeÄ kot {{limit}} zadetka
-find_match_count_limit[few]=VeÄ kot {{limit}} zadetki
-find_match_count_limit[many]=VeÄ kot {{limit}} zadetkov
-find_match_count_limit[other]=VeÄ kot {{limit}} zadetkov
-find_not_found=Iskanega ni mogoÄe najti
-
-# Error panel labels
-error_more_info=VeÄ informacij
-error_less_info=Manj informacij
-error_close=Zapri
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js r{{version}} (graditev: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=SporoÄilo: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Sklad: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Datoteka: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Vrstica: {{line}}
-rendering_error=Med pripravljanjem strani je prišlo do napake!
-
-# Predefined zoom values
-page_scale_width=Å irina strani
-page_scale_fit=Prilagodi stran
-page_scale_auto=Samodejno
-page_scale_actual=Dejanska velikost
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}} %
-
-# Loading indicator messages
-loading=Nalaganje …
-loading_error=Med nalaganjem datoteke PDF je prišlo do napake.
-invalid_file_error=Neveljavna ali pokvarjena datoteka PDF.
-missing_file_error=Ni datoteke PDF.
-unexpected_response_error=NepriÄakovan odgovor strežnika.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Opomba vrste {{type}}]
-password_label=Vnesite geslo za odpiranje te datoteke PDF.
-password_invalid=Neveljavno geslo. Poskusite znova.
-password_ok=V redu
-password_cancel=PrekliÄi
-
-printing_not_supported=Opozorilo: ta brskalnik ne podpira vseh možnosti tiskanja.
-printing_not_ready=Opozorilo: PDF ni v celoti naložen za tiskanje.
-web_fonts_disabled=Spletne pisave so onemogoÄene: vgradnih pisav za PDF ni mogoÄe uporabiti.
-
-# Editor
-editor_none.title=OnemogoÄi urejanje pripomb
-editor_none_label=OnemogoÄi urejanje
-editor_free_text.title=Dodaj opombo FreeText
-editor_free_text_label=Opomba FreeText
-editor_ink.title=Dodaj opombo z rokopisom
-editor_ink_label=Opomba z rokopisom
-
-freetext_default_content=Vnesite besedilo …
-
-free_text_default_content=Vnesite besedilo …
-
-# Editor Parameters
-editor_free_text_font_color=Barva pisave
-editor_free_text_font_size=Velikost pisave
-editor_ink_line_color=Barva Ärte
-editor_ink_line_thickness=Debelina Ärte
-
-# Editor Parameters
-editor_free_text_color=Barva
-editor_free_text_size=Velikost
-editor_ink_color=Barva
-editor_ink_thickness=Debelina
-editor_ink_opacity=Neprosojnost
-
-# Editor aria
-editor_free_text_aria_label=Urejevalnik FreeText
-editor_ink_aria_label=Urejevalnik s Ärnilom
-editor_ink_canvas_aria_label=Uporabnikova slika
diff --git a/static/js/pdf-js/web/locale/son/viewer.properties b/static/js/pdf-js/web/locale/son/viewer.properties
deleted file mode 100644
index bd5e5ac..0000000
--- a/static/js/pdf-js/web/locale/son/viewer.properties
+++ /dev/null
@@ -1,172 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Moo bisante
-previous_label=Bisante
-next.title=Jinehere moo
-next_label=Jine
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Moo
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} ra
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} ka hun {{pagesCount}}) ra
-
-zoom_out.title=Nakasandi
-zoom_out_label=Nakasandi
-zoom_in.title=Bebbeerandi
-zoom_in_label=Bebbeerandi
-zoom.title=Bebbeerandi
-presentation_mode.title=Bere cebeyan alhaali
-presentation_mode_label=Cebeyan alhaali
-open_file.title=Tuku feeri
-open_file_label=Feeri
-print.title=Kar
-print_label=Kar
-download.title=Zumandi
-download_label=Zumandi
-bookmark.title=Sohõ gunarro (bere wala feeri zanfun taaga ra)
-bookmark_label=Sohõ gunaroo
-
-# Secondary toolbar and context menu
-tools.title=Goyjinawey
-tools_label=Goyjinawey
-first_page.title=Koy moo jinaa ga
-first_page_label=Koy moo jinaa ga
-last_page.title=Koy moo koraa ga
-last_page_label=Koy moo koraa ga
-page_rotate_cw.title=Kuubi kanbe guma here
-page_rotate_cw_label=Kuubi kanbe guma here
-page_rotate_ccw.title=Kuubi kanbe wowa here
-page_rotate_ccw_label=Kuubi kanbe wowa here
-
-
-# Document properties dialog box
-document_properties.title=Takadda mayrawey…
-document_properties_label=Takadda mayrawey…
-document_properties_file_name=Tuku maa:
-document_properties_file_size=Tuku adadu:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb=KB {{size_kb}} (cebsu-ize {{size_b}})
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb=MB {{size_mb}} (cebsu-ize {{size_b}})
-document_properties_title=Tiiramaa:
-document_properties_author=Hantumkaw:
-document_properties_subject=Dalil:
-document_properties_keywords=Kufalkalimawey:
-document_properties_creation_date=Teeyan han:
-document_properties_modification_date=Barmayan han:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Teekaw:
-document_properties_producer=PDF berandikaw:
-document_properties_version=PDF dumi:
-document_properties_page_count=Moo hinna:
-document_properties_close=Daabu
-
-print_progress_message=Goo ma takaddaa soolu k'a kar se…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Naŋ
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Kanjari ceraw zuu
-toggle_sidebar_label=Kanjari ceraw zuu
-document_outline.title=Takaddaa korfur alhaaloo cebe (naagu cee hinka ka haya-izey kul hayandi/kankamandi)
-document_outline_label=Takadda filla-boŋ
-attachments.title=Hangarey cebe
-attachments_label=Hangarey
-thumbs.title=Kabeboy biyey cebe
-thumbs_label=Kabeboy biyey
-findbar.title=Ceeci takaddaa ra
-findbar_label=Ceeci
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}} moo
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Kabeboy bii {{page}} moo še
-
-# Find panel button title and messages
-find_input.title=Ceeci
-find_input.placeholder=Ceeci takaddaa ra…
-find_previous.title=Kalimaɲaŋoo bangayri bisantaa ceeci
-find_previous_label=Bisante
-find_next.title=Kalimaɲaŋoo hiino bangayroo ceeci
-find_next_label=Jine
-find_highlight=Ikul šilbay
-find_match_case_label=Harfu-beeriyan hawgay
-find_reached_top=A too moŋoo boŋoo, koy jine ka šinitin nda cewoo
-find_reached_bottom=A too moɲoo cewoo, koy jine šintioo ga
-find_not_found=Kalimaɲaa mana duwandi
-
-# Error panel labels
-error_more_info=Alhabar tontoni
-error_less_info=Alhabar tontoni
-error_close=Daabu
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Alhabar: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Dekeri: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Tuku: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Žeeri: {{line}}
-rendering_error=Firka bangay kaŋ moɲoo goo ma willandi.
-
-# Predefined zoom values
-page_scale_width=Mooo hayyan
-page_scale_fit=Moo sawayan
-page_scale_auto=Boŋše azzaati barmayyan
-page_scale_actual=Adadu cimi
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=Firka bangay kaŋ PDF goo ma zumandi.
-invalid_file_error=PDF tuku laala wala laybante.
-missing_file_error=PDF tuku kumante.
-unexpected_response_error=Manti feršikaw tuuruyan maatante.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt={{type}} maasa-caw]
-password_label=Å ennikufal dam ka PDF tukoo woo feeri.
-password_invalid=Å ennikufal laalo. Ceeci koyne taare.
-password_ok=Ayyo
-password_cancel=Naŋ
-
-printing_not_supported=Yaamar: Karyan ši tee ka timme nda ceecikaa woo.
-printing_not_ready=Yaamar: PDF ši zunbu ka timme karyan še.
-web_fonts_disabled=Interneti šigirawey kay: ši hin ka goy nda PDF šigira hurantey.
diff --git a/static/js/pdf-js/web/locale/sq/viewer.properties b/static/js/pdf-js/web/locale/sq/viewer.properties
deleted file mode 100644
index 3ff4e4d..0000000
--- a/static/js/pdf-js/web/locale/sq/viewer.properties
+++ /dev/null
@@ -1,244 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Faqja e Mëparshme
-previous_label=E mëparshmja
-next.title=Faqja Pasuese
-next_label=Pasuesja
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Faqe
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=nga {{pagesCount}} gjithsej
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} nga {{pagesCount}})
-
-zoom_out.title=Zvogëlojeni
-zoom_out_label=Zvogëlojeni
-zoom_in.title=Zmadhojeni
-zoom_in_label=Zmadhojini
-zoom.title=Zoom
-presentation_mode.title=Kalo te Mënyra Paraqitje
-presentation_mode_label=Mënyra Paraqitje
-open_file.title=Hapni Kartelë
-open_file_label=Hape
-print.title=Shtypje
-print_label=Shtype
-download.title=Shkarkim
-download_label=Shkarkoje
-bookmark.title=Pamja e tanishme (kopjojeni ose hapeni në dritare të re)
-bookmark_label=Pamja e Tanishme
-
-# Secondary toolbar and context menu
-tools.title=Mjete
-tools_label=Mjete
-first_page.title=Kaloni te Faqja e Parë
-first_page_label=Kaloni te Faqja e Parë
-last_page.title=Kaloni te Faqja e Fundit
-last_page_label=Kaloni te Faqja e Fundit
-page_rotate_cw.title=Rrotullojeni Në Kahun Orar
-page_rotate_cw_label=Rrotulloje Në Kahun Orar
-page_rotate_ccw.title=Rrotullojeni Në Kahun Kundërorar
-page_rotate_ccw_label=Rrotulloje Në Kahun Kundërorar
-
-cursor_text_select_tool.title=Aktivizo Mjet Përzgjedhjeje Teksti
-cursor_text_select_tool_label=Mjet Përzgjedhjeje Teksti
-cursor_hand_tool.title=Aktivizo Mjetin Dorë
-cursor_hand_tool_label=Mjeti Dorë
-
-scroll_page.title=Përdor Rrëshqitje Në Faqe
-scroll_page_label=Rrëshqitje Në Faqe
-scroll_vertical.title=Përdor Rrëshqitje Vertikale
-scroll_vertical_label=Rrëshqitje Vertikale
-scroll_horizontal.title=Përdor Rrëshqitje Horizontale
-scroll_horizontal_label=Rrëshqitje Horizontale
-scroll_wrapped.title=Përdor Rrëshqitje Me Mbështjellje
-scroll_wrapped_label=Rrëshqitje Me Mbështjellje
-
-
-# Document properties dialog box
-document_properties.title=Veti Dokumenti…
-document_properties_label=Veti Dokumenti…
-document_properties_file_name=Emër kartele:
-document_properties_file_size=Madhësi kartele:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bajte)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bajte)
-document_properties_title=Titull:
-document_properties_author=Autor:
-document_properties_subject=Subjekt:
-document_properties_keywords=Fjalëkyçe:
-document_properties_creation_date=Datë Krijimi:
-document_properties_modification_date=Datë Ndryshimi:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Krijues:
-document_properties_producer=Prodhues PDF-je:
-document_properties_version=Version PDF-je:
-document_properties_page_count=Numër Faqesh:
-document_properties_page_size=Madhësi Faqeje:
-document_properties_page_size_unit_inches=inç
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portret
-document_properties_page_size_orientation_landscape=së gjeri
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Parje e Shpjetë në Web:
-document_properties_linearized_yes=Po
-document_properties_linearized_no=Jo
-document_properties_close=Mbylleni
-
-print_progress_message=Po përgatitet dokumenti për shtypje…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Anuloje
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Shfaqni/Fshihni Anështyllën
-toggle_sidebar_notification2.title=Hap/Mbyll Anështylë (dokumenti përmban përvijim/nashkëngjitje/shtresa)
-toggle_sidebar_label=Shfaq/Fshih Anështyllën
-document_outline.title=Shfaqni Përvijim Dokumenti (dyklikoni që të shfaqen/fshihen krejt elementët)
-document_outline_label=Përvijim Dokumenti
-attachments.title=Shfaqni Bashkëngjitje
-attachments_label=Bashkëngjitje
-layers.title=Shfaq Shtresa (dyklikoni që të rikthehen krejt shtresat në gjendjen e tyre parazgjedhje)
-layers_label=Shtresa
-thumbs.title=Shfaqni Miniatura
-thumbs_label=Miniatura
-current_outline_item.title=Gjej Objektin e Tanishëm të Përvijuar
-current_outline_item_label=Objekt i Tanishëm i Përvijuar
-findbar.title=Gjeni në Dokument
-findbar_label=Gjej
-
-additional_layers=Shtresa Shtesë
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Faqja {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Faqja {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniaturë e Faqes {{page}}
-
-# Find panel button title and messages
-find_input.title=Gjej
-find_input.placeholder=Gjeni në dokument…
-find_previous.title=Gjeni hasjen e mëparshme të togfjalëshit
-find_previous_label=E mëparshmja
-find_next.title=Gjeni hasjen pasuese të togfjalëshit
-find_next_label=Pasuesja
-find_highlight=Theksoji të tëra
-find_match_case_label=Siç është shkruar
-find_entire_word_label=Krejt fjalët
-find_reached_top=U mbërrit në krye të dokumentit, vazhduar prej fundit
-find_reached_bottom=U mbërrit në fund të dokumentit, vazhduar prej kreut
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} nga {{total}} përputhje gjithsej
-find_match_count[two]={{current}} nga {{total}} përputhje gjithsej
-find_match_count[few]={{current}} nga {{total}} përputhje gjithsej
-find_match_count[many]={{current}} nga {{total}} përputhje gjithsej
-find_match_count[other]={{current}} nga {{total}} përputhje gjithsej
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Më shumë se {{limit}} përputhje
-find_match_count_limit[one]=Më shumë se {{limit}} përputhje
-find_match_count_limit[two]=Më shumë se {{limit}} përputhje
-find_match_count_limit[few]=Më shumë se {{limit}} përputhje
-find_match_count_limit[many]=Më shumë se {{limit}} përputhje
-find_match_count_limit[other]=Më shumë se {{limit}} përputhje
-find_not_found=Togfjalësh që s’gjendet
-
-# Error panel labels
-error_more_info=Më Tepër të Dhëna
-error_less_info=Më Pak të Dhëna
-error_close=Mbylleni
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mesazh: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Kartelë: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Rresht: {{line}}
-rendering_error=Ndodhi një gabim gjatë riprodhimit të faqes.
-
-# Predefined zoom values
-page_scale_width=Gjerësi Faqeje
-page_scale_fit=Sa Nxë Faqja
-page_scale_auto=Zoom i Vetvetishëm
-page_scale_actual=Madhësia Faktike
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Po ngarkohet…
-loading_error=Ndodhi një gabim gjatë ngarkimit të PDF-së.
-invalid_file_error=Kartelë PDF e pavlefshme ose e dëmtuar.
-missing_file_error=Kartelë PDF që mungon.
-unexpected_response_error=Përgjigje shërbyesi e papritur.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Nënvizim {{type}}]
-password_label=Jepni fjalëkalimin që të hapet kjo kartelë PDF.
-password_invalid=Fjalëkalim i pavlefshëm. Ju lutemi, riprovoni.
-password_ok=OK
-password_cancel=Anuloje
-
-printing_not_supported=Kujdes: Shtypja s’mbulohet plotësisht nga ky shfletues.
-printing_not_ready=Kujdes: PDF-ja s’është ngarkuar plotësisht që ta shtypni.
-web_fonts_disabled=Shkronjat Web janë të çaktivizuara: s’arrihet të përdoren shkronja të trupëzuara në PDF.
diff --git a/static/js/pdf-js/web/locale/sr/viewer.properties b/static/js/pdf-js/web/locale/sr/viewer.properties
deleted file mode 100644
index 3f38aeb..0000000
--- a/static/js/pdf-js/web/locale/sr/viewer.properties
+++ /dev/null
@@ -1,255 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Претходна Ñтраница
-previous_label=Претходна
-next.title=Следећа Ñтраница
-next_label=Следећа
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Страница
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=од {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} од {{pagesCount}})
-
-zoom_out.title=Умањи
-zoom_out_label=Умањи
-zoom_in.title=Увеличај
-zoom_in_label=Увеличај
-zoom.title=Увеличавање
-presentation_mode.title=Промени на приказ у режиму презентације
-presentation_mode_label=Режим презентације
-open_file.title=Отвори датотеку
-open_file_label=Отвори
-print.title=Штампај
-print_label=Штампај
-download.title=Преузми
-download_label=Преузми
-bookmark.title=Тренутни приказ (копирај или отвори у новом прозору)
-bookmark_label=Тренутни приказ
-
-# Secondary toolbar and context menu
-tools.title=Ðлатке
-tools_label=Ðлатке
-first_page.title=Иди на прву Ñтраницу
-first_page_label=Иди на прву Ñтраницу
-last_page.title=Иди на поÑледњу Ñтраницу
-last_page_label=Иди на поÑледњу Ñтраницу
-page_rotate_cw.title=Ротирај у Ñмеру казаљке на Ñату
-page_rotate_cw_label=Ротирај у Ñмеру казаљке на Ñату
-page_rotate_ccw.title=Ротирај у Ñмеру Ñупротном од казаљке на Ñату
-page_rotate_ccw_label=Ротирај у Ñмеру Ñупротном од казаљке на Ñату
-
-cursor_text_select_tool.title=Омогући алат за Ñелектовање текÑта
-cursor_text_select_tool_label=Ðлат за Ñелектовање текÑта
-cursor_hand_tool.title=Омогући алат за померање
-cursor_hand_tool_label=Ðлат за померање
-
-scroll_vertical.title=КориÑти вертикално Ñкроловање
-scroll_vertical_label=Вертикално Ñкроловање
-scroll_horizontal.title=КориÑти хоризонтално Ñкроловање
-scroll_horizontal_label=Хоризонтално Ñкроловање
-scroll_wrapped.title=КориÑти Ñкроловање по омоту
-scroll_wrapped_label=Скроловање по омоту
-
-spread_none.title=Ðемој Ñпајати ширења Ñтраница
-spread_none_label=Без раÑпроÑтирања
-spread_odd.title=Споји ширења Ñтраница које почињу непарним бројем
-spread_odd_label=Ðепарна раÑпроÑтирања
-spread_even.title=Споји ширења Ñтраница које почињу парним бројем
-spread_even_label=Парна раÑпроÑтирања
-
-# Document properties dialog box
-document_properties.title=Параметри документа…
-document_properties_label=Параметри документа…
-document_properties_file_name=Име датотеке:
-document_properties_file_size=Величина датотеке:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} B)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} B)
-document_properties_title=ÐаÑлов:
-document_properties_author=Ðутор:
-document_properties_subject=Тема:
-document_properties_keywords=Кључне речи:
-document_properties_creation_date=Датум креирања:
-document_properties_modification_date=Датум модификације:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Стваралац:
-document_properties_producer=PDF произвођач:
-document_properties_version=PDF верзија:
-document_properties_page_count=Број Ñтраница:
-document_properties_page_size=Величина Ñтранице:
-document_properties_page_size_unit_inches=ин
-document_properties_page_size_unit_millimeters=мм
-document_properties_page_size_orientation_portrait=уÑправно
-document_properties_page_size_orientation_landscape=водоравно
-document_properties_page_size_name_a3=Ð3
-document_properties_page_size_name_a4=Ð4
-document_properties_page_size_name_letter=Слово
-document_properties_page_size_name_legal=Права
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Брз веб приказ:
-document_properties_linearized_yes=Да
-document_properties_linearized_no=Ðе
-document_properties_close=Затвори
-
-print_progress_message=Припремам документ за штампање…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Откажи
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Прикажи додатну палету
-toggle_sidebar_notification2.title=Прикажи/Ñакриј бочну траку (документ Ñадржи контуру/прилоге/Ñлојеве)
-toggle_sidebar_label=Прикажи додатну палету
-document_outline.title=Прикажи Ñтруктуру документа (двоÑтруким кликом проширујете/Ñкупљате Ñве Ñтавке)
-document_outline_label=Контура документа
-attachments.title=Прикажи прилоге
-attachments_label=Прилози
-layers.title=Прикажи Ñлојеве (дупли клик за враћање Ñвих Ñлојева у подразумевано Ñтање)
-layers_label=Слојеви
-thumbs.title=Прикажи Ñличице
-thumbs_label=Сличице
-current_outline_item.title=Пронађите тренутни елемент Ñтруктуре
-current_outline_item_label=Тренутна контура
-findbar.title=Пронађи у документу
-findbar_label=Пронађи
-
-additional_layers=Додатни Ñлојеви
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Страница {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Страница {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Сличица од Ñтранице {{page}}
-
-# Find panel button title and messages
-find_input.title=Пронађи
-find_input.placeholder=Пронађи у документу…
-find_previous.title=Пронађи претходно појављивање фразе
-find_previous_label=Претходна
-find_next.title=Пронађи Ñледеће појављивање фразе
-find_next_label=Следећа
-find_highlight=ИÑтакнути Ñве
-find_match_case_label=Подударања
-find_entire_word_label=Целе речи
-find_reached_top=ДоÑтигнут врх документа, наÑтавио Ñа дна
-find_reached_bottom=ДоÑтигнуто дно документа, наÑтавио Ñа врха
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} од {{total}} одговара
-find_match_count[two]={{current}} од {{total}} одговара
-find_match_count[few]={{current}} од {{total}} одговара
-find_match_count[many]={{current}} од {{total}} одговара
-find_match_count[other]={{current}} од {{total}} одговара
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Више од {{limit}} одговара
-find_match_count_limit[one]=Више од {{limit}} одговара
-find_match_count_limit[two]=Више од {{limit}} одговара
-find_match_count_limit[few]=Више од {{limit}} одговара
-find_match_count_limit[many]=Више од {{limit}} одговара
-find_match_count_limit[other]=Више од {{limit}} одговара
-find_not_found=Фраза није пронађена
-
-# Error panel labels
-error_more_info=Више информација
-error_less_info=Мање информација
-error_close=Затвори
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Порука: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Стек: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Датотека: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Линија: {{line}}
-rendering_error=Дошло је до грешке приликом рендеровања ове Ñтранице.
-
-# Predefined zoom values
-page_scale_width=Ширина Ñтранице
-page_scale_fit=Прилагоди Ñтраницу
-page_scale_auto=ÐутоматÑко увеличавање
-page_scale_actual=Стварна величина
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Учитавање…
-loading_error=Дошло је до грешке приликом учитавања PDF-а.
-invalid_file_error=PDF датотека је неважећа или је оштећена.
-missing_file_error=ÐедоÑтаје PDF датотека.
-unexpected_response_error=Ðеочекиван одговор од Ñервера.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} коментар]
-password_label=УнеÑите лозинку да биÑте отворили овај PDF докуменат.
-password_invalid=ÐеиÑправна лозинка. Покушајте поново.
-password_ok=У реду
-password_cancel=Откажи
-
-printing_not_supported=Упозорење: Штампање није у потпуноÑти подржано у овом прегледачу.
-printing_not_ready=Упозорење: PDF није у потпуноÑти учитан за штампу.
-web_fonts_disabled=Веб фонтови Ñу онемогућени: не могу кориÑтити уграђене PDF фонтове.
-
-# Editor
-
-
-
-# Editor Parameters
-editor_free_text_font_size=Величина фонта
diff --git a/static/js/pdf-js/web/locale/sv-SE/viewer.properties b/static/js/pdf-js/web/locale/sv-SE/viewer.properties
deleted file mode 100644
index 94c0774..0000000
--- a/static/js/pdf-js/web/locale/sv-SE/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Föregående sida
-previous_label=Föregående
-next.title=Nästa sida
-next_label=Nästa
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Sida
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=av {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} av {{pagesCount}})
-
-zoom_out.title=Zooma ut
-zoom_out_label=Zooma ut
-zoom_in.title=Zooma in
-zoom_in_label=Zooma in
-zoom.title=Zoom
-presentation_mode.title=Byt till presentationsläge
-presentation_mode_label=Presentationsläge
-open_file.title=Öppna fil
-open_file_label=Öppna
-print.title=Skriv ut
-print_label=Skriv ut
-download.title=Hämta
-download_label=Hämta
-bookmark.title=Aktuell vy (kopiera eller öppna i nytt fönster)
-bookmark_label=Aktuell vy
-
-# Secondary toolbar and context menu
-tools.title=Verktyg
-tools_label=Verktyg
-first_page.title=Gå till första sidan
-first_page_label=Gå till första sidan
-last_page.title=GÃ¥ till sista sidan
-last_page_label=GÃ¥ till sista sidan
-page_rotate_cw.title=Rotera medurs
-page_rotate_cw_label=Rotera medurs
-page_rotate_ccw.title=Rotera moturs
-page_rotate_ccw_label=Rotera moturs
-
-cursor_text_select_tool.title=Aktivera textmarkeringsverktyg
-cursor_text_select_tool_label=Textmarkeringsverktyg
-cursor_hand_tool.title=Aktivera handverktyg
-cursor_hand_tool_label=Handverktyg
-
-scroll_page.title=Använd sidrullning
-scroll_page_label=Sidrullning
-scroll_vertical.title=Använd vertikal rullning
-scroll_vertical_label=Vertikal rullning
-scroll_horizontal.title=Använd horisontell rullning
-scroll_horizontal_label=Horisontell rullning
-scroll_wrapped.title=Använd överlappande rullning
-scroll_wrapped_label=Överlappande rullning
-
-spread_none.title=Visa enkelsidor
-spread_none_label=Enkelsidor
-spread_odd.title=Visa uppslag med olika sidnummer till vänster
-spread_odd_label=Uppslag med framsida
-spread_even.title=Visa uppslag med lika sidnummer till vänster
-spread_even_label=Uppslag utan framsida
-
-# Document properties dialog box
-document_properties.title=Dokumentegenskaper…
-document_properties_label=Dokumentegenskaper…
-document_properties_file_name=Filnamn:
-document_properties_file_size=Filstorlek:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} kB ({{size_b}} byte)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} byte)
-document_properties_title=Titel:
-document_properties_author=Författare:
-document_properties_subject=Ämne:
-document_properties_keywords=Nyckelord:
-document_properties_creation_date=Skapades:
-document_properties_modification_date=Ändrades:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Skapare:
-document_properties_producer=PDF-producent:
-document_properties_version=PDF-version:
-document_properties_page_count=Sidantal:
-document_properties_page_size=Pappersstorlek:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=porträtt
-document_properties_page_size_orientation_landscape=landskap
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Snabb webbvisning:
-document_properties_linearized_yes=Ja
-document_properties_linearized_no=Nej
-document_properties_close=Stäng
-
-print_progress_message=Förbereder sidor för utskrift…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Avbryt
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Visa/dölj sidofält
-toggle_sidebar_notification2.title=Växla sidofält (dokumentet innehåller dokumentstruktur/bilagor/lager)
-toggle_sidebar_label=Visa/dölj sidofält
-document_outline.title=Visa dokumentdisposition (dubbelklicka för att expandera/komprimera alla objekt)
-document_outline_label=Dokumentöversikt
-attachments.title=Visa Bilagor
-attachments_label=Bilagor
-layers.title=Visa lager (dubbelklicka för att återställa alla lager till standardläge)
-layers_label=Lager
-thumbs.title=Visa miniatyrer
-thumbs_label=Miniatyrer
-current_outline_item.title=Hitta aktuellt dispositionsobjekt
-current_outline_item_label=Aktuellt dispositionsobjekt
-findbar.title=Sök i dokument
-findbar_label=Sök
-
-additional_layers=Ytterligare lager
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Sida {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Sida {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatyr av sida {{page}}
-
-# Find panel button title and messages
-find_input.title=Sök
-find_input.placeholder=Sök i dokument…
-find_previous.title=Hitta föregående förekomst av frasen
-find_previous_label=Föregående
-find_next.title=Hitta nästa förekomst av frasen
-find_next_label=Nästa
-find_highlight=Markera alla
-find_match_case_label=Matcha versal/gemen
-find_match_diacritics_label=Matcha diakritiska tecken
-find_entire_word_label=Hela ord
-find_reached_top=Nådde början av dokumentet, började från slutet
-find_reached_bottom=Nådde slutet på dokumentet, började från början
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} av {{total}} träff
-find_match_count[two]={{current}} av {{total}} träffar
-find_match_count[few]={{current}} av {{total}} träffar
-find_match_count[many]={{current}} av {{total}} träffar
-find_match_count[other]={{current}} av {{total}} träffar
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Mer än {{limit}} träffar
-find_match_count_limit[one]=Mer än {{limit}} träff
-find_match_count_limit[two]=Mer än {{limit}} träffar
-find_match_count_limit[few]=Mer än {{limit}} träffar
-find_match_count_limit[many]=Mer än {{limit}} träffar
-find_match_count_limit[other]=Mer än {{limit}} träffar
-find_not_found=Frasen hittades inte
-
-# Error panel labels
-error_more_info=Mer information
-error_less_info=Mindre information
-error_close=Stäng
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Meddelande: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fil: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Rad: {{line}}
-rendering_error=Ett fel uppstod vid visning av sidan.
-
-# Predefined zoom values
-page_scale_width=Sidbredd
-page_scale_fit=Anpassa sida
-page_scale_auto=Automatisk zoom
-page_scale_actual=Verklig storlek
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Laddar…
-loading_error=Ett fel uppstod vid laddning av PDF-filen.
-invalid_file_error=Ogiltig eller korrupt PDF-fil.
-missing_file_error=Saknad PDF-fil.
-unexpected_response_error=Oväntat svar från servern.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}} {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}}-annotering]
-password_label=Skriv in lösenordet för att öppna PDF-filen.
-password_invalid=Ogiltigt lösenord. Försök igen.
-password_ok=OK
-password_cancel=Avbryt
-
-printing_not_supported=Varning: Utskrifter stöds inte helt av den här webbläsaren.
-printing_not_ready=Varning: PDF:en är inte klar för utskrift.
-web_fonts_disabled=Webbtypsnitt är inaktiverade: kan inte använda inbäddade PDF-typsnitt.
-
-# Editor
-editor_none.title=Inaktivera redigering av anteckningar
-editor_none_label=Inaktivera redigering
-editor_free_text.title=Lägg till FreeText-kommentar
-editor_free_text_label=FreeText-kommentar
-editor_ink.title=Lägg till bläckanteckning
-editor_ink_label=Bläckanteckning
-
-freetext_default_content=Skriv in lite text…
-
-free_text_default_content=Ange text…
-
-# Editor Parameters
-editor_free_text_font_color=Textfärg
-editor_free_text_font_size=Textstorlek
-editor_ink_line_color=Linjefärg
-editor_ink_line_thickness=Linjetjocklek
-
-# Editor Parameters
-editor_free_text_color=Färg
-editor_free_text_size=Storlek
-editor_ink_color=Färg
-editor_ink_thickness=Tjocklek
-editor_ink_opacity=Opacitet
-
-# Editor aria
-editor_free_text_aria_label=FreeText-redigerare
-editor_ink_aria_label=Ink-redigerare
-editor_ink_canvas_aria_label=Användarskapad bild
diff --git a/static/js/pdf-js/web/locale/szl/viewer.properties b/static/js/pdf-js/web/locale/szl/viewer.properties
deleted file mode 100644
index 6706afc..0000000
--- a/static/js/pdf-js/web/locale/szl/viewer.properties
+++ /dev/null
@@ -1,244 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Piyrwyjszo strÅna
-previous_label=Piyrwyjszo
-next.title=Nastympno strÅna
-next_label=Dalij
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=StrÅna
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=ze {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} ze {{pagesCount}})
-
-zoom_out.title=Zmyńsz
-zoom_out_label=Zmyńsz
-zoom_in.title=Zwiynksz
-zoom_in_label=Zwiynksz
-zoom.title=Srogość
-presentation_mode.title=PrzeÅ‚Åncz na tryb prezyntacyje
-presentation_mode_label=Tryb prezyntacyje
-open_file.title=Ôdewrzij zbiÅr
-open_file_label=Ôdewrzij
-print.title=Durkuj
-print_label=Durkuj
-download.title=Pobier
-download_label=Pobier
-bookmark.title=Aktualny widok (kopiuj abo ôdewrzij w nowym ôknie)
-bookmark_label=Aktualny widok
-
-# Secondary toolbar and context menu
-tools.title=Noczynia
-tools_label=Noczynia
-first_page.title=Idź ku piyrszyj strÅnie
-first_page_label=Idź ku piyrszyj strÅnie
-last_page.title=Idź ku ôstatnij strÅnie
-last_page_label=Idź ku ôstatnij strÅnie
-page_rotate_cw.title=Zwyrtnij w prawo
-page_rotate_cw_label=Zwyrtnij w prawo
-page_rotate_ccw.title=Zwyrtnij w lewo
-page_rotate_ccw_label=Zwyrtnij w lewo
-
-cursor_text_select_tool.title=ZaÅ‚Åncz noczynie ôbiyranio tekstu
-cursor_text_select_tool_label=Noczynie ôbiyranio tekstu
-cursor_hand_tool.title=ZaÅ‚Åncz noczynie rÅnczka
-cursor_hand_tool_label=Noczynie rÅnczka
-
-scroll_vertical.title=Używej piÅnowego przewijanio
-scroll_vertical_label=PiÅnowe przewijanie
-scroll_horizontal.title=Używej poziÅmego przewijanio
-scroll_horizontal_label=PoziÅme przewijanie
-scroll_wrapped.title=Używej szichtowego przewijanio
-scroll_wrapped_label=Szichtowe przewijanie
-
-spread_none.title=Niy dowej strÅn w widoku po dwie
-spread_none_label=Po jednyj strÅnie
-spread_odd.title=Pokoż strÅny po dwie; niyporziste po lewyj
-spread_odd_label=Niyporziste po lewyj
-spread_even.title=Pokoż strÅny po dwie; porziste po lewyj
-spread_even_label=Porziste po lewyj
-
-# Document properties dialog box
-document_properties.title=Włosności dokumyntu…
-document_properties_label=Włosności dokumyntu…
-document_properties_file_name=Miano zbioru:
-document_properties_file_size=Srogość zbioru:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}}Â KB ({{size_b}}Â B)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}}Â MB ({{size_b}}Â B)
-document_properties_title=Tytuł:
-document_properties_author=AutÅr:
-document_properties_subject=Tymat:
-document_properties_keywords=Kluczowe słowa:
-document_properties_creation_date=Data zrychtowanio:
-document_properties_modification_date=Data zmiany:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Zrychtowane ôd:
-document_properties_producer=PDF ôd:
-document_properties_version=Wersyjo PDF:
-document_properties_page_count=Wielość strÅn:
-document_properties_page_size=Srogość strÅny:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=piÅnowo
-document_properties_page_size_orientation_landscape=poziÅmo
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Gibki necowy podglÅnd:
-document_properties_linearized_yes=Ja
-document_properties_linearized_no=Niy
-document_properties_close=Zawrzij
-
-print_progress_message=Rychtowanie dokumyntu do durku…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Pociep
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=PrzeÅ‚Åncz posek na rancie
-toggle_sidebar_notification2.title=PrzeÅ‚Åncz posek na rancie (dokumynt mo struktura/przidowki/warstwy)
-toggle_sidebar_label=PrzeÅ‚Åncz posek na rancie
-document_outline.title=Pokoż struktura dokumyntu (tuplowane klikniyncie rozszyrzo/swijo wszyskie elymynta)
-document_outline_label=Struktura dokumyntu
-attachments.title=Pokoż przidowki
-attachments_label=Przidowki
-layers.title=Pokoż warstwy (tuplowane klikniyncie resetuje wszyskie warstwy do bazowego stanu)
-layers_label=Warstwy
-thumbs.title=Pokoż miniatury
-thumbs_label=Miniatury
-findbar.title=Znojdź w dokumyncie
-findbar_label=Znojdź
-
-additional_layers=Nadbytnie warstwy
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=StrÅna {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura strÅny {{page}}
-
-# Find panel button title and messages
-find_input.title=Znojdź
-find_input.placeholder=Znojdź w dokumyncie…
-find_previous.title=Znojdź piyrwyjsze pokozanie sie tyj frazy
-find_previous_label=Piyrwyjszo
-find_next.title=Znojdź nastympne pokozanie sie tyj frazy
-find_next_label=Dalij
-find_highlight=Zaznacz wszysko
-find_match_case_label=Poznowej srogość liter
-find_entire_word_label=Cołke słowa
-find_reached_top=DoszÅ‚o do samego wiyrchu strÅny, dalij ôd spodku
-find_reached_bottom=DoszÅ‚o do samego spodku strÅny, dalij ôd wiyrchu
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} ze {{total}}, co pasujÅm
-find_match_count[two]={{current}} ze {{total}}, co pasujÅm
-find_match_count[few]={{current}} ze {{total}}, co pasujÅm
-find_match_count[many]={{current}} ze {{total}}, co pasujÅm
-find_match_count[other]={{current}} ze {{total}}, co pasujÅm
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(total) ]}
-find_match_count_limit[zero]=Wiyncyj jak {{limit}}, co pasujÅm
-find_match_count_limit[one]=Wiyncyj jak {{limit}}, co pasuje
-find_match_count_limit[two]=Wiyncyj jak {{limit}}, co pasujÅm
-find_match_count_limit[few]=Wiyncyj jak {{limit}}, co pasujÅm
-find_match_count_limit[many]=Wiyncyj jak {{limit}}, co pasujÅm
-find_match_count_limit[other]=Wiyncyj jak {{limit}}, co pasujÅm
-find_not_found=Fraza niy znaleziÅno
-
-# Error panel labels
-error_more_info=Wiyncyj informacyji
-error_less_info=Mynij informacyji
-error_close=Zawrzij
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=WiadÅmość: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Sztapel: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ZbiÅr: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linijo: {{line}}
-rendering_error=Przi renderowaniu strÅny pokozoÅ‚ sie feler.
-
-# Predefined zoom values
-page_scale_width=Szyrzka strÅny
-page_scale_fit=Napasowanie strÅny
-page_scale_auto=AutÅmatyczno srogość
-page_scale_actual=Aktualno srogość
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error=Przi ladowaniu PDFa pokozoł sie feler.
-invalid_file_error=ZÅ‚y abo felerny zbiÅr PDF.
-missing_file_error=Chybio zbioru PDF.
-unexpected_response_error=Niyôczekowano ôdpowiydź serwera.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotacyjo typu {{type}}]
-password_label=Wkludź hasÅ‚o, coby ôdewrzić tyn zbiÅr PDF.
-password_invalid=HasÅ‚o je zÅ‚e. SprÅbuj jeszcze roz.
-password_ok=OK
-password_cancel=Pociep
-
-printing_not_supported=PozÅr: Ta przeglÅndarka niy coÅ‚kiym ôbsuguje durk.
-printing_not_ready=PozÅr: Tyn PDF niy ma za tela zaladowany do durku.
-web_fonts_disabled=Necowe fÅnty sÅm zastawiÅne: niy idzie użyć wkludzÅnych fÅntÅw PDF.
diff --git a/static/js/pdf-js/web/locale/ta/viewer.properties b/static/js/pdf-js/web/locale/ta/viewer.properties
deleted file mode 100644
index d07a337..0000000
--- a/static/js/pdf-js/web/locale/ta/viewer.properties
+++ /dev/null
@@ -1,193 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=à®®à¯à®¨à¯à®¤à¯ˆà®¯ பகà¯à®•à®®à¯
-previous_label=à®®à¯à®¨à¯à®¤à¯ˆà®¯à®¤à¯
-next.title=அடà¯à®¤à¯à®¤ பகà¯à®•à®®à¯
-next_label=அடà¯à®¤à¯à®¤à¯
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=பகà¯à®•à®®à¯
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} இலà¯
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages={{pagesCount}}) இல௠({{pageNumber}}
-
-zoom_out.title=சிறிதாகà¯à®•à¯
-zoom_out_label=சிறிதாகà¯à®•à¯
-zoom_in.title=பெரிதாகà¯à®•à¯
-zoom_in_label=பெரிதாகà¯à®•à¯
-zoom.title=பெரிதாகà¯à®•à¯
-presentation_mode.title=விளகà¯à®•காடà¯à®šà®¿ பயனà¯à®®à¯à®±à¯ˆà®•à¯à®•௠மாறà¯
-presentation_mode_label=விளகà¯à®•காடà¯à®šà®¿ பயனà¯à®®à¯à®±à¯ˆ
-open_file.title=கோபà¯à®ªà®¿à®©à¯ˆ திற
-open_file_label=திற
-print.title=அசà¯à®šà®¿à®Ÿà¯
-print_label=அசà¯à®šà®¿à®Ÿà¯
-download.title=பதிவிறகà¯à®•à¯
-download_label=பதிவிறகà¯à®•à¯
-bookmark.title=தறà¯à®ªà¯‹à®¤à¯ˆà®¯ காடà¯à®šà®¿ (பà¯à®¤à®¿à®¯ சாளரதà¯à®¤à®¿à®±à¯à®•௠நகலெட௠அலà¯à®²à®¤à¯ பà¯à®¤à®¿à®¯ சாளரதà¯à®¤à®¿à®²à¯ திற)
-bookmark_label=தறà¯à®ªà¯‹à®¤à¯ˆà®¯ காடà¯à®šà®¿
-
-# Secondary toolbar and context menu
-tools.title=கரà¯à®µà®¿à®•ளà¯
-tools_label=கரà¯à®µà®¿à®•ளà¯
-first_page.title=à®®à¯à®¤à®²à¯ பகà¯à®•தà¯à®¤à®¿à®±à¯à®•௠செலà¯à®²à®µà¯à®®à¯
-first_page_label=à®®à¯à®¤à®²à¯ பகà¯à®•தà¯à®¤à®¿à®±à¯à®•௠செலà¯à®²à®µà¯à®®à¯
-last_page.title=கடைசி பகà¯à®•தà¯à®¤à®¿à®±à¯à®•௠செலà¯à®²à®µà¯à®®à¯
-last_page_label=கடைசி பகà¯à®•தà¯à®¤à®¿à®±à¯à®•௠செலà¯à®²à®µà¯à®®à¯
-page_rotate_cw.title=வலஞà¯à®šà¯à®´à®¿à®¯à®¾à®• சà¯à®´à®±à¯à®±à¯
-page_rotate_cw_label=வலஞà¯à®šà¯à®´à®¿à®¯à®¾à®• சà¯à®´à®±à¯à®±à¯
-page_rotate_ccw.title=இடஞà¯à®šà¯à®´à®¿à®¯à®¾à®• சà¯à®´à®±à¯à®±à¯
-page_rotate_ccw_label=இடஞà¯à®šà¯à®´à®¿à®¯à®¾à®• சà¯à®´à®±à¯à®±à¯
-
-cursor_text_select_tool.title=உரைத௠தெரிவ௠கரà¯à®µà®¿à®¯à¯ˆà®šà¯ செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯
-cursor_text_select_tool_label=உரைத௠தெரிவ௠கரà¯à®µà®¿
-cursor_hand_tool.title=கைக௠கரà¯à®µà®¿à®•à¯à®šà¯ செயறà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯
-cursor_hand_tool_label=கைகà¯à®•à¯à®°à¯à®µà®¿
-
-# Document properties dialog box
-document_properties.title=ஆவண பணà¯à®ªà¯à®•ளà¯...
-document_properties_label=ஆவண பணà¯à®ªà¯à®•ளà¯...
-document_properties_file_name=கோபà¯à®ªà¯ பெயரà¯:
-document_properties_file_size=கோபà¯à®ªà®¿à®©à¯ அளவà¯:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} கிபை ({{size_b}} பைடà¯à®Ÿà¯à®•ளà¯)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} மெபை ({{size_b}} பைடà¯à®Ÿà¯à®•ளà¯)
-document_properties_title=தலைபà¯à®ªà¯:
-document_properties_author=எழà¯à®¤à®¿à®¯à®µà®°à¯
-document_properties_subject=பொரà¯à®³à¯:
-document_properties_keywords=à®®à¯à®•à¯à®•ிய வாரà¯à®¤à¯à®¤à¯ˆà®•ளà¯:
-document_properties_creation_date=படைதà¯à®¤ தேதி :
-document_properties_modification_date=திரà¯à®¤à¯à®¤à®¿à®¯ தேதி:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=உரà¯à®µà®¾à®•à¯à®•à¯à®ªà®µà®°à¯:
-document_properties_producer=பிடிஎஃப௠தயாரிபà¯à®ªà®¾à®³à®°à¯:
-document_properties_version=PDF பதிபà¯à®ªà¯:
-document_properties_page_count=பகà¯à®• எணà¯à®£à®¿à®•à¯à®•ை:
-document_properties_page_size=பகà¯à®• அளவà¯:
-document_properties_page_size_unit_inches=இதிலà¯
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=நிலைபதிபà¯à®ªà¯
-document_properties_page_size_orientation_landscape=நிலைபரபà¯à®ªà¯
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=கடிதமà¯
-document_properties_page_size_name_legal=சடà¯à®Ÿà®ªà¯‚à®°à¯à®µ
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-document_properties_close=மூடà¯à®•
-
-print_progress_message=அசà¯à®šà®¿à®Ÿà¯à®µà®¤à®±à¯à®•ான ஆவணம௠தயாராகிறதà¯...
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=ரதà¯à®¤à¯
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=பகà¯à®•ப௠படà¯à®Ÿà®¿à®¯à¯ˆ நிலைமாறà¯à®±à¯
-toggle_sidebar_label=பகà¯à®•ப௠படà¯à®Ÿà®¿à®¯à¯ˆ நிலைமாறà¯à®±à¯
-document_outline.title=ஆவண அடகà¯à®•தà¯à®¤à¯ˆà®•௠காடà¯à®Ÿà¯ (இரà¯à®®à¯à®±à¯ˆà®šà¯ சொடà¯à®•à¯à®•ி அனைதà¯à®¤à¯ உறà¯à®ªà¯à®ªà®¿à®Ÿà®¿à®•ளையà¯à®®à¯ விரி/சேரà¯)
-document_outline_label=ஆவண வெளிவரை
-attachments.title=இணைபà¯à®ªà¯à®•ளை காணà¯à®ªà®¿
-attachments_label=இணைபà¯à®ªà¯à®•ளà¯
-thumbs.title=சிறà¯à®ªà®Ÿà®™à¯à®•ளைக௠காணà¯à®ªà®¿
-thumbs_label=சிறà¯à®ªà®Ÿà®™à¯à®•ளà¯
-findbar.title=ஆவணதà¯à®¤à®¿à®²à¯ கணà¯à®Ÿà®±à®¿
-findbar_label=தேடà¯
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=பகà¯à®•ம௠{{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=பகà¯à®•தà¯à®¤à®¿à®©à¯ சிறà¯à®ªà®Ÿà®®à¯ {{page}}
-
-# Find panel button title and messages
-find_input.title=கணà¯à®Ÿà¯à®ªà®¿à®Ÿà®¿
-find_input.placeholder=ஆவணதà¯à®¤à®¿à®²à¯ கணà¯à®Ÿà®±à®¿â€¦
-find_previous.title=இநà¯à®¤ சொறà¯à®±à¯Šà®Ÿà®°à®¿à®©à¯ à®®à¯à®¨à¯à®¤à¯ˆà®¯ நிகழà¯à®µà¯ˆ தேடà¯
-find_previous_label=à®®à¯à®¨à¯à®¤à¯ˆà®¯à®¤à¯
-find_next.title=இநà¯à®¤ சொறà¯à®±à¯Šà®Ÿà®°à®¿à®©à¯ அடà¯à®¤à¯à®¤ நிகழà¯à®µà¯ˆ தேடà¯
-find_next_label=அடà¯à®¤à¯à®¤à¯
-find_highlight=அனைதà¯à®¤à¯ˆà®¯à¯à®®à¯ தனிபà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯
-find_match_case_label=பேரெழà¯à®¤à¯à®¤à®¾à®•à¯à®•தà¯à®¤à¯ˆ உணரà¯
-find_reached_top=ஆவணதà¯à®¤à®¿à®©à¯ மேல௠பகà¯à®¤à®¿à®¯à¯ˆ அடைநà¯à®¤à®¤à¯, அடிபà¯à®ªà®•à¯à®•தà¯à®¤à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯ தொடரà¯à®¨à¯à®¤à®¤à¯
-find_reached_bottom=ஆவணதà¯à®¤à®¿à®©à¯ à®®à¯à®Ÿà®¿à®µà¯ˆ அடைநà¯à®¤à®¤à¯, மேலிரà¯à®¨à¯à®¤à¯ தொடரà¯à®¨à¯à®¤à®¤à¯
-find_not_found=சொறà¯à®±à¯Šà®Ÿà®°à¯ காணவிலà¯à®²à¯ˆ
-
-# Error panel labels
-error_more_info=கூடà¯à®¤à®²à¯ தகவலà¯
-error_less_info=கà¯à®±à¯ˆà®¨à¯à®¤ தகவலà¯
-error_close=மூடà¯à®•
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=செயà¯à®¤à®¿: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=ஸà¯à®Ÿà¯‡à®•à¯: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=கோபà¯à®ªà¯: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=வரி: {{line}}
-rendering_error=இநà¯à®¤à®ªà¯ பகà¯à®•தà¯à®¤à¯ˆ காடà¯à®šà®¿à®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®®à¯ போத௠ஒர௠பிழை à®à®±à¯à®ªà®Ÿà¯à®Ÿà®¤à¯.
-
-# Predefined zoom values
-page_scale_width=பகà¯à®• அகலமà¯
-page_scale_fit=பகà¯à®•ப௠பொரà¯à®¤à¯à®¤à®®à¯
-page_scale_auto=தானியகà¯à®• பெரிதாகà¯à®•லà¯
-page_scale_actual=உணà¯à®®à¯ˆà®¯à®¾à®© அளவà¯
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=PDF à® à®à®±à¯à®±à¯à®®à¯ போத௠ஒர௠பிழை à®à®±à¯à®ªà®Ÿà¯à®Ÿà®¤à¯.
-invalid_file_error=செலà¯à®²à¯à®ªà®Ÿà®¿à®¯à®¾à®•ாத அலà¯à®²à®¤à¯ சிதைநà¯à®¤ PDF கோபà¯à®ªà¯.
-missing_file_error=PDF கோபà¯à®ªà¯ காணவிலà¯à®²à¯ˆ.
-unexpected_response_error=சேவகன௠பதில௠எதிரà¯à®ªà®¾à®°à®¤à®¤à¯.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} விளகà¯à®•à®®à¯]
-password_label=இநà¯à®¤ PDF கோபà¯à®ªà¯ˆ திறகà¯à®• கடவà¯à®šà¯à®šà¯†à®¾à®²à¯à®²à¯ˆ உளà¯à®³à®¿à®Ÿà®µà¯à®®à¯.
-password_invalid=செலà¯à®²à¯à®ªà®Ÿà®¿à®¯à®¾à®•ாத கடவà¯à®šà¯à®šà¯Šà®²à¯, தயை செயà¯à®¤à¯ மீணà¯à®Ÿà¯à®®à¯ à®®à¯à®¯à®±à¯à®šà®¿ செயà¯à®•.
-password_ok=சரி
-password_cancel=ரதà¯à®¤à¯
-
-printing_not_supported=எசà¯à®šà®°à®¿à®•à¯à®•ை: இநà¯à®¤ உலாவி அசà¯à®šà®¿à®Ÿà¯à®¤à®²à¯ˆ à®®à¯à®´à¯à®®à¯ˆà®¯à®¾à®• ஆதரிகà¯à®•விலà¯à®²à¯ˆ.
-printing_not_ready=எசà¯à®šà®°à®¿à®•à¯à®•ை: PDF அசà¯à®šà®¿à®Ÿ à®®à¯à®´à¯à®µà®¤à¯à®®à®¾à®• à®à®±à¯à®±à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.
-web_fonts_disabled=வலை எழà¯à®¤à¯à®¤à¯à®°à¯à®•à¯à®•ள௠மà¯à®Ÿà®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®©: உடà¯à®ªà¯Šà®¤à®¿à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿ PDF எழà¯à®¤à¯à®¤à¯à®°à¯à®•à¯à®•ளைப௠பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤ à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ.
diff --git a/static/js/pdf-js/web/locale/te/viewer.properties b/static/js/pdf-js/web/locale/te/viewer.properties
deleted file mode 100644
index 6cd691a..0000000
--- a/static/js/pdf-js/web/locale/te/viewer.properties
+++ /dev/null
@@ -1,217 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=à°®à±à°¨à±à°ªà°Ÿà°¿ పేజీ
-previous_label=à°•à±à°°à°¿à°¤à°‚
-next.title=తరà±à°µà°¾à°¤ పేజీ
-next_label=తరà±à°µà°¾à°¤
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=పేజీ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=మొతà±à°¤à°‚ {{pagesCount}} లో
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=(మొతà±à°¤à°‚ {{pagesCount}} లో {{pageNumber}}వది)
-
-zoom_out.title=జూమౠతగà±à°—à°¿à°‚à°šà±
-zoom_out_label=జూమౠతగà±à°—à°¿à°‚à°šà±
-zoom_in.title=జూమౠచేయి
-zoom_in_label=జూమౠచేయి
-zoom.title=జూమà±
-presentation_mode.title=à°ªà±à°°à°¦à°°à±à°¶à°¨à°¾ రీతికి మారà±
-presentation_mode_label=à°ªà±à°°à°¦à°°à±à°¶à°¨à°¾ రీతి
-open_file.title=ఫైలౠతెరà±à°µà±
-open_file_label=తెరà±à°µà±
-print.title=à°®à±à°¦à±à°°à°¿à°‚à°šà±
-print_label=à°®à±à°¦à±à°°à°¿à°‚à°šà±
-download.title=దింపà±à°•ోళà±à°³à±
-download_label=దింపà±à°•ోళà±à°³à±
-bookmark.title=à°ªà±à°°à°¸à±à°¤à±à°¤ దరà±à°¶à°¨à°‚ (కాపీ చేయి లేదా కొతà±à°¤ విండోలో తెరà±à°µà±)
-bookmark_label=à°ªà±à°°à°¸à±à°¤à±à°¤ దరà±à°¶à°¨à°‚
-
-# Secondary toolbar and context menu
-tools.title=పనిమà±à°Ÿà±à°²à±
-tools_label=పనిమà±à°Ÿà±à°²à±
-first_page.title=మొదటి పేజీకి వెళà±à°³à±
-first_page_label=మొదటి పేజీకి వెళà±à°³à±
-last_page.title=చివరి పేజీకి వెళà±à°³à±
-last_page_label=చివరి పేజీకి వెళà±à°³à±
-page_rotate_cw.title=సవà±à°¯à°¦à°¿à°¶à°²à±‹ తిపà±à°ªà±
-page_rotate_cw_label=సవà±à°¯à°¦à°¿à°¶à°²à±‹ తిపà±à°ªà±
-page_rotate_ccw.title=అపసవà±à°¯à°¦à°¿à°¶à°²à±‹ తిపà±à°ªà±
-page_rotate_ccw_label=అపసవà±à°¯à°¦à°¿à°¶à°²à±‹ తిపà±à°ªà±
-
-cursor_text_select_tool.title=టెకà±à°¸à±à°Ÿà± ఎంపిక సాధనానà±à°¨à°¿ à°ªà±à°°à°¾à°°à°‚à°à°¿à°‚à°šà°‚à°¡à°¿
-cursor_text_select_tool_label=టెకà±à°¸à±à°Ÿà± ఎంపిక సాధనం
-cursor_hand_tool.title=చేతి సాధనం చేతనించà±
-cursor_hand_tool_label=చేతి సాధనం
-
-scroll_vertical_label=నిలà±à°µà± à°¸à±à°•à±à°°à±‹à°²à°¿à°‚à°—à±
-
-
-# Document properties dialog box
-document_properties.title=పతà±à°°à°®à± లకà±à°·à°£à°¾à°²à±...
-document_properties_label=పతà±à°°à°®à± లకà±à°·à°£à°¾à°²à±...
-document_properties_file_name=దసà±à°¤à±à°°à°‚ పేరà±:
-document_properties_file_size=దసà±à°¤à±à°°à°‚ పరిమాణం:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=శీరà±à°·à°¿à°•:
-document_properties_author=మూలకరà±à°¤:
-document_properties_subject=విషయం:
-document_properties_keywords=à°•à±€ పదాలà±:
-document_properties_creation_date=సృషà±à°Ÿà°¿à°‚à°šà°¿à°¨ తేదీ:
-document_properties_modification_date=సవరించిన తేదీ:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=సృషà±à°Ÿà°¿à°•à°°à±à°¤:
-document_properties_producer=PDF ఉతà±à°ªà°¾à°¦à°•à°¿:
-document_properties_version=PDF వరà±à°·à°¨à±:
-document_properties_page_count=పేజీల సంఖà±à°¯:
-document_properties_page_size=కాగితం పరిమాణం:
-document_properties_page_size_unit_inches=లో
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=నిలà±à°µà±à°šà°¿à°¤à±à°°à°‚
-document_properties_page_size_orientation_landscape=à°…à°¡à±à°¡à°šà°¿à°¤à±à°°à°‚
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=లేఖ
-document_properties_page_size_name_legal=à°šà°Ÿà±à°Ÿà°ªà°°à°®à±†à±–à°¨
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized_yes=à°…à°µà±à°¨à±
-document_properties_linearized_no=కాదà±
-document_properties_close=మూసివేయి
-
-print_progress_message=à°®à±à°¦à±à°°à°¿à°‚చడానికి పతà±à°°à°®à± సిదà±à°§à°®à°µà±à°¤à±à°¨à±à°¨à°¦à°¿â€¦
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=à°°à°¦à±à°¦à±à°šà±‡à°¯à°¿
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=పకà±à°•పటà±à°Ÿà±€ మారà±à°šà±
-toggle_sidebar_label=పకà±à°•పటà±à°Ÿà±€ మారà±à°šà±
-document_outline.title=పతà±à°°à°®à± రూపమౠచూపించౠ(à°¡à°¬à±à°²à± à°•à±à°²à°¿à°•ౠచేసి à°…à°¨à±à°¨à°¿ అంశాలనౠవిసà±à°¤à°°à°¿à°‚à°šà±/కూలà±à°šà±)
-document_outline_label=పతà±à°°à°®à± à°…à°µà±à°Ÿà±â€Œà°²à±ˆà°¨à±
-attachments.title=à°…à°¨à±à°¬à°‚ధాలౠచూపà±
-attachments_label=à°…à°¨à±à°¬à°‚ధాలà±
-layers_label=పొరలà±
-thumbs.title=థంబà±â€Œà°¨à±ˆà°²à±à°¸à± చూపà±
-thumbs_label=థంబà±â€Œà°¨à±ˆà°²à±à°¸à±
-findbar.title=పతà±à°°à°®à±à°²à±‹ à°•à°¨à±à°—ొనà±à°®à±
-findbar_label=à°•à°¨à±à°—ొనà±
-
-additional_layers=అదనపౠపొరలà±
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=పేజీ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} పేజీ నఖచితà±à°°à°‚
-
-# Find panel button title and messages
-find_input.title=à°•à°¨à±à°—ొనà±
-find_input.placeholder=పతà±à°°à°®à±à°²à±‹ à°•à°¨à±à°—ొనà±â€¦
-find_previous.title=పదం యొకà±à°• à°®à±à°‚దౠసంà°à°µà°¾à°¨à±à°¨à°¿ à°•à°¨à±à°—ొనà±
-find_previous_label=à°®à±à°¨à±à°ªà°Ÿà°¿
-find_next.title=పదం యొకà±à°• తరà±à°µà°¾à°¤à°¿ సంà°à°µà°¾à°¨à±à°¨à°¿ à°•à°¨à±à°—ొనà±
-find_next_label=తరà±à°µà°¾à°¤
-find_highlight=à°…à°¨à±à°¨à°¿à°Ÿà°¿à°¨à°¿ ఉదà±à°¦à±€à°ªà°¨à°‚ చేయà±à°®à±
-find_match_case_label=à°…à°•à±à°·à°°à°®à±à°² తేడాతో పోలà±à°šà±
-find_entire_word_label=పూరà±à°¤à°¿ పదాలà±
-find_reached_top=పేజీ పైకి చేరà±à°•à±à°¨à±à°¨à°¦à°¿, à°•à±à°°à°¿à°‚ది à°¨à±à°‚à°¡à°¿ కొనసాగించండి
-find_reached_bottom=పేజీ చివరకౠచేరà±à°•à±à°¨à±à°¨à°¦à°¿, పైనà±à°‚à°¡à°¿ కొనసాగించండి
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_not_found=పదబంధం కనబడలేదà±
-
-# Error panel labels
-error_more_info=మరింత సమాచారం
-error_less_info=తకà±à°•à±à°µ సమాచారం
-error_close=మూసివేయి
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=సందేశం: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=à°¸à±à°Ÿà°¾à°•à±: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ఫైలà±: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=వరà±à°¸: {{line}}
-rendering_error=పేజీనౠరెండరౠచేయà±à°Ÿà°²à±‹ à°’à°• దోషం à°Žà°¦à±à°°à±ˆà°‚ది.
-
-# Predefined zoom values
-page_scale_width=పేజీ వెడలà±à°ªà±
-page_scale_fit=పేజీ అమరà±à°ªà±
-page_scale_auto=à°¸à±à°µà°¯à°‚చాలక జూమà±
-page_scale_actual=యథారà±à°§ పరిమాణం
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=PDF లోడవà±à°šà±à°¨à±à°¨à°ªà±à°ªà±à°¡à± à°’à°• దోషం à°Žà°¦à±à°°à±ˆà°‚ది.
-invalid_file_error=చెలà±à°²à°¨à°¿ లేదా పాడైన PDF ఫైలà±.
-missing_file_error=దొరకని PDF ఫైలà±.
-unexpected_response_error=à°…à°¨à±à°•ోని సరà±à°µà°°à± à°¸à±à°ªà°‚దన.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} టీకా]
-password_label=à°ˆ PDF ఫైలౠతెరà±à°šà±à°Ÿà°•ౠసంకేతపదం à°ªà±à°°à°µà±‡à°¶à°ªà±†à°Ÿà±à°Ÿà±à°®à±.
-password_invalid=సంకేతపదం చెలà±à°²à°¦à±. దయచేసి మళà±à°³à±€ à°ªà±à°°à°¯à°¤à±à°¨à°¿à°‚à°šà°‚à°¡à°¿.
-password_ok=సరే
-password_cancel=à°°à°¦à±à°¦à±à°šà±‡à°¯à°¿
-
-printing_not_supported=హెచà±à°šà°°à°¿à°•: à°ˆ విహారిణి చేత à°®à±à°¦à±à°°à°£ పూరà±à°¤à°¿à°—à°¾ తోడà±à°ªà°¾à°Ÿà± లేదà±.
-printing_not_ready=హెచà±à°šà°°à°¿à°•: à°®à±à°¦à±à°°à°£ కొరకౠఈ PDF పూరà±à°¤à°¿à°—à°¾ లోడవలేదà±.
-web_fonts_disabled=వెబౠఫాంటà±à°²à± అచేతనించబడెనà±: ఎంబెడెడౠPDF ఫాంటà±à°²à± ఉపయోగించలేక పోయింది.
diff --git a/static/js/pdf-js/web/locale/tg/viewer.properties b/static/js/pdf-js/web/locale/tg/viewer.properties
deleted file mode 100644
index cac2047..0000000
--- a/static/js/pdf-js/web/locale/tg/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Саҳифаи қаблӣ
-previous_label=Қаблӣ
-next.title=Саҳифаи навбатӣ
-next_label=Ðавбатӣ
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Саҳифа
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=аз {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} аз {{pagesCount}})
-
-zoom_out.title=Хурд кардан
-zoom_out_label=Хурд кардан
-zoom_in.title=Калон кардан
-zoom_in_label=Калон кардан
-zoom.title=Танзими андоза
-presentation_mode.title=Гузариш ба реҷаи тақдим
-presentation_mode_label=Реҷаи тақдим
-open_file.title=Кушодани файл
-open_file_label=Кушодан
-print.title=Чоп кардан
-print_label=Чоп кардан
-download.title=Боргирӣ кардан
-download_label=Боргирӣ кардан
-bookmark.title=Ðамуди ҷорӣ (нуÑха бардоштан Ñ‘ кушодан дар равзанаи нав)
-bookmark_label=Ðамуди ҷорӣ
-
-# Secondary toolbar and context menu
-tools.title=Ðбзорҳо
-tools_label=Ðбзорҳо
-first_page.title=Ба Ñаҳифаи аввал гузаред
-first_page_label=Ба Ñаҳифаи аввал гузаред
-last_page.title=Ба Ñаҳифаи охирин гузаред
-last_page_label=Ба Ñаҳифаи охирин гузаред
-page_rotate_cw.title=Ба Ñамти ҳаракати ақрабаки Ñоат давр задан
-page_rotate_cw_label=Ба Ñамти ҳаракати ақрабаки Ñоат давр задан
-page_rotate_ccw.title=Ба муқобили Ñамти ҳаракати ақрабаки Ñоат давр задан
-page_rotate_ccw_label=Ба муқобили Ñамти ҳаракати ақрабаки Ñоат давр задан
-
-cursor_text_select_tool.title=Фаъол кардани «Ðбзори интихоби матн»
-cursor_text_select_tool_label=Ðбзори интихоби матн
-cursor_hand_tool.title=Фаъол кардани «Ðбзори даÑт»
-cursor_hand_tool_label=Ðбзори даÑÑ‚
-
-scroll_page.title=ИÑтифодаи варақзанӣ
-scroll_page_label=Варақзанӣ
-scroll_vertical.title=ИÑтифодаи варақзании амудӣ
-scroll_vertical_label=Варақзании амудӣ
-scroll_horizontal.title=ИÑтифодаи варақзании уфуқӣ
-scroll_horizontal_label=Варақзании уфуқӣ
-scroll_wrapped.title=ИÑтифодаи варақзании миқёÑбандӣ
-scroll_wrapped_label=Варақзании миқёÑбандӣ
-
-spread_none.title=ГуÑтариши Ñаҳифаҳо иÑтифода бурда нашавад
-spread_none_label=Бе гуÑтурдани Ñаҳифаҳо
-spread_odd.title=ГуÑтариши Ñаҳифаҳо аз Ñаҳифаҳо бо рақамҳои тоқ оғоз карда мешавад
-spread_odd_label=Саҳифаҳои тоқ аз тарафи чап
-spread_even.title=ГуÑтариши Ñаҳифаҳо аз Ñаҳифаҳо бо рақамҳои ҷуфт оғоз карда мешавад
-spread_even_label=Саҳифаҳои ҷуфт аз тарафи чап
-
-# Document properties dialog box
-document_properties.title=ХуÑуÑиÑтҳои ҳуҷҷат…
-document_properties_label=ХуÑуÑиÑтҳои ҳуҷҷат…
-document_properties_file_name=Ðоми файл:
-document_properties_file_size=Ðндозаи файл:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} КБ ({{size_b}} байт)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} МБ ({{size_b}} байт)
-document_properties_title=Сарлавҳа:
-document_properties_author=Муаллиф:
-document_properties_subject=Мавзуъ:
-document_properties_keywords=Калимаҳои калидӣ:
-document_properties_creation_date=Санаи Ñҷод:
-document_properties_modification_date=Санаи тағйирот:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Ðҷодкунанда:
-document_properties_producer=ТаҳиÑкунандаи PDF:
-document_properties_version=ВерÑиÑи PDF:
-document_properties_page_count=Шумораи Ñаҳифаҳо:
-document_properties_page_size=Ðндозаи Ñаҳифа:
-document_properties_page_size_unit_inches=дюйм
-document_properties_page_size_unit_millimeters=мм
-document_properties_page_size_orientation_portrait=амудӣ
-document_properties_page_size_orientation_landscape=уфуқӣ
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Мактуб
-document_properties_page_size_name_legal=Ҳуқуқӣ
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Ðамоиши тез дар Интернет:
-document_properties_linearized_yes=Ҳа
-document_properties_linearized_no=Ðе
-document_properties_close=Пӯшидан
-
-print_progress_message=ОмодаÑозии ҳуҷҷат барои чоп…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Бекор кардан
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Фаъол кардани навори ҷонибӣ
-toggle_sidebar_notification2.title=Фаъол кардани навори ҷонибӣ (ҳуҷҷат дорои Ñохтор/замимаҳо/қабатҳо мебошад)
-toggle_sidebar_label=Фаъол кардани навори ҷонибӣ
-document_outline.title=Ðамоиш додани Ñохтори ҳуҷҷат (барои баркушодан/пеҷондани ҳамаи унÑурҳо дубора зер кунед)
-document_outline_label=Сохтори ҳуҷҷат
-attachments.title=Ðамоиш додани замимаҳо
-attachments_label=Замимаҳо
-layers.title=Ðамоиш додани қабатҳо (барои барқарор кардани ҳамаи қабатҳо ба вазъиÑти пешфарз дубора зер кунед)
-layers_label=Қабатҳо
-thumbs.title=Ðамоиш додани таÑвирчаҳо
-thumbs_label=ТаÑвирчаҳо
-current_outline_item.title=Ðфтани унÑури Ñохтори ҷорӣ
-current_outline_item_label=УнÑури Ñохтори ҷорӣ
-findbar.title=Ðфтан дар ҳуҷҷат
-findbar_label=Ðфтан
-
-additional_layers=Қабатҳои иловагӣ
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Саҳифаи {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Саҳифаи {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=ТаÑвирчаи Ñаҳифаи {{page}}
-
-# Find panel button title and messages
-find_input.title=Ðфтан
-find_input.placeholder=Ðфтан дар ҳуҷҷат…
-find_previous.title=ҶуÑтуҷӯи мавриди қаблии ибораи пешниҳодшуда
-find_previous_label=Қаблӣ
-find_next.title=ҶуÑтуҷӯи мавриди навбатии ибораи пешниҳодшуда
-find_next_label=Ðавбатӣ
-find_highlight=Ҳамаашро бо ранг ҷудо кардан
-find_match_case_label=Бо дарназардошти ҳарфҳои хурду калон
-find_match_diacritics_label=Бо дарназардошти аломатҳои диакритикӣ
-find_entire_word_label=Калимаҳои пурра
-find_reached_top=Ба болои ҳуҷҷат раÑид, аз поён идома ёфт
-find_reached_bottom=Ба поёни ҳуҷҷат раÑид, аз боло идома ёфт
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} аз {{total}} мувофиқат
-find_match_count[two]={{current}} аз {{total}} мувофиқат
-find_match_count[few]={{current}} аз {{total}} мувофиқат
-find_match_count[many]={{current}} аз {{total}} мувофиқат
-find_match_count[other]={{current}} аз {{total}} мувофиқат
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Зиёда аз {{limit}} мувофиқат
-find_match_count_limit[one]=Зиёда аз {{limit}} мувофиқат
-find_match_count_limit[two]=Зиёда аз {{limit}} мувофиқат
-find_match_count_limit[few]=Зиёда аз {{limit}} мувофиқат
-find_match_count_limit[many]=Зиёда аз {{limit}} мувофиқат
-find_match_count_limit[other]=Зиёда аз {{limit}} мувофиқат
-find_not_found=Ибора ёфт нашуд
-
-# Error panel labels
-error_more_info=Маълумоти бештар
-error_less_info=Маълумоти камтар
-error_close=Пӯшидан
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (Ñохт: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Паём: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=ДаÑта: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Файл: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Сатр: {{line}}
-rendering_error=Ҳангоми шаклÑозии Ñаҳифа хато ба миён омад.
-
-# Predefined zoom values
-page_scale_width=Ðз рӯи паҳнои Ñаҳифа
-page_scale_fit=Ðз рӯи андозаи Ñаҳифа
-page_scale_auto=Ðндозаи худкор
-page_scale_actual=Ðндозаи воқеӣ
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Бор шуда иÑтодааÑт…
-loading_error=Ҳангоми боркунии PDF хато ба миён омад.
-invalid_file_error=Файли PDF нодуруÑÑ‚ Ñ‘ вайроншуда мебошад.
-missing_file_error=Файли PDF ғоиб аÑÑ‚.
-unexpected_response_error=Ҷавоби ногаҳон аз Ñервер.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[ҲошиÑнавиÑÓ£ - {{type}}]
-password_label=Барои кушодани ин файли PDF ниҳонвожаро ворид кунед.
-password_invalid=Ðиҳонвожаи нодуруÑÑ‚. Лутфан, аз нав кӯшиш кунед.
-password_ok=ХУБ
-password_cancel=Бекор кардан
-
-printing_not_supported=Диққат: Чопкунӣ аз тарафи ин браузер ба таври пурра даÑтгирӣ намешавад.
-printing_not_ready=Диққат: Файли PDF барои чопкунӣ пурра бор карда нашуд.
-web_fonts_disabled=Шрифтҳои интернетӣ ғайрифаъоланд: иÑтифодаи шрифтҳои дарунÑохти PDF ғайриимкон аÑÑ‚.
-
-# Editor
-editor_none.title=Ғайрифаъол кардани таҳрири ҳошиÑнавиÑÓ£
-editor_none_label=Ғайрифаъл кардани таҳрири матн
-editor_free_text.title=Илова кардани ҳошиÑнавиÑии «FreeText»
-editor_free_text_label=ҲошиÑнавиÑии «FreeText»
-editor_ink.title=Илова кардани ҳошиÑнавиÑии даÑтнавиÑ
-editor_ink_label=ҲошиÑнавиÑии даÑтнавиÑ
-
-freetext_default_content=Ягон матнро ворид намоед…
-
-free_text_default_content=Матнро ворид намоед…
-
-# Editor Parameters
-editor_free_text_font_color=Ранги ҳуруф
-editor_free_text_font_size=Ðндозаи ҳуруф
-editor_ink_line_color=Ранги Ñатр
-editor_ink_line_thickness=ҒафÑии Ñатр
-
-# Editor Parameters
-editor_free_text_color=Ранг
-editor_free_text_size=Ðндоза
-editor_ink_color=Ранг
-editor_ink_thickness=ҒафÑÓ£
-editor_ink_opacity=Шаффофӣ
-
-# Editor aria
-editor_free_text_aria_label=Муҳаррири «FreeText»
-editor_ink_aria_label=Муҳаррири ранг
-editor_ink_canvas_aria_label=ТаÑвири Ñҷодкардаи корбар
diff --git a/static/js/pdf-js/web/locale/th/viewer.properties b/static/js/pdf-js/web/locale/th/viewer.properties
deleted file mode 100644
index 7612bed..0000000
--- a/static/js/pdf-js/web/locale/th/viewer.properties
+++ /dev/null
@@ -1,266 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=หน้าà¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²
-previous_label=à¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²
-next.title=หน้าถัดไป
-next_label=ถัดไป
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=หน้า
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=จาภ{{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} จาภ{{pagesCount}})
-
-zoom_out.title=ซูมà¸à¸à¸
-zoom_out_label=ซูมà¸à¸à¸
-zoom_in.title=ซูมเข้า
-zoom_in_label=ซูมเข้า
-zoom.title=ซูม
-presentation_mode.title=สลับเป็นโหมดà¸à¸²à¸£à¸™à¸³à¹€à¸ªà¸™à¸
-presentation_mode_label=โหมดà¸à¸²à¸£à¸™à¸³à¹€à¸ªà¸™à¸
-open_file.title=เปิดไฟล์
-open_file_label=เปิด
-print.title=พิมพ์
-print_label=พิมพ์
-download.title=ดาวน์โหลด
-download_label=ดาวน์โหลด
-bookmark.title=มุมมà¸à¸‡à¸›à¸±à¸ˆà¸ˆà¸¸à¸šà¸±à¸™ (คัดลà¸à¸à¸«à¸£à¸·à¸à¹€à¸›à¸´à¸”ในหน้าต่างใหม่)
-bookmark_label=มุมมà¸à¸‡à¸›à¸±à¸ˆà¸ˆà¸¸à¸šà¸±à¸™
-
-# Secondary toolbar and context menu
-tools.title=เครื่à¸à¸‡à¸¡à¸·à¸
-tools_label=เครื่à¸à¸‡à¸¡à¸·à¸
-first_page.title=ไปยังหน้าà¹à¸£à¸
-first_page_label=ไปยังหน้าà¹à¸£à¸
-last_page.title=ไปยังหน้าสุดท้าย
-last_page_label=ไปยังหน้าสุดท้าย
-page_rotate_cw.title=หมุนตามเข็มนาฬิà¸à¸²
-page_rotate_cw_label=หมุนตามเข็มนาฬิà¸à¸²
-page_rotate_ccw.title=หมุนทวนเข็มนาฬิà¸à¸²
-page_rotate_ccw_label=หมุนทวนเข็มนาฬิà¸à¸²
-
-cursor_text_select_tool.title=เปิดใช้งานเครื่à¸à¸‡à¸¡à¸·à¸à¸à¸²à¸£à¹€à¸¥à¸·à¸à¸à¸‚้à¸à¸„วาม
-cursor_text_select_tool_label=เครื่à¸à¸‡à¸¡à¸·à¸à¸à¸²à¸£à¹€à¸¥à¸·à¸à¸à¸‚้à¸à¸„วาม
-cursor_hand_tool.title=เปิดใช้งานเครื่à¸à¸‡à¸¡à¸·à¸à¸¡à¸·à¸
-cursor_hand_tool_label=เครื่à¸à¸‡à¸¡à¸·à¸à¸¡à¸·à¸
-
-scroll_page.title=ใช้à¸à¸²à¸£à¹€à¸¥à¸·à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²
-scroll_page_label=à¸à¸²à¸£à¹€à¸¥à¸·à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²
-scroll_vertical.title=ใช้à¸à¸²à¸£à¹€à¸¥à¸·à¹ˆà¸à¸™à¹à¸™à¸§à¸•ั้ง
-scroll_vertical_label=à¸à¸²à¸£à¹€à¸¥à¸·à¹ˆà¸à¸™à¹à¸™à¸§à¸•ั้ง
-scroll_horizontal.title=ใช้à¸à¸²à¸£à¹€à¸¥à¸·à¹ˆà¸à¸™à¹à¸™à¸§à¸™à¸à¸™
-scroll_horizontal_label=à¸à¸²à¸£à¹€à¸¥à¸·à¹ˆà¸à¸™à¹à¸™à¸§à¸™à¸à¸™
-scroll_wrapped.title=ใช้à¸à¸²à¸£à¹€à¸¥à¸·à¹ˆà¸à¸™à¹à¸šà¸šà¸„ลุม
-scroll_wrapped_label=เลื่à¸à¸™à¹à¸šà¸šà¸„ลุม
-
-spread_none.title=ไม่ต้à¸à¸‡à¸£à¸§à¸¡à¸à¸²à¸£à¸à¸£à¸°à¸ˆà¸²à¸¢à¸«à¸™à¹‰à¸²
-spread_none_label=ไม่à¸à¸£à¸°à¸ˆà¸²à¸¢
-spread_odd.title=รวมà¸à¸²à¸£à¸à¸£à¸°à¸ˆà¸²à¸¢à¸«à¸™à¹‰à¸²à¹€à¸£à¸´à¹ˆà¸¡à¸ˆà¸²à¸à¸«à¸™à¹‰à¸²à¸„ี่
-spread_odd_label=à¸à¸£à¸°à¸ˆà¸²à¸¢à¸à¸¢à¹ˆà¸²à¸‡à¹€à¸«à¸¥à¸·à¸à¹€à¸¨à¸©
-spread_even.title=รวมà¸à¸²à¸£à¸à¸£à¸°à¸ˆà¸²à¸¢à¸«à¸™à¹‰à¸²à¹€à¸£à¸´à¹ˆà¸¡à¸ˆà¸²à¸à¸«à¸™à¹‰à¸²à¸„ู่
-spread_even_label=à¸à¸£à¸°à¸ˆà¸²à¸¢à¸à¸¢à¹ˆà¸²à¸‡à¹€à¸—่าเทียม
-
-# Document properties dialog box
-document_properties.title=คุณสมบัติเà¸à¸à¸ªà¸²à¸£â€¦
-document_properties_label=คุณสมบัติเà¸à¸à¸ªà¸²à¸£â€¦
-document_properties_file_name=ชื่à¸à¹„ฟล์:
-document_properties_file_size=ขนาดไฟล์:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} ไบต์)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} ไบต์)
-document_properties_title=ชื่à¸à¹€à¸£à¸·à¹ˆà¸à¸‡:
-document_properties_author=ผู้สร้าง:
-document_properties_subject=ชื่à¸à¹€à¸£à¸·à¹ˆà¸à¸‡:
-document_properties_keywords=คำสำคัà¸:
-document_properties_creation_date=วันที่สร้าง:
-document_properties_modification_date=วันที่à¹à¸à¹‰à¹„ข:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=ผู้สร้าง:
-document_properties_producer=ผู้ผลิต PDF:
-document_properties_version=รุ่น PDF:
-document_properties_page_count=จำนวนหน้า:
-document_properties_page_size=ขนาดหน้า:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=à¹à¸™à¸§à¸•ั้ง
-document_properties_page_size_orientation_landscape=à¹à¸™à¸§à¸™à¸à¸™
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=จดหมาย
-document_properties_page_size_name_legal=ข้à¸à¸à¸Žà¸«à¸¡à¸²à¸¢
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=มุมมà¸à¸‡à¹€à¸§à¹‡à¸šà¹à¸šà¸šà¸£à¸§à¸”เร็ว:
-document_properties_linearized_yes=ใช่
-document_properties_linearized_no=ไม่
-document_properties_close=ปิด
-
-print_progress_message=à¸à¸³à¸¥à¸±à¸‡à¹€à¸•รียมเà¸à¸à¸ªà¸²à¸£à¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸²à¸£à¸žà¸´à¸¡à¸žà¹Œâ€¦
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=ยà¸à¹€à¸¥à¸´à¸
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=เปิด/ปิดà¹à¸–บข้าง
-toggle_sidebar_notification2.title=เปิด/ปิดà¹à¸–บข้าง (เà¸à¸à¸ªà¸²à¸£à¸¡à¸µà¹€à¸„้าร่าง/ไฟล์à¹à¸™à¸š/เลเยà¸à¸£à¹Œ)
-toggle_sidebar_label=เปิด/ปิดà¹à¸–บข้าง
-document_outline.title=à¹à¸ªà¸”งเค้าร่างเà¸à¸à¸ªà¸²à¸£ (คลิà¸à¸ªà¸à¸‡à¸„รั้งเพื่à¸à¸‚ยาย/ยุบรายà¸à¸²à¸£à¸—ั้งหมด)
-document_outline_label=เค้าร่างเà¸à¸à¸ªà¸²à¸£
-attachments.title=à¹à¸ªà¸”งไฟล์à¹à¸™à¸š
-attachments_label=ไฟล์à¹à¸™à¸š
-layers.title=à¹à¸ªà¸”งเลเยà¸à¸£à¹Œ (คลิà¸à¸ªà¸à¸‡à¸„รั้งเพื่à¸à¸£à¸µà¹€à¸‹à¹‡à¸•เลเยà¸à¸£à¹Œà¸—ั้งหมดเป็นสถานะเริ่มต้น)
-layers_label=เลเยà¸à¸£à¹Œ
-thumbs.title=à¹à¸ªà¸”งภาพขนาดย่à¸
-thumbs_label=ภาพขนาดย่à¸
-current_outline_item.title=ค้นหารายà¸à¸²à¸£à¹€à¸„้าร่างปัจจุบัน
-current_outline_item_label=รายà¸à¸²à¸£à¹€à¸„้าร่างปัจจุบัน
-findbar.title=ค้นหาในเà¸à¸à¸ªà¸²à¸£
-findbar_label=ค้นหา
-
-additional_layers=เลเยà¸à¸£à¹Œà¹€à¸žà¸´à¹ˆà¸¡à¹€à¸•ิม
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=หน้า {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=หน้า {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=ภาพขนาดย่à¸à¸‚à¸à¸‡à¸«à¸™à¹‰à¸² {{page}}
-
-# Find panel button title and messages
-find_input.title=ค้นหา
-find_input.placeholder=ค้นหาในเà¸à¸à¸ªà¸²à¸£â€¦
-find_previous.title=หาตำà¹à¸«à¸™à¹ˆà¸‡à¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²à¸‚à¸à¸‡à¸§à¸¥à¸µ
-find_previous_label=à¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²
-find_next.title=หาตำà¹à¸«à¸™à¹ˆà¸‡à¸–ัดไปขà¸à¸‡à¸§à¸¥à¸µ
-find_next_label=ถัดไป
-find_highlight=เน้นสีทั้งหมด
-find_match_case_label=ตัวพิมพ์ใหà¸à¹ˆà¹€à¸¥à¹‡à¸à¸•รงà¸à¸±à¸™
-find_match_diacritics_label=เครื่à¸à¸‡à¸«à¸¡à¸²à¸¢à¸à¸³à¸à¸±à¸šà¸à¸²à¸£à¸à¸à¸à¹€à¸ªà¸µà¸¢à¸‡à¸•รงà¸à¸±à¸™
-find_entire_word_label=ทั้งคำ
-find_reached_top=ค้นหาถึงจุดเริ่มต้นขà¸à¸‡à¸«à¸™à¹‰à¸² เริ่มค้นต่à¸à¸ˆà¸²à¸à¸”้านล่าง
-find_reached_bottom=ค้นหาถึงจุดสิ้นสุดหน้า เริ่มค้นต่à¸à¸ˆà¸²à¸à¸”้านบน
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} จาภ{{total}} ที่ตรงà¸à¸±à¸™
-find_match_count[two]={{current}} จาภ{{total}} ที่ตรงà¸à¸±à¸™
-find_match_count[few]={{current}} จาภ{{total}} ที่ตรงà¸à¸±à¸™
-find_match_count[many]={{current}} จาภ{{total}} ที่ตรงà¸à¸±à¸™
-find_match_count[other]={{current}} จาภ{{total}} ที่ตรงà¸à¸±à¸™
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=มาà¸à¸à¸§à¹ˆà¸² {{limit}} ที่ตรงà¸à¸±à¸™
-find_match_count_limit[one]=มาà¸à¸à¸§à¹ˆà¸² {{limit}} ที่ตรงà¸à¸±à¸™
-find_match_count_limit[two]=มาà¸à¸à¸§à¹ˆà¸² {{limit}} ที่ตรงà¸à¸±à¸™
-find_match_count_limit[few]=มาà¸à¸à¸§à¹ˆà¸² {{limit}} ที่ตรงà¸à¸±à¸™
-find_match_count_limit[many]=มาà¸à¸à¸§à¹ˆà¸² {{limit}} ที่ตรงà¸à¸±à¸™
-find_match_count_limit[other]=มาà¸à¸à¸§à¹ˆà¸² {{limit}} ที่ตรงà¸à¸±à¸™
-find_not_found=ไม่พบวลี
-
-# Error panel labels
-error_more_info=ข้à¸à¸¡à¸¹à¸¥à¹€à¸žà¸´à¹ˆà¸¡à¹€à¸•ิม
-error_less_info=ข้à¸à¸¡à¸¹à¸¥à¸™à¹‰à¸à¸¢à¸¥à¸‡
-error_close=ปิด
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=ข้à¸à¸„วาม: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=สà¹à¸•à¸: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ไฟล์: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=บรรทัด: {{line}}
-rendering_error=เà¸à¸´à¸”ข้à¸à¸œà¸´à¸”พลาดขณะเรนเดà¸à¸£à¹Œà¸«à¸™à¹‰à¸²
-
-# Predefined zoom values
-page_scale_width=ความà¸à¸§à¹‰à¸²à¸‡à¸«à¸™à¹‰à¸²
-page_scale_fit=พà¸à¸”ีหน้า
-page_scale_auto=ซูมà¸à¸±à¸•โนมัติ
-page_scale_actual=ขนาดจริง
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=à¸à¸³à¸¥à¸±à¸‡à¹‚หลด…
-loading_error=เà¸à¸´à¸”ข้à¸à¸œà¸´à¸”พลาดขณะโหลด PDF
-invalid_file_error=ไฟล์ PDF ไม่ถูà¸à¸•้à¸à¸‡à¸«à¸£à¸·à¸à¹€à¸ªà¸µà¸¢à¸«à¸²à¸¢
-missing_file_error=ไฟล์ PDF หายไป
-unexpected_response_error=à¸à¸²à¸£à¸•à¸à¸šà¸ªà¸™à¸à¸‡à¸‚à¸à¸‡à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸à¸£à¹Œà¸—ี่ไม่คาดคิด
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[คำà¸à¸˜à¸´à¸šà¸²à¸¢à¸›à¸£à¸°à¸à¸à¸š {{type}}]
-password_label=ป้à¸à¸™à¸£à¸«à¸±à¸ªà¸œà¹ˆà¸²à¸™à¹€à¸žà¸·à¹ˆà¸à¹€à¸›à¸´à¸”ไฟล์ PDF นี้
-password_invalid=รหัสผ่านไม่ถูà¸à¸•้à¸à¸‡ โปรดลà¸à¸‡à¸à¸µà¸à¸„รั้ง
-password_ok=ตà¸à¸¥à¸‡
-password_cancel=ยà¸à¹€à¸¥à¸´à¸
-
-printing_not_supported=คำเตืà¸à¸™: เบราว์เซà¸à¸£à¹Œà¸™à¸µà¹‰à¹„ม่ได้สนับสนุนà¸à¸²à¸£à¸žà¸´à¸¡à¸žà¹Œà¸à¸¢à¹ˆà¸²à¸‡à¹€à¸•็มที่
-printing_not_ready=คำเตืà¸à¸™: PDF ไม่ได้รับà¸à¸²à¸£à¹‚หลดà¸à¸¢à¹ˆà¸²à¸‡à¹€à¸•็มที่สำหรับà¸à¸²à¸£à¸žà¸´à¸¡à¸žà¹Œ
-web_fonts_disabled=à¹à¸šà¸šà¸à¸±à¸à¸©à¸£à¹€à¸§à¹‡à¸šà¸–ูà¸à¸›à¸´à¸”ใช้งาน: ไม่สามารถใช้à¹à¸šà¸šà¸à¸±à¸à¸©à¸£ PDF à¸à¸±à¸‡à¸•ัว
-
-# Editor
-editor_none_label=ปิดใช้งานà¸à¸²à¸£à¹à¸à¹‰à¹„ข
-
-
-free_text_default_content=ป้à¸à¸™à¸‚้à¸à¸„วาม…
-
-# Editor Parameters
-editor_free_text_font_color=สีตัวà¸à¸±à¸à¸©à¸£
-editor_free_text_font_size=ขนาดà¹à¸šà¸šà¸à¸±à¸à¸©à¸£
-
-# Editor Parameters
-editor_ink_opacity=ความทึบ
-
-# Editor aria
diff --git a/static/js/pdf-js/web/locale/tl/viewer.properties b/static/js/pdf-js/web/locale/tl/viewer.properties
deleted file mode 100644
index 1e988e7..0000000
--- a/static/js/pdf-js/web/locale/tl/viewer.properties
+++ /dev/null
@@ -1,242 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Naunang Pahina
-previous_label=Nakaraan
-next.title=Sunod na Pahina
-next_label=Sunod
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pahina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=ng {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} ng {{pagesCount}})
-
-zoom_out.title=Paliitin
-zoom_out_label=Paliitin
-zoom_in.title=Palakihin
-zoom_in_label=Palakihin
-zoom.title=Mag-zoom
-presentation_mode.title=Lumipat sa Presentation Mode
-presentation_mode_label=Presentation Mode
-open_file.title=Magbukas ng file
-open_file_label=Buksan
-print.title=i-Print
-print_label=i-Print
-download.title=i-Download
-download_label=i-Download
-bookmark.title=Kasalukuyang tingin (kopyahin o buksan sa bagong window)
-bookmark_label=Kasalukuyang tingin
-
-# Secondary toolbar and context menu
-tools.title=Mga Kagamitan
-tools_label=Mga Kagamitan
-first_page.title=Pumunta sa Unang Pahina
-first_page_label=Pumunta sa Unang Pahina
-last_page.title=Pumunta sa Huling Pahina
-last_page_label=Pumunta sa Huling Pahina
-page_rotate_cw.title=Paikutin Pakanan
-page_rotate_cw_label=Paikutin Pakanan
-page_rotate_ccw.title=Paikutin Pakaliwa
-page_rotate_ccw_label=Paikutin Pakaliwa
-
-cursor_text_select_tool.title=I-enable ang Text Selection Tool
-cursor_text_select_tool_label=Text Selection Tool
-cursor_hand_tool.title=I-enable ang Hand Tool
-cursor_hand_tool_label=Hand Tool
-
-scroll_vertical.title=Gumamit ng Vertical Scrolling
-scroll_vertical_label=Vertical Scrolling
-scroll_horizontal.title=Gumamit ng Horizontal Scrolling
-scroll_horizontal_label=Horizontal Scrolling
-scroll_wrapped.title=Gumamit ng Wrapped Scrolling
-scroll_wrapped_label=Wrapped Scrolling
-
-spread_none.title=Huwag pagsamahin ang mga page spread
-spread_none_label=No Spreads
-spread_odd.title=Join page spreads starting with odd-numbered pages
-spread_odd_label=Mga Odd Spread
-spread_even.title=Pagsamahin ang mga page spread na nagsisimula sa mga even-numbered na pahina
-spread_even_label=Mga Even Spread
-
-# Document properties dialog box
-document_properties.title=Mga Katangian ng Dokumento…
-document_properties_label=Mga Katangian ng Dokumento…
-document_properties_file_name=File name:
-document_properties_file_size=File size:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Pamagat:
-document_properties_author=May-akda:
-document_properties_subject=Paksa:
-document_properties_keywords=Mga keyword:
-document_properties_creation_date=Petsa ng Pagkakagawa:
-document_properties_modification_date=Petsa ng Pagkakabago:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Tagalikha:
-document_properties_producer=PDF Producer:
-document_properties_version=PDF Version:
-document_properties_page_count=Bilang ng Pahina:
-document_properties_page_size=Laki ng Pahina:
-document_properties_page_size_unit_inches=pulgada
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=patayo
-document_properties_page_size_orientation_landscape=pahiga
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=Oo
-document_properties_linearized_no=Hindi
-document_properties_close=Isara
-
-print_progress_message=Inihahanda ang dokumento para sa pag-print…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Kanselahin
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Ipakita/Itago ang Sidebar
-toggle_sidebar_notification2.title=Ipakita/Itago ang Sidebar (nagtataglay ang dokumento ng balangkas/mga attachment/mga layer)
-toggle_sidebar_label=Ipakita/Itago ang Sidebar
-document_outline.title=Ipakita ang Document Outline (mag-double-click para i-expand/collapse ang laman)
-document_outline_label=Balangkas ng Dokumento
-attachments.title=Ipakita ang mga Attachment
-attachments_label=Mga attachment
-layers.title=Ipakita ang mga Layer (mag-double click para mareset ang lahat ng layer sa orihinal na estado)
-layers_label=Mga layer
-thumbs.title=Ipakita ang mga Thumbnail
-thumbs_label=Mga thumbnail
-findbar.title=Hanapin sa Dokumento
-findbar_label=Hanapin
-
-additional_layers=Mga Karagdagang Layer
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pahina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Thumbnail ng Pahina {{page}}
-
-# Find panel button title and messages
-find_input.title=Hanapin
-find_input.placeholder=Hanapin sa dokumento…
-find_previous.title=Hanapin ang nakaraang pangyayari ng parirala
-find_previous_label=Nakaraan
-find_next.title=Hanapin ang susunod na pangyayari ng parirala
-find_next_label=Susunod
-find_highlight=I-highlight lahat
-find_match_case_label=Itugma ang case
-find_entire_word_label=Buong salita
-find_reached_top=Naabot na ang tuktok ng dokumento, ipinagpatuloy mula sa ilalim
-find_reached_bottom=Naabot na ang dulo ng dokumento, ipinagpatuloy mula sa tuktok
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} ng {{total}} tugma
-find_match_count[two]={{current}} ng {{total}} tugma
-find_match_count[few]={{current}} ng {{total}} tugma
-find_match_count[many]={{current}} ng {{total}} tugma
-find_match_count[other]={{current}} ng {{total}} tugma
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Higit sa {{limit}} tugma
-find_match_count_limit[one]=Higit sa {{limit}} tugma
-find_match_count_limit[two]=Higit sa {{limit}} tugma
-find_match_count_limit[few]=Higit sa {{limit}} tugma
-find_match_count_limit[many]=Higit sa {{limit}} tugma
-find_match_count_limit[other]=Higit sa {{limit}} tugma
-find_not_found=Hindi natagpuan ang parirala
-
-# Error panel labels
-error_more_info=Karagdagang Impormasyon
-error_less_info=Mas Kaunting Impormasyon
-error_close=Isara
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mensahe: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=File: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linya: {{line}}
-rendering_error=Nagkaproblema habang nirerender ang pahina.
-
-# Predefined zoom values
-page_scale_width=Lapad ng Pahina
-page_scale_fit=Pagkasyahin ang Pahina
-page_scale_auto=Automatic Zoom
-page_scale_actual=Totoong sukat
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=Nagkaproblema habang niloload ang PDF.
-invalid_file_error=Di-wasto o sira ang PDF file.
-missing_file_error=Nawawalang PDF file.
-unexpected_response_error=Hindi inaasahang tugon ng server.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=Ipasok ang password upang buksan ang PDF file na ito.
-password_invalid=Maling password. Subukan uli.
-password_ok=OK
-password_cancel=Kanselahin
-
-printing_not_supported=Babala: Hindi pa ganap na suportado ang pag-print sa browser na ito.
-printing_not_ready=Babala: Hindi ganap na nabuksan ang PDF para sa pag-print.
-web_fonts_disabled=Naka-disable ang mga Web font: hindi kayang gamitin ang mga naka-embed na PDF font.
diff --git a/static/js/pdf-js/web/locale/tr/viewer.properties b/static/js/pdf-js/web/locale/tr/viewer.properties
deleted file mode 100644
index 09d5e72..0000000
--- a/static/js/pdf-js/web/locale/tr/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Önceki sayfa
-previous_label=Önceki
-next.title=Sonraki sayfa
-next_label=Sonraki
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Sayfa
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=/ {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} / {{pagesCount}})
-
-zoom_out.title=Uzaklaştır
-zoom_out_label=Uzaklaştır
-zoom_in.title=Yaklaştır
-zoom_in_label=Yaklaştır
-zoom.title=Yakınlaştırma
-presentation_mode.title=Sunum moduna geç
-presentation_mode_label=Sunum Modu
-open_file.title=Dosya aç
-open_file_label=Aç
-print.title=Yazdır
-print_label=Yazdır
-download.title=İndir
-download_label=İndir
-bookmark.title=Geçerli görünüm (kopyala veya yeni pencerede aç)
-bookmark_label=Geçerli görünüm
-
-# Secondary toolbar and context menu
-tools.title=Araçlar
-tools_label=Araçlar
-first_page.title=İlk sayfaya git
-first_page_label=İlk sayfaya git
-last_page.title=Son sayfaya git
-last_page_label=Son sayfaya git
-page_rotate_cw.title=Saat yönünde döndür
-page_rotate_cw_label=Saat yönünde döndür
-page_rotate_ccw.title=Saat yönünün tersine döndür
-page_rotate_ccw_label=Saat yönünün tersine döndür
-
-cursor_text_select_tool.title=Metin seçme aracını etkinleştir
-cursor_text_select_tool_label=Metin seçme aracı
-cursor_hand_tool.title=El aracını etkinleştir
-cursor_hand_tool_label=El aracı
-
-scroll_page.title=Sayfa kaydırmayı kullan
-scroll_page_label=Sayfa kaydırma
-scroll_vertical.title=Dikey kaydırma kullan
-scroll_vertical_label=Dikey kaydırma
-scroll_horizontal.title=Yatay kaydırma kullan
-scroll_horizontal_label=Yatay kaydırma
-scroll_wrapped.title=Yan yana kaydırmayı kullan
-scroll_wrapped_label=Yan yana kaydırma
-
-spread_none.title=Yan yana sayfaları birleştirme
-spread_none_label=BirleÅŸtirme
-spread_odd.title=Yan yana sayfaları tek numaralı sayfalardan başlayarak birleştir
-spread_odd_label=Tek numaralı
-spread_even.title=Yan yana sayfaları çift numaralı sayfalardan başlayarak birleştir
-spread_even_label=Çift numaralı
-
-# Document properties dialog box
-document_properties.title=Belge özellikleri…
-document_properties_label=Belge özellikleri…
-document_properties_file_name=Dosya adı:
-document_properties_file_size=Dosya boyutu:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bayt)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bayt)
-document_properties_title=Başlık:
-document_properties_author=Yazar:
-document_properties_subject=Konu:
-document_properties_keywords=Anahtar kelimeler:
-document_properties_creation_date=Oluturma tarihi:
-document_properties_modification_date=DeÄŸiÅŸtirme tarihi:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}} {{time}}
-document_properties_creator=OluÅŸturan:
-document_properties_producer=PDF üreticisi:
-document_properties_version=PDF sürümü:
-document_properties_page_count=Sayfa sayısı:
-document_properties_page_size=Sayfa boyutu:
-document_properties_page_size_unit_inches=inç
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=dikey
-document_properties_page_size_orientation_landscape=yatay
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Hızlı web görünümü:
-document_properties_linearized_yes=Evet
-document_properties_linearized_no=Hayır
-document_properties_close=Kapat
-
-print_progress_message=Belge yazdırılmaya hazırlanıyor…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent=%{{progress}}
-print_progress_close=İptal
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Kenar çubuğunu aç/kapat
-toggle_sidebar_notification2.title=Kenar çubuğunu aç/kapat (Belge ana hat/ekler/katmanlar içeriyor)
-toggle_sidebar_label=Kenar çubuğunu aç/kapat
-document_outline.title=Belge ana hatlarını göster (Tüm öğeleri genişletmek/daraltmak için çift tıklayın)
-document_outline_label=Belge ana hatları
-attachments.title=Ekleri göster
-attachments_label=Ekler
-layers.title=Katmanları göster (tüm katmanları varsayılan duruma sıfırlamak için çift tıklayın)
-layers_label=Katmanlar
-thumbs.title=Küçük resimleri göster
-thumbs_label=Küçük resimler
-current_outline_item.title=Mevcut ana hat öğesini bul
-current_outline_item_label=Mevcut ana hat öğesi
-findbar.title=Belgede bul
-findbar_label=Bul
-
-additional_layers=Ek katmanlar
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Sayfa {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Sayfa {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}}. sayfanın küçük hâli
-
-# Find panel button title and messages
-find_input.title=Bul
-find_input.placeholder=Belgede bul…
-find_previous.title=Önceki eşleşmeyi bul
-find_previous_label=Önceki
-find_next.title=Sonraki eÅŸleÅŸmeyi bul
-find_next_label=Sonraki
-find_highlight=Tümünü vurgula
-find_match_case_label=Büyük-küçük harfe duyarlı
-find_match_diacritics_label=Fonetik iÅŸaretleri bul
-find_entire_word_label=Tam sözcükler
-find_reached_top=Belgenin başına ulaşıldı, sonundan devam edildi
-find_reached_bottom=Belgenin sonuna ulaşıldı, başından devam edildi
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{total}} eÅŸleÅŸmeden {{current}}. eÅŸleÅŸme
-find_match_count[two]={{total}} eÅŸleÅŸmeden {{current}}. eÅŸleÅŸme
-find_match_count[few]={{total}} eÅŸleÅŸmeden {{current}}. eÅŸleÅŸme
-find_match_count[many]={{total}} eÅŸleÅŸmeden {{current}}. eÅŸleÅŸme
-find_match_count[other]={{total}} eÅŸleÅŸmeden {{current}}. eÅŸleÅŸme
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}} eÅŸleÅŸmeden fazla
-find_match_count_limit[one]={{limit}} eÅŸleÅŸmeden fazla
-find_match_count_limit[two]={{limit}} eÅŸleÅŸmeden fazla
-find_match_count_limit[few]={{limit}} eÅŸleÅŸmeden fazla
-find_match_count_limit[many]={{limit}} eÅŸleÅŸmeden fazla
-find_match_count_limit[other]={{limit}} eÅŸleÅŸmeden fazla
-find_not_found=Eşleşme bulunamadı
-
-# Error panel labels
-error_more_info=Daha fazla bilgi al
-error_less_info=Daha az bilgi
-error_close=Kapat
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js sürüm {{version}} (yapı: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=İleti: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Yığın: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Dosya: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Satır: {{line}}
-rendering_error=Sayfa yorumlanırken bir hata oluştu.
-
-# Predefined zoom values
-page_scale_width=Sayfa geniÅŸliÄŸi
-page_scale_fit=Sayfayı sığdır
-page_scale_auto=Otomatik yakınlaştır
-page_scale_actual=Gerçek boyut
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent=%{{scale}}
-
-# Loading indicator messages
-loading=Yükleniyor…
-loading_error=PDF yüklenirken bir hata oluştu.
-invalid_file_error=Geçersiz veya bozulmuş PDF dosyası.
-missing_file_error=PDF dosyası eksik.
-unexpected_response_error=Beklenmeyen sunucu yanıtı.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} iÅŸareti]
-password_label=Bu PDF dosyasını açmak için parolasını yazın.
-password_invalid=Geçersiz parola. Lütfen yeniden deneyin.
-password_ok=Tamam
-password_cancel=İptal
-
-printing_not_supported=Uyarı: Yazdırma bu tarayıcı tarafından tam olarak desteklenmemektedir.
-printing_not_ready=Uyarı: PDF tamamen yüklenmedi ve yazdırmaya hazır değil.
-web_fonts_disabled=Web fontları devre dışı: Gömülü PDF fontları kullanılamıyor.
-
-# Editor
-editor_none.title=Açıklama düzenlemeyi kapat
-editor_none_label=Düzenlemeyi kapat
-editor_free_text.title=FreeText açıklaması ekle
-editor_free_text_label=FreeText açıklaması
-editor_ink.title=Mürekkep açıklaması ekle
-editor_ink_label=Mürekkep açıklaması
-
-freetext_default_content=Bir metin girin…
-
-free_text_default_content=Metni girin…
-
-# Editor Parameters
-editor_free_text_font_color=Yazı tipi rengi
-editor_free_text_font_size=Yazı tipi boyutu
-editor_ink_line_color=Çizgi rengi
-editor_ink_line_thickness=Çizgi kalınlığı
-
-# Editor Parameters
-editor_free_text_color=Renk
-editor_free_text_size=Boyut
-editor_ink_color=Renk
-editor_ink_thickness=Kalınlık
-editor_ink_opacity=Saydamlık
-
-# Editor aria
-editor_free_text_aria_label=Serbest metin düzenleyici
-editor_ink_aria_label=Mürekkep düzenleyici
-editor_ink_canvas_aria_label=Kullanıcı tarafından oluşturulan resim
diff --git a/static/js/pdf-js/web/locale/trs/viewer.properties b/static/js/pdf-js/web/locale/trs/viewer.properties
deleted file mode 100644
index 8bd1fe1..0000000
--- a/static/js/pdf-js/web/locale/trs/viewer.properties
+++ /dev/null
@@ -1,206 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pajinâ gunâj rukùu
-previous_label=Sa gachin
-next.title=Pajinâ 'na' ñaan
-next_label=Ne' ñaan
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Ñanj
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=si'iaj {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} of {{pagesCount}})
-
-zoom_out.title=Nagi'iaj li'
-zoom_out_label=Nagi'iaj li'
-zoom_in.title=Nagi'iaj niko'
-zoom_in_label=Nagi'iaj niko'
-zoom.title=dà j nìko ma'an
-presentation_mode.title=Naduno' daj ga ma
-presentation_mode_label=Daj gà ma
-open_file.title=Na'nïn' chrû ñanj
-open_file_label=Na'nïn
-print.title=Nari' ña du'ua
-print_label=Nari' ñadu'ua
-download.title=Nadunïnj
-download_label=Nadunïnj
-bookmark.title=Daj hua ma (Guxun' nej na'nïn' riña ventana nakà a)
-bookmark_label=Daj hua ma
-
-# Secondary toolbar and context menu
-tools.title=Rasun
-tools_label=Nej rasùun
-first_page.title=gun' riña pajina asiniin
-first_page_label=Gun' riña pajina asiniin
-last_page.title=Gun' riña pajina rukù ni'in
-last_page_label=Gun' riña pajina rukù ni'inj
-page_rotate_cw.title=Tanikaj ne' huat
-page_rotate_cw_label=Tanikaj ne' huat
-page_rotate_ccw.title=Tanikaj ne' chînt'
-page_rotate_ccw_label=Tanikaj ne' chint
-
-cursor_text_select_tool.title=Dugi'iaj sun' sa ganahui texto
-cursor_text_select_tool_label=Nej rasun arajsun' da' nahui' texto
-cursor_hand_tool.title=Nachrun' nej rasun
-cursor_hand_tool_label=Sa rajsun ro'o'
-
-scroll_vertical.title=Garasun' dukuán runūu
-scroll_vertical_label=Dukuán runūu
-scroll_horizontal.title=Garasun' dukuán nikin' nahui
-scroll_horizontal_label=Dukuán nikin' nahui
-scroll_wrapped.title=Garasun' sa nachree
-scroll_wrapped_label=Sa nachree
-
-spread_none.title=Si nagi'iaj nugun'un' nej pagina hua ninin
-spread_none_label=Ni'io daj hua pagina
-spread_odd.title=Nagi'iaj nugua'ant nej pajina
-spread_odd_label=Ni'io' daj hua libro gurin
-spread_even.title=NakÄj dugui' ngà nej pajinâ ayi'ì ngà da' hùi hùi
-spread_even_label=Nahuin nìko nej
-
-# Document properties dialog box
-document_properties.title=Nej sa nikÄj ñanj…
-document_properties_label=Nej sa nikÄj ñanj…
-document_properties_file_name=Si yugui archîbo:
-document_properties_file_size=Dà j yachìj archîbo:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Si yugui:
-document_properties_author=Sà girirà :
-document_properties_subject=Dugui':
-document_properties_keywords=Nej nuguan' huìi:
-document_properties_creation_date=Gui gurugui' man:
-document_properties_modification_date=Nuguan' nahuin nakà :
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Guiri ro'
-document_properties_producer=Sa ri PDF:
-document_properties_version=PDF Version:
-document_properties_page_count=Si Guendâ Pâjina:
-document_properties_page_size=Dà j yachìj pâjina:
-document_properties_page_size_unit_inches=riña
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=nadu'ua
-document_properties_page_size_orientation_landscape=dà j huaj
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Da'ngà 'a
-document_properties_page_size_name_legal=Nuguan' a'nï'ïn
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Nanèt chre ni'iajt riña Web:
-document_properties_linearized_yes=Ga'ue
-document_properties_linearized_no=Si ga'ue
-document_properties_close=Narán
-
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Duyichin'
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=NadunÄ barrâ nù yi'nïn
-toggle_sidebar_label=NadunÄ barrâ nù yi'nïn
-findbar_label=Narì'
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-
-# Find panel button title and messages
-find_input.title=Narì'
-find_previous_label=Sa gachîn
-find_next_label=Ne' ñaan
-find_highlight=Daran' sa ña'an
-find_match_case_label=Match case
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} si'iaj {{total}} guña gè huaj
-find_match_count[two]={{current}} si'iaj {{total}} guña gè huaj
-find_match_count[few]={{current}} si'iaj {{total}} guña gè huaj
-find_match_count[many]={{current}} si'iaj {{total}} guña gè huaj
-find_match_count[other]={{current}} of {{total}} matches
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Doj ngà da' {{limit}} nej sa nari' dugui'i
-find_match_count_limit[one]=Doj ngà da' {{limit}} sa nari' dugui'i
-find_match_count_limit[two]=Doj ngà da' {{limit}} nej sa nari' dugui'i
-find_match_count_limit[few]=Doj ngà da' {{limit}} nej sa nari' dugui'i
-find_match_count_limit[many]=Doj ngà da' {{limit}} nej sa nari' dugui'i
-find_match_count_limit[other]=Doj ngà da' {{limit}} nej sa nari' dugui'i
-find_not_found=Nu narì'ij nugua'anj
-
-# Error panel labels
-error_more_info=Doj nuguan' a'min rayi'î nan
-error_less_info=Dòj nuguan' a'min rayi'î nan
-error_close=Narán
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Message: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Naru'ui': {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Archîbo: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Lînia: {{line}}
-
-# Predefined zoom values
-page_scale_actual=Dà j yà chi akuan' nÃn
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-password_ok=Ga'ue
-password_cancel=Duyichin'
-
diff --git a/static/js/pdf-js/web/locale/uk/viewer.properties b/static/js/pdf-js/web/locale/uk/viewer.properties
deleted file mode 100644
index e981adf..0000000
--- a/static/js/pdf-js/web/locale/uk/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ Ñторінка
-previous_label=ПопереднÑ
-next.title=ÐаÑтупна Ñторінка
-next_label=ÐаÑтупна
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Сторінка
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=із {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} із {{pagesCount}})
-
-zoom_out.title=Зменшити
-zoom_out_label=Зменшити
-zoom_in.title=Збільшити
-zoom_in_label=Збільшити
-zoom.title=МаÑштаб
-presentation_mode.title=Перейти в режим презентації
-presentation_mode_label=Режим презентації
-open_file.title=Відкрити файл
-open_file_label=Відкрити
-print.title=Друк
-print_label=Друк
-download.title=Завантажити
-download_label=Завантажити
-bookmark.title=Поточний виглÑд (копіювати чи відкрити в новому вікні)
-bookmark_label=Поточний виглÑд
-
-# Secondary toolbar and context menu
-tools.title=ІнÑтрументи
-tools_label=ІнÑтрументи
-first_page.title=Ðа першу Ñторінку
-first_page_label=Ðа першу Ñторінку
-last_page.title=Ðа оÑтанню Ñторінку
-last_page_label=Ðа оÑтанню Ñторінку
-page_rotate_cw.title=Повернути за годинниковою Ñтрілкою
-page_rotate_cw_label=Повернути за годинниковою Ñтрілкою
-page_rotate_ccw.title=Повернути проти годинникової Ñтрілки
-page_rotate_ccw_label=Повернути проти годинникової Ñтрілки
-
-cursor_text_select_tool.title=Увімкнути інÑтрумент вибору текÑту
-cursor_text_select_tool_label=ІнÑтрумент вибору текÑту
-cursor_hand_tool.title=Увімкнути інÑтрумент "Рука"
-cursor_hand_tool_label=ІнÑтрумент "Рука"
-
-scroll_page.title=ВикориÑтовувати Ð¿Ñ€Ð¾ÐºÑ€ÑƒÑ‡ÑƒÐ²Ð°Ð½Ð½Ñ Ñторінки
-scroll_page_label=ÐŸÑ€Ð¾ÐºÑ€ÑƒÑ‡ÑƒÐ²Ð°Ð½Ð½Ñ Ñторінки
-scroll_vertical.title=ВикориÑтовувати вертикальне прокручуваннÑ
-scroll_vertical_label=Вертикальне прокручуваннÑ
-scroll_horizontal.title=ВикориÑтовувати горизонтальне прокручуваннÑ
-scroll_horizontal_label=Горизонтальне прокручуваннÑ
-scroll_wrapped.title=ВикориÑтовувати маÑштабоване прокручуваннÑ
-scroll_wrapped_label=МаÑштабоване прокручуваннÑ
-
-spread_none.title=Ðе викориÑтовувати розгорнуті Ñторінки
-spread_none_label=Без розгорнутих Ñторінок
-spread_odd.title=Розгорнуті Ñторінки починаютьÑÑ Ð· непарних номерів
-spread_odd_label=Ðепарні Ñторінки зліва
-spread_even.title=Розгорнуті Ñторінки починаютьÑÑ Ð· парних номерів
-spread_even_label=Парні Ñторінки зліва
-
-# Document properties dialog box
-document_properties.title=ВлаÑтивоÑті документа…
-document_properties_label=ВлаÑтивоÑті документа…
-document_properties_file_name=Ðазва файла:
-document_properties_file_size=Розмір файла:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} КБ ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} МБ ({{size_b}} bytes)
-document_properties_title=Заголовок:
-document_properties_author=Ðвтор:
-document_properties_subject=Тема:
-document_properties_keywords=Ключові Ñлова:
-document_properties_creation_date=Дата ÑтвореннÑ:
-document_properties_modification_date=Дата зміни:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Створено:
-document_properties_producer=Виробник PDF:
-document_properties_version=ВерÑÑ–Ñ PDF:
-document_properties_page_count=КількіÑть Ñторінок:
-document_properties_page_size=Розмір Ñторінки:
-document_properties_page_size_unit_inches=дюймів
-document_properties_page_size_unit_millimeters=мм
-document_properties_page_size_orientation_portrait=книжкова
-document_properties_page_size_orientation_landscape=альбомна
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Швидкий переглÑд в Інтернеті:
-document_properties_linearized_yes=Так
-document_properties_linearized_no=ÐÑ–
-document_properties_close=Закрити
-
-print_progress_message=Підготовка документу до друку…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=СкаÑувати
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Бічна панель
-toggle_sidebar_notification2.title=Перемкнути бічну панель (документ міÑтить еÑкіз/вкладеннÑ/шари)
-toggle_sidebar_label=Перемкнути бічну панель
-document_outline.title=Показати Ñхему документу (подвійний клік Ð´Ð»Ñ Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ/Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ñ–Ð²)
-document_outline_label=Схема документа
-attachments.title=Показати прикріпленнÑ
-attachments_label=ПрикріпленнÑ
-layers.title=Показати шари (двічі клацніть, щоб Ñкинути вÑÑ– шари до типового Ñтану)
-layers_label=Шари
-thumbs.title=Показувати еÑкізи
-thumbs_label=ЕÑкізи
-current_outline_item.title=Знайти поточний елемент зміÑту
-current_outline_item_label=Поточний елемент зміÑту
-findbar.title=Знайти в документі
-findbar_label=Знайти
-
-additional_layers=Додаткові шари
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Сторінка {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Сторінка {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=ЕÑкіз Ñторінки {{page}}
-
-# Find panel button title and messages
-find_input.title=Знайти
-find_input.placeholder=Знайти в документі…
-find_previous.title=Знайти попереднє Ð²Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ñ„Ñ€Ð°Ð·Ð¸
-find_previous_label=Попереднє
-find_next.title=Знайти наÑтупне Ð²Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ñ„Ñ€Ð°Ð·Ð¸
-find_next_label=ÐаÑтупне
-find_highlight=ПідÑвітити вÑе
-find_match_case_label=З урахуваннÑм регіÑтру
-find_match_diacritics_label=ВідповідніÑть діакритичних знаків
-find_entire_word_label=Цілі Ñлова
-find_reached_top=ДоÑÑгнуто початку документу, продовжено з кінцÑ
-find_reached_bottom=ДоÑÑгнуто ÐºÑ–Ð½Ñ†Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ñƒ, продовжено з початку
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} збіг із {{total}}
-find_match_count[two]={{current}} збіги з {{total}}
-find_match_count[few]={{current}} збігів із {{total}}
-find_match_count[many]={{current}} збігів із {{total}}
-find_match_count[other]={{current}} збігів із {{total}}
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Понад {{limit}} збігів
-find_match_count_limit[one]=Більше, ніж {{limit}} збіг
-find_match_count_limit[two]=Більше, ніж {{limit}} збіги
-find_match_count_limit[few]=Більше, ніж {{limit}} збігів
-find_match_count_limit[many]=Понад {{limit}} збігів
-find_match_count_limit[other]=Понад {{limit}} збігів
-find_not_found=Фразу не знайдено
-
-# Error panel labels
-error_more_info=Більше інформації
-error_less_info=Менше інформації
-error_close=Закрити
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=ПовідомленнÑ: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Стек: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Файл: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Ð Ñдок: {{line}}
-rendering_error=Під Ñ‡Ð°Ñ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñторінки ÑталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°.
-
-# Predefined zoom values
-page_scale_width=За шириною
-page_scale_fit=ВміÑтити
-page_scale_auto=ÐвтомаÑштаб
-page_scale_actual=ДійÑний розмір
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=ЗавантаженнÑ…
-loading_error=Під Ñ‡Ð°Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ PDF ÑталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°.
-invalid_file_error=ÐедійÑний або пошкоджений PDF-файл.
-missing_file_error=ВідÑутній PDF-файл.
-unexpected_response_error=Ðеочікувана відповідь Ñервера.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}}-анотаціÑ]
-password_label=Введіть пароль Ð´Ð»Ñ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ†ÑŒÐ¾Ð³Ð¾ PDF-файла.
-password_invalid=Ðевірний пароль. Спробуйте ще.
-password_ok=Гаразд
-password_cancel=СкаÑувати
-
-printing_not_supported=ПопередженнÑ: Цей браузер не повніÑтю підтримує друк.
-printing_not_ready=ПопередженнÑ: PDF не повніÑтю завантажений Ð´Ð»Ñ Ð´Ñ€ÑƒÐºÑƒ.
-web_fonts_disabled=Веб-шрифти вимкнено: неможливо викориÑтати вбудовані у PDF шрифти.
-
-# Editor
-editor_none.title=Вимкнути Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð½Ð¾Ñ‚Ð°Ñ†Ñ–Ð¹
-editor_none_label=Вимкнути редагуваннÑ
-editor_free_text.title=Додати анотацію FreeText
-editor_free_text_label=ÐÐ½Ð¾Ñ‚Ð°Ñ†Ñ–Ñ FreeText
-editor_ink.title=Додати анотацію чорнилом
-editor_ink_label=ÐÐ½Ð¾Ñ‚Ð°Ñ†Ñ–Ñ Ñ‡Ð¾Ñ€Ð½Ð¸Ð»Ð¾Ð¼
-
-freetext_default_content=Введіть текÑт…
-
-free_text_default_content=Уведіть текÑт…
-
-# Editor Parameters
-editor_free_text_font_color=Колір шрифту
-editor_free_text_font_size=Розмір шрифту
-editor_ink_line_color=Колір лінії
-editor_ink_line_thickness=Товщина лінії
-
-# Editor Parameters
-editor_free_text_color=Колір
-editor_free_text_size=Розмір
-editor_ink_color=Колір
-editor_ink_thickness=Товщина
-editor_ink_opacity=ПрозоріÑть
-
-# Editor aria
-editor_free_text_aria_label=Редактор FreeText
-editor_ink_aria_label=РукопиÑний редактор
-editor_ink_canvas_aria_label=ЗображеннÑ, Ñтворене кориÑтувачем
diff --git a/static/js/pdf-js/web/locale/ur/viewer.properties b/static/js/pdf-js/web/locale/ur/viewer.properties
deleted file mode 100644
index 6235c15..0000000
--- a/static/js/pdf-js/web/locale/ur/viewer.properties
+++ /dev/null
@@ -1,238 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=پچھلا ØµÙØÛ
-previous_label=پچھلا
-next.title=اگلا ØµÙØÛ
-next_label=Ø¢Ú¯Û’
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=ØµÙØÛ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} کا
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} کا {{pagesCount}})
-
-zoom_out.title=Ø¨Ø§ÛØ± زوم کریں
-zoom_out_label=Ø¨Ø§ÛØ± زوم کریں
-zoom_in.title=اندر زوم کریں
-zoom_in_label=اندر زوم کریں
-zoom.title=زوم
-presentation_mode.title=پیشکش موڈ میں چلے جائیں
-presentation_mode_label=پیشکش موڈ
-open_file.title=مسل کھولیں
-open_file_label=کھولیں
-print.title=چھاپیں
-print_label=چھاپیں
-download.title=ڈاؤن لوڈ
-download_label=ڈاؤن لوڈ
-bookmark.title=ØØ§Ù„ÛŒÛ Ù†Ø¸Ø§Ø±Û (Ù†Û“ Ø¯Ø±ÛŒÚ†Û Ù…ÛŒÚº نقل کریں یا کھولیں)
-bookmark_label=ØØ§Ù„ÛŒÛ Ù†Ø¸Ø§Ø±Û
-
-# Secondary toolbar and context menu
-tools.title=آلات
-tools_label=آلات
-first_page.title=Ù¾ÛÙ„Û’ ØµÙØÛ Ù¾Ø± جائیں
-first_page_label=Ù¾ÛÙ„Û’ ØµÙØÛ Ù¾Ø± جائیں
-last_page.title=آخری ØµÙØÛ Ù¾Ø± جائیں
-last_page_label=آخری ØµÙØÛ Ù¾Ø± جائیں
-page_rotate_cw.title=گھڑی وار گھمائیں
-page_rotate_cw_label=گھڑی وار گھمائیں
-page_rotate_ccw.title=ضد گھڑی وار گھمائیں
-page_rotate_ccw_label=ضد گھڑی وار گھمائیں
-
-cursor_text_select_tool.title=متن Ú©Û’ انتخاب Ú©Û’ ٹول Ú©Ùˆ ÙØ¹Ø§Ù„ بناے
-cursor_text_select_tool_label=متن Ú©Û’ انتخاب کا آلÛ
-cursor_hand_tool.title=Ûینڈ ٹول Ú©Ùˆ ÙØ¹Ø§Ù„ بناییں
-cursor_hand_tool_label=ÛØ§ØªÚ¾ کا آلÛ
-
-scroll_vertical.title=عمودی اسکرولنگ کا استعمال کریں
-scroll_vertical_label=عمودی اسکرولنگ
-scroll_horizontal.title=اÙÙ‚ÛŒ سکرولنگ کا استعمال کریں
-scroll_horizontal_label=اÙÙ‚ÛŒ سکرولنگ
-
-spread_none.title=ØµÙØÛ Ù¾Ú¾ÛŒÙ„Ø§Ù†Û’ میں شامل Ù†Û ÛÙˆÚº
-spread_none_label=کوئی پھیلاؤ Ù†Ûیں
-spread_odd_label=تاک پھیلاؤ
-spread_even_label=Ø¬ÙØª پھیلاؤ
-
-# Document properties dialog box
-document_properties.title=دستاویز خواص…
-document_properties_label=دستاویز خواص…\u0020
-document_properties_file_name=نام مسل:
-document_properties_file_size=مسل سائز:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=عنوان:
-document_properties_author=تخلیق کار:
-document_properties_subject=موضوع:
-document_properties_keywords=کلیدی Ø§Ù„ÙØ§Ø¸:
-document_properties_creation_date=تخلیق کی تاریخ:
-document_properties_modification_date=ترمیم کی تاریخ:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}، {{time}}
-document_properties_creator=تخلیق کار:
-document_properties_producer=PDF پیدا کار:
-document_properties_version=PDF ورژن:
-document_properties_page_count=ØµÙØÛ Ø´Ù…Ø§Ø±:
-document_properties_page_size=صÙÛ Ú©ÛŒ لمبائ:
-document_properties_page_size_unit_inches=میں
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=عمودی انداز
-document_properties_page_size_orientation_landscape=اÙقى انداز
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=خط
-document_properties_page_size_name_legal=قانونی
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} {{name}} {{orientation}}
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=تیز ویب دیکھیں:
-document_properties_linearized_yes=ÛØ§Úº
-document_properties_linearized_no=Ù†Ûیں
-document_properties_close=بند کریں
-
-print_progress_message=چھاپنے کرنے کے لیے دستاویز تیار کیے جا رھے ھیں
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent=*{{progress}}%*
-print_progress_close=منسوخ کریں
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=سلائیڈ ٹوگل کریں
-toggle_sidebar_label=سلائیڈ ٹوگل کریں
-document_outline.title=دستاویز کی سرخیاں دکھایں (تمام اشیاء وسیع / غائب کرنے کے لیے ڈبل کلک کریں)
-document_outline_label=دستاویز آؤٹ لائن
-attachments.title=منسلکات دکھائیں
-attachments_label=منسلکات
-thumbs.title=تھمبنیل دکھائیں
-thumbs_label=مجمل
-findbar.title=دستاویز میں ڈھونڈیں
-findbar_label=ڈھونڈیں
-
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=ØµÙØÛ {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=ØµÙØÛ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=ØµÙØÛ’ کا مجمل {{page}}
-
-# Find panel button title and messages
-find_input.title=ڈھونڈیں
-find_input.placeholder=دستاویز… میں ڈھونڈیں
-find_previous.title=Ùقرے کا پچھلا وقوع ڈھونڈیں
-find_previous_label=پچھلا
-find_next.title=Ùقرے کا Ø§Ú¯Ù„Û ÙˆÙ‚ÙˆØ¹ ڈھونڈیں
-find_next_label=Ø¢Ú¯Û’
-find_highlight=تمام نمایاں کریں
-find_match_case_label=ØØ±ÙˆÙ Ù…Ø´Ø§Ø¨Û Ú©Ø±ÛŒÚº
-find_entire_word_label=تمام Ø§Ù„ÙØ§Ø¸
-find_reached_top=ØµÙØÛ Ú©Û’ شروع پر Ù¾ÛÙ†Ú† گیا، نیچے سے جاری کیا
-find_reached_bottom=ØµÙØÛ Ú©Û’ اختتام پر Ù¾ÛÙ†Ú† گیا، اوپر سے جاری کیا
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{total}} میچ کا {{current}}
-find_match_count[few]={{total}} میچوں میں سے {{current}}
-find_match_count[many]={{total}} میچوں میں سے {{current}}
-find_match_count[other]={{total}} میچوں میں سے {{current}}
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(total) ]}
-find_match_count_limit[zero]={{limit}} سے Ø²ÛŒØ§Ø¯Û Ù…ÛŒÚ†
-find_match_count_limit[one]={{limit}} سے Ø²ÛŒØ§Ø¯Û Ù…ÛŒÚ†
-find_match_count_limit[two]={{limit}} سے Ø²ÛŒØ§Ø¯Û Ù…ÛŒÚ†
-find_match_count_limit[few]={{limit}} سے Ø²ÛŒØ§Ø¯Û Ù…ÛŒÚ†
-find_match_count_limit[many]={{limit}} سے Ø²ÛŒØ§Ø¯Û Ù…ÛŒÚ†
-find_match_count_limit[other]={{limit}} سے Ø²ÛŒØ§Ø¯Û Ù…ÛŒÚ†
-find_not_found=Ùقرا Ù†Ûیں ملا
-
-# Error panel labels
-error_more_info=مزید معلومات
-error_less_info=کم معلومات
-error_close=بند کریں
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=پیغام: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=سٹیک: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=مسل: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=لائن: {{line}}
-rendering_error=ØµÙØÛ Ø¨Ù†Ø§ØªÛ’ Ûوئے نقص Ø¢ گیا۔
-
-# Predefined zoom values
-page_scale_width=ØµÙØÛ Ú†ÙˆÚ‘Ø§Ø¦ÛŒ
-page_scale_fit=ØµÙØÛ Ùٹنگ
-page_scale_auto=خودکار زوم
-page_scale_actual=اصل سائز
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error=PDF لوڈ کرتے وقت نقص آ گیا۔
-invalid_file_error=ناجائز یا خراب PDF مسل
-missing_file_error=PDF مسل غائب ÛÛ’Û”
-unexpected_response_error=غیرمتوقع پیش کار جواب
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}.{{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} نوٹ]
-password_label=PDF مسل کھولنے کے لیے پاس ورڈ داخل کریں.
-password_invalid=ناجائز پاس ورڈ. براےؑ کرم Ø¯ÙˆØ¨Ø§Ø±Û Ú©ÙˆØ´Ø´ کریں.
-password_ok=ٹھیک ÛÛ’
-password_cancel=منسوخ کریں
-
-printing_not_supported=تنبیÛ:چھاپنا اس براؤزر پر پوری Ø·Ø±Ø Ù…Ø¹Ø§ÙˆÙ†Øª Ø´Ø¯Û Ù†Ûیں ÛÛ’Û”
-printing_not_ready=تنبیÛ: PDF چھپائی Ú©Û’ لیے پوری Ø·Ø±Ø Ù„ÙˆÚˆ Ù†Ûیں Ûوئی۔
-web_fonts_disabled=ویب ÙØ§Ù†Ù¹ نا اÛÙ„ Ûیں: شامل PDF ÙØ§Ù†Ù¹ استعمال کرنے میں ناکام۔
-# LOCALIZATION NOTE (unsupported_feature_signatures): Should contain the same
-# exact string as in the `chrome.properties` file.
diff --git a/static/js/pdf-js/web/locale/uz/viewer.properties b/static/js/pdf-js/web/locale/uz/viewer.properties
deleted file mode 100644
index a17eb6b..0000000
--- a/static/js/pdf-js/web/locale/uz/viewer.properties
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Oldingi sahifa
-previous_label=Oldingi
-next.title=Keyingi sahifa
-next_label=Keyingi
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=/{{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-
-zoom_out.title=Kichiklashtirish
-zoom_out_label=Kichiklashtirish
-zoom_in.title=Kattalashtirish
-zoom_in_label=Kattalashtirish
-zoom.title=Masshtab
-presentation_mode.title=Namoyish usuliga oʻtish
-presentation_mode_label=Namoyish usuli
-open_file.title=Faylni ochish
-open_file_label=Ochish
-print.title=Chop qilish
-print_label=Chop qilish
-download.title=Yuklab olish
-download_label=Yuklab olish
-bookmark.title=Joriy koʻrinish (nusxa oling yoki yangi oynada oching)
-bookmark_label=Joriy koʻrinish
-
-# Secondary toolbar and context menu
-tools.title=Vositalar
-tools_label=Vositalar
-first_page.title=Birinchi sahifaga oʻtish
-first_page_label=Birinchi sahifaga oʻtish
-last_page.title=Soʻnggi sahifaga oʻtish
-last_page_label=Soʻnggi sahifaga oʻtish
-page_rotate_cw.title=Soat yoʻnalishi boʻyicha burish
-page_rotate_cw_label=Soat yoʻnalishi boʻyicha burish
-page_rotate_ccw.title=Soat yoʻnalishiga qarshi burish
-page_rotate_ccw_label=Soat yoʻnalishiga qarshi burish
-
-
-# Document properties dialog box
-document_properties.title=Hujjat xossalari
-document_properties_label=Hujjat xossalari
-document_properties_file_name=Fayl nomi:
-document_properties_file_size=Fayl hajmi:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Nomi:
-document_properties_author=Muallifi:
-document_properties_subject=Mavzusi:
-document_properties_keywords=Kalit so‘zlar
-document_properties_creation_date=Yaratilgan sanasi:
-document_properties_modification_date=O‘zgartirilgan sanasi
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Yaratuvchi:
-document_properties_producer=PDF ishlab chiqaruvchi:
-document_properties_version=PDF versiyasi:
-document_properties_page_count=Sahifa soni:
-document_properties_close=Yopish
-
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Yon panelni yoqib/oʻchirib qoʻyish
-toggle_sidebar_label=Yon panelni yoqib/oʻchirib qoʻyish
-document_outline_label=Hujjat tuzilishi
-attachments.title=Ilovalarni ko‘rsatish
-attachments_label=Ilovalar
-thumbs.title=Nishonchalarni koʻrsatish
-thumbs_label=Nishoncha
-findbar.title=Hujjat ichidan topish
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}} sahifa
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} sahifa nishonchasi
-
-# Find panel button title and messages
-find_previous.title=Soʻzlardagi oldingi hodisani topish
-find_previous_label=Oldingi
-find_next.title=Iboradagi keyingi hodisani topish
-find_next_label=Keyingi
-find_highlight=Barchasini ajratib koʻrsatish
-find_match_case_label=Katta-kichik harflarni farqlash
-find_reached_top=Hujjatning boshigacha yetib keldik, pastdan davom ettiriladi
-find_reached_bottom=Hujjatning oxiriga yetib kelindi, yuqoridan davom ettirladi
-find_not_found=Soʻzlar topilmadi
-
-# Error panel labels
-error_more_info=Koʻproq ma`lumot
-error_less_info=Kamroq ma`lumot
-error_close=Yopish
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Xabar: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Toʻplam: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fayl: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Satr: {{line}}
-rendering_error=Sahifa renderlanayotganda xato yuz berdi.
-
-# Predefined zoom values
-page_scale_width=Sahifa eni
-page_scale_fit=Sahifani moslashtirish
-page_scale_auto=Avtomatik masshtab
-page_scale_actual=Haqiqiy hajmi
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=PDF yuklanayotganda xato yuz berdi.
-invalid_file_error=Xato yoki buzuq PDF fayli.
-missing_file_error=PDF fayl kerak.
-unexpected_response_error=Kutilmagan server javobi.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=PDF faylni ochish uchun parolni kiriting.
-password_invalid=Parol - notoʻgʻri. Qaytadan urinib koʻring.
-password_ok=OK
-
-printing_not_supported=Diqqat: chop qilish bruzer tomonidan toʻliq qoʻllab-quvvatlanmaydi.
-printing_not_ready=Diqqat: PDF fayl chop qilish uchun toʻliq yuklanmadi.
-web_fonts_disabled=Veb shriftlar oʻchirilgan: ichki PDF shriftlardan foydalanib boʻlmmaydi.
diff --git a/static/js/pdf-js/web/locale/vi/viewer.properties b/static/js/pdf-js/web/locale/vi/viewer.properties
deleted file mode 100644
index 18ef487..0000000
--- a/static/js/pdf-js/web/locale/vi/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Trang trước
-previous_label=Trước
-next.title=Trang Sau
-next_label=Tiếp
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Trang
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=trên {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} trên {{pagesCount}})
-
-zoom_out.title=Thu nhá»
-zoom_out_label=Thu nhá»
-zoom_in.title=Phóng to
-zoom_in_label=Phóng to
-zoom.title=Thu phóng
-presentation_mode.title=Chuyển sang chế độ trình chiếu
-presentation_mode_label=Chế độ trình chiếu
-open_file.title=Mở táºp tin
-open_file_label=Mở táºp tin
-print.title=In
-print_label=In
-download.title=Tải xuống
-download_label=Tải xuống
-bookmark.title=Chế độ xem hiện tại (sao chép hoặc mở trong cá»a sổ má»›i)
-bookmark_label=Chế độ xem hiện tại
-
-# Secondary toolbar and context menu
-tools.title=Công cụ
-tools_label=Công cụ
-first_page.title=VỠtrang đầu
-first_page_label=VỠtrang đầu
-last_page.title=Äến trang cuối
-last_page_label=Äến trang cuối
-page_rotate_cw.title=Xoay theo chiá»u kim đồng hồ
-page_rotate_cw_label=Xoay theo chiá»u kim đồng hồ
-page_rotate_ccw.title=Xoay ngược chiá»u kim đồng hồ
-page_rotate_ccw_label=Xoay ngược chiá»u kim đồng hồ
-
-cursor_text_select_tool.title=KÃch hoạt công cụ chá»n vùng văn bản
-cursor_text_select_tool_label=Công cụ chá»n vùng văn bản
-cursor_hand_tool.title=KÃch hoạt công cụ con trá»
-cursor_hand_tool_label=Công cụ con trá»
-
-scroll_page.title=SỠdụng cuộn trang hiện tại
-scroll_page_label=Cuộn trang hiện tại
-scroll_vertical.title=Sá» dụng cuá»™n dá»c
-scroll_vertical_label=Cuá»™n dá»c
-scroll_horizontal.title=SỠdụng cuộn ngang
-scroll_horizontal_label=Cuá»™n ngang
-scroll_wrapped.title=SỠdụng cuộn ngắt dòng
-scroll_wrapped_label=Cuộn ngắt dòng
-
-spread_none.title=Không nối rộng trang
-spread_none_label=Không có phân cách
-spread_odd.title=Nối trang bà i bắt đầu với các trang được đánh số lẻ
-spread_odd_label=Phân cách theo số lẻ
-spread_even.title=Nối trang bà i bắt đầu với các trang được đánh số chẵn
-spread_even_label=Phân cách theo số chẵn
-
-# Document properties dialog box
-document_properties.title=Thuá»™c tÃnh cá»§a tà i liệu…
-document_properties_label=Thuá»™c tÃnh cá»§a tà i liệu…
-document_properties_file_name=Tên táºp tin:
-document_properties_file_size=KÃch thước:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} byte)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} byte)
-document_properties_title=Tiêu Ä‘á»:
-document_properties_author=Tác giả:
-document_properties_subject=Chá»§ Ä‘á»:
-document_properties_keywords=Từ khóa:
-document_properties_creation_date=Ngà y tạo:
-document_properties_modification_date=Ngà y sá»a đổi:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Ngưá»i tạo:
-document_properties_producer=Phần má»m tạo PDF:
-document_properties_version=Phiên bản PDF:
-document_properties_page_count=Tổng số trang:
-document_properties_page_size=KÃch thước trang:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=khổ dá»c
-document_properties_page_size_orientation_landscape=khổ ngang
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Thư
-document_properties_page_size_name_legal=Pháp lý
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Xem nhanh trên web:
-document_properties_linearized_yes=Có
-document_properties_linearized_no=Không
-document_properties_close=Ãóng
-
-print_progress_message=Chuẩn bị trang để in…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Há»§y bá»
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Báºt/Tắt thanh lá»
-toggle_sidebar_notification2.title=Báºt tắt thanh lá» (tà i liệu bao gồm bản phác thảo/táºp tin Ä‘Ãnh kèm/lá»›p)
-toggle_sidebar_label=Báºt/Tắt thanh lá»
-document_outline.title=Hiển thị tà i liệu phác thảo (nhấp đúp và o để mở rá»™ng/thu gá»n tất cả các mục)
-document_outline_label=Bản phác tà i liệu
-attachments.title=Hiện ná»™i dung Ä‘Ãnh kèm
-attachments_label=Ná»™i dung Ä‘Ãnh kèm
-layers.title=Hiển thị các lớp (nhấp đúp để đặt lại tất cả các lớp vỠtrạng thái mặc định)
-layers_label=Lá»›p
-thumbs.title=Hiển thị ảnh thu nhá»
-thumbs_label=Ảnh thu nhá»
-current_outline_item.title=Tìm mục phác thảo hiện tại
-current_outline_item_label=Mục phác thảo hiện tại
-findbar.title=Tìm trong tà i liệu
-findbar_label=Tìm
-
-additional_layers=Các lớp bổ sung
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=Trang {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Trang {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Ảnh thu nhỠcủa trang {{page}}
-
-# Find panel button title and messages
-find_input.title=Tìm
-find_input.placeholder=Tìm trong tà i liệu…
-find_previous.title=Tìm cụm từ ở phần trước
-find_previous_label=Trước
-find_next.title=Tìm cụm từ ở phần sau
-find_next_label=Tiếp
-find_highlight=Tô sáng tất cả
-find_match_case_label=Phân biệt hoa, thưá»ng
-find_match_diacritics_label=Khớp dấu phụ
-find_entire_word_label=Toà n bộ từ
-find_reached_top=Äã đến phần đầu tà i liệu, quay trở lại từ cuối
-find_reached_bottom=Äã đến phần cuối cá»§a tà i liệu, quay trở lại từ đầu
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} của {{total}} đã trùng
-find_match_count[two]={{current}} của {{total}} đã trùng
-find_match_count[few]={{current}} của {{total}} đã trùng
-find_match_count[many]={{current}} của {{total}} đã trùng
-find_match_count[other]={{current}} của {{total}} đã trùng
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Nhiá»u hÆ¡n {{limit}} đã trùng
-find_match_count_limit[one]=Nhiá»u hÆ¡n {{limit}} đã trùng
-find_match_count_limit[two]=Nhiá»u hÆ¡n {{limit}} đã trùng
-find_match_count_limit[few]=Nhiá»u hÆ¡n {{limit}} đã trùng
-find_match_count_limit[many]=Nhiá»u hÆ¡n {{limit}} đã trùng
-find_match_count_limit[other]=Nhiá»u hÆ¡n {{limit}} đã trùng
-find_not_found=Không tìm thấy cụm từ nà y
-
-# Error panel labels
-error_more_info=Thông tin thêm
-error_less_info=Hiển thị Ãt thông tin hÆ¡n
-error_close=Äóng
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Thông điệp: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Táºp tin: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Dòng: {{line}}
-rendering_error=Lỗi khi hiển thị trang.
-
-# Predefined zoom values
-page_scale_width=Vừa chiá»u rá»™ng
-page_scale_fit=Vừa chiá»u cao
-page_scale_auto=Tá»± động chá»n kÃch thước
-page_scale_actual=KÃch thước thá»±c
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=Äang tải…
-loading_error=Lỗi khi tải tà i liệu PDF.
-invalid_file_error=Táºp tin PDF há»ng hoặc không hợp lệ.
-missing_file_error=Thiếu táºp tin PDF.
-unexpected_response_error=Máy chủ có phản hồi lạ.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Chú thÃch]
-password_label=Nháºp máºt khẩu để mở táºp tin PDF nà y.
-password_invalid=Máºt khẩu không đúng. Vui lòng thá» lại.
-password_ok=OK
-password_cancel=Há»§y bá»
-
-printing_not_supported=Cảnh báo: In ấn không được hỗ trợ đầy đủ ở trình duyệt nà y.
-printing_not_ready=Cảnh báo: PDF chưa được tải hết để in.
-web_fonts_disabled=Phông chữ Web bị vô hiệu hóa: không thể sỠdụng các phông chữ PDF được nhúng.
-
-# Editor
-editor_none.title=Tắt chỉnh sá»a chú thÃch
-editor_none_label=Tắt chỉnh sá»a
-editor_free_text.title=Thêm chú thÃch FreeText
-editor_free_text_label=Chú thÃch FreeText
-editor_ink.title=Thêm chú thÃch má»±c
-editor_ink_label=Chú thÃch má»±c
-
-freetext_default_content=Nháºp và i văn bản…
-
-free_text_default_content=Nháºp văn bản…
-
-# Editor Parameters
-editor_free_text_font_color=Mà u chữ
-editor_free_text_font_size=Cỡ chữ
-editor_ink_line_color=Mà u đưá»ng kẻ
-editor_ink_line_thickness=Äá»™ dà y đưá»ng kẻ
-
-# Editor Parameters
-editor_free_text_color=MÃ u
-editor_free_text_size=KÃch cỡ
-editor_ink_color=MÃ u
-editor_ink_thickness=Äá»™ dà y
-editor_ink_opacity=Äộ mờ
-
-# Editor aria
-editor_free_text_aria_label=Trình chỉnh sá»a FreeText
-editor_ink_aria_label=Trình chỉnh sá»a má»±c
-editor_ink_canvas_aria_label=Hình ảnh do ngưá»i dùng tạo
diff --git a/static/js/pdf-js/web/locale/wo/viewer.properties b/static/js/pdf-js/web/locale/wo/viewer.properties
deleted file mode 100644
index ca3f4c3..0000000
--- a/static/js/pdf-js/web/locale/wo/viewer.properties
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Xët wi jiitu
-previous_label=Bi jiitu
-next.title=Xët wi ci topp
-next_label=Bi ci topp
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-
-zoom_out.title=Wà ññi
-zoom_out_label=Wà ññi
-zoom_in.title=Yaatal
-zoom_in_label=Yaatal
-zoom.title=Yambalaŋ
-presentation_mode.title=Wañarñil ci anamu wone
-presentation_mode_label=Anamu Wone
-open_file.title=Ubbi benn dencukaay
-open_file_label=Ubbi
-print.title=Móol
-print_label=Móol
-download.title=Yeb yi
-download_label=Yeb yi
-bookmark.title=Wone bi taxaw (duppi walla ubbi palanteer bu bees)
-bookmark_label=Wone bi feeñ
-
-# Secondary toolbar and context menu
-
-
-# Document properties dialog box
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_title=Bopp:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-thumbs.title=Wone nataal yu ndaw yi
-thumbs_label=Nataal yu ndaw yi
-findbar.title=Gis ci biir jukki bi
-findbar_label=Wut
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Xët {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Wiñet bu xët {{page}}
-
-# Find panel button title and messages
-find_previous.title=Seet beneen kaddu bu ni mel te jiitu
-find_previous_label=Bi jiitu
-find_next.title=Seet beneen kaddu bu ni mel
-find_next_label=Bi ci topp
-find_highlight=Melaxal lépp
-find_match_case_label=Sà mm jëmmalin wi
-find_reached_top=Jot nañu ndorteel xët wi, kontine dale ko ci suuf
-find_reached_bottom=Jot nañu jeexitalu xët wi, kontine ci ndorte
-find_not_found=Gisiñu kaddu gi
-
-# Error panel labels
-error_more_info=Xibaar yu gën bari
-error_less_info=Xibaar yu gën bari
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Bataaxal: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Juug: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Dencukaay: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Rëdd : {{line}}
-rendering_error=Am njumte bu am bi xët bi di wonewu.
-
-# Predefined zoom values
-page_scale_width=Yaatuwaay bu mët
-page_scale_fit=Xët lëmm
-page_scale_auto=Yambalaŋ ci saa si
-page_scale_actual=Dayo bi am
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-
-loading_error=Am na njumte ci yebum dencukaay PDF bi.
-invalid_file_error=Dencukaay PDF bi baaxul walla mu sankar.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Karmat {{type}}]
-password_ok=OK
-password_cancel=Neenal
-
-printing_not_supported=Artu: Joowkat bii nanguwul lool mool.
diff --git a/static/js/pdf-js/web/locale/xh/viewer.properties b/static/js/pdf-js/web/locale/xh/viewer.properties
deleted file mode 100644
index 541ddbf..0000000
--- a/static/js/pdf-js/web/locale/xh/viewer.properties
+++ /dev/null
@@ -1,176 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Iphepha langaphambili
-previous_label=Okwangaphambili
-next.title=Iphepha elilandelayo
-next_label=Okulandelayo
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Iphepha
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=kwali- {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} kwali {{pagesCount}})
-
-zoom_out.title=Bhekelisela Kudana
-zoom_out_label=Bhekelisela Kudana
-zoom_in.title=Sondeza Kufuphi
-zoom_in_label=Sondeza Kufuphi
-zoom.title=Yandisa / Nciphisa
-presentation_mode.title=Tshintshela kwimo yonikezelo
-presentation_mode_label=Imo yonikezelo
-open_file.title=Vula Ifayile
-open_file_label=Vula
-print.title=Printa
-print_label=Printa
-download.title=Khuphela
-download_label=Khuphela
-bookmark.title=Imbonakalo ekhoyo (kopa okanye vula kwifestile entsha)
-bookmark_label=Imbonakalo ekhoyo
-
-# Secondary toolbar and context menu
-tools.title=Izixhobo zemiyalelo
-tools_label=Izixhobo zemiyalelo
-first_page.title=Yiya kwiphepha lokuqala
-first_page_label=Yiya kwiphepha lokuqala
-last_page.title=Yiya kwiphepha lokugqibela
-last_page_label=Yiya kwiphepha lokugqibela
-page_rotate_cw.title=Jikelisa ngasekunene
-page_rotate_cw_label=Jikelisa ngasekunene
-page_rotate_ccw.title=Jikelisa ngasekhohlo
-page_rotate_ccw_label=Jikelisa ngasekhohlo
-
-cursor_text_select_tool.title=Vumela iSixhobo sokuKhetha iTeksti
-cursor_text_select_tool_label=ISixhobo sokuKhetha iTeksti
-cursor_hand_tool.title=Yenza iSixhobo seSandla siSebenze
-cursor_hand_tool_label=ISixhobo seSandla
-
-# Document properties dialog box
-document_properties.title=Iipropati zoxwebhu…
-document_properties_label=Iipropati zoxwebhu…
-document_properties_file_name=Igama lefayile:
-document_properties_file_size=Isayizi yefayile:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB (iibhayiti{{size_b}})
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB (iibhayithi{{size_b}})
-document_properties_title=Umxholo:
-document_properties_author=Umbhali:
-document_properties_subject=Umbandela:
-document_properties_keywords=Amagama aphambili:
-document_properties_creation_date=Umhla wokwenziwa kwayo:
-document_properties_modification_date=Umhla wokulungiswa kwayo:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Umntu oyenzileyo:
-document_properties_producer=Umvelisi we-PDF:
-document_properties_version=Uhlelo lwe-PDF:
-document_properties_page_count=Inani lamaphepha:
-document_properties_close=Vala
-
-print_progress_message=Ilungisa uxwebhu ukuze iprinte…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Rhoxisa
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Togola ngebha eseCaleni
-toggle_sidebar_label=Togola ngebha eseCaleni
-document_outline.title=Bonisa uLwandlalo loXwebhu (cofa kabini ukuze wandise/diliza zonke izinto)
-document_outline_label=Isishwankathelo soxwebhu
-attachments.title=Bonisa iziqhotyoshelwa
-attachments_label=Iziqhoboshelo
-thumbs.title=Bonisa ukrobiso kumfanekiso
-thumbs_label=Ukrobiso kumfanekiso
-findbar.title=Fumana kuXwebhu
-findbar_label=Fumana
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Iphepha {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Ukrobiso kumfanekiso wephepha {{page}}
-
-# Find panel button title and messages
-find_input.title=Fumana
-find_input.placeholder=Fumana kuXwebhu…
-find_previous.title=Fumanisa isenzeko sangaphambili sebinzana lamagama
-find_previous_label=Okwangaphambili
-find_next.title=Fumanisa isenzeko esilandelayo sebinzana lamagama
-find_next_label=Okulandelayo
-find_highlight=Qaqambisa konke
-find_match_case_label=Tshatisa ngobukhulu bukanobumba
-find_reached_top=Ufike ngaphezulu ephepheni, kusukwa ngezantsi
-find_reached_bottom=Ufike ekupheleni kwephepha, kusukwa ngaphezulu
-find_not_found=Ibinzana alifunyenwanga
-
-# Error panel labels
-error_more_info=Inkcazelo Engakumbi
-error_less_info=Inkcazelo Encinane
-error_close=Vala
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=I-PDF.js v{{version}} (yakha: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Umyalezo: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Imfumba: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Ifayile: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Umgca: {{line}}
-rendering_error=Imposiso yenzekile xa bekunikezelwa iphepha.
-
-# Predefined zoom values
-page_scale_width=Ububanzi bephepha
-page_scale_fit=Ukulinganiswa kwephepha
-page_scale_auto=Ukwandisa/Ukunciphisa Ngokwayo
-page_scale_actual=Ubungakanani bokwenene
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-loading_error=Imposiso yenzekile xa kulayishwa i-PDF.
-invalid_file_error=Ifayile ye-PDF engeyiyo okanye eyonakalisiweyo.
-missing_file_error=Ifayile ye-PDF edukileyo.
-unexpected_response_error=Impendulo yeseva engalindelekanga.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Ubhalo-nqaku]
-password_label=Faka ipasiwedi ukuze uvule le fayile yePDF.
-password_invalid=Ipasiwedi ayisebenzi. Nceda uzame kwakhona.
-password_ok=KULUNGILE
-password_cancel=Rhoxisa
-
-printing_not_supported=Isilumkiso: Ukuprinta akuxhaswa ngokupheleleyo yile bhrawuza.
-printing_not_ready=Isilumkiso: IPDF ayihlohlwanga ngokupheleleyo ukwenzela ukuprinta.
-web_fonts_disabled=Iifonti zewebhu ziqhwalelisiwe: ayikwazi ukusebenzisa iifonti ze-PDF ezincanyathelisiweyo.
diff --git a/static/js/pdf-js/web/locale/zh-CN/viewer.properties b/static/js/pdf-js/web/locale/zh-CN/viewer.properties
deleted file mode 100644
index 5a33d65..0000000
--- a/static/js/pdf-js/web/locale/zh-CN/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=上一页
-previous_label=上一页
-next.title=下一页
-next_label=下一页
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=页é¢
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=/ {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} / {{pagesCount}})
-
-zoom_out.title=缩å°
-zoom_out_label=缩å°
-zoom_in.title=放大
-zoom_in_label=放大
-zoom.title=缩放
-presentation_mode.title=切æ¢åˆ°æ¼”示模å¼
-presentation_mode_label=演示模å¼
-open_file.title=打开文件
-open_file_label=打开
-print.title=打å°
-print_label=打å°
-download.title=下载
-download_label=下载
-bookmark.title=当å‰åœ¨çœ‹çš„内容(å¤åˆ¶æˆ–在新窗å£ä¸æ‰“开)
-bookmark_label=当å‰åœ¨çœ‹
-
-# Secondary toolbar and context menu
-tools.title=工具
-tools_label=工具
-first_page.title=转到第一页
-first_page_label=转到第一页
-last_page.title=转到最åŽä¸€é¡µ
-last_page_label=转到最åŽä¸€é¡µ
-page_rotate_cw.title=顺时针旋转
-page_rotate_cw_label=顺时针旋转
-page_rotate_ccw.title=逆时针旋转
-page_rotate_ccw_label=逆时针旋转
-
-cursor_text_select_tool.title=å¯ç”¨æ–‡æœ¬é€‰æ‹©å·¥å…·
-cursor_text_select_tool_label=文本选择工具
-cursor_hand_tool.title=å¯ç”¨æ‰‹å½¢å·¥å…·
-cursor_hand_tool_label=手形工具
-
-scroll_page.title=ä½¿ç”¨é¡µé¢æ»šåЍ
-scroll_page_label=页颿»šåЍ
-scroll_vertical.title=使用垂直滚动
-scroll_vertical_label=垂直滚动
-scroll_horizontal.title=使用水平滚动
-scroll_horizontal_label=水平滚动
-scroll_wrapped.title=使用平铺滚动
-scroll_wrapped_label=平铺滚动
-
-spread_none.title=ä¸åŠ å…¥è¡”æŽ¥é¡µ
-spread_none_label=å•页视图
-spread_odd.title=åŠ å…¥è¡”æŽ¥é¡µä½¿å¥‡æ•°é¡µä½œä¸ºèµ·å§‹é¡µ
-spread_odd_label=åŒé¡µè§†å›¾
-spread_even.title=åŠ å…¥è¡”æŽ¥é¡µä½¿å¶æ•°é¡µä½œä¸ºèµ·å§‹é¡µ
-spread_even_label=书ç±è§†å›¾
-
-# Document properties dialog box
-document_properties.title=文档属性…
-document_properties_label=文档属性…
-document_properties_file_name=文件å:
-document_properties_file_size=文件大å°:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} å—节)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} å—节)
-document_properties_title=æ ‡é¢˜:
-document_properties_author=作者:
-document_properties_subject=主题:
-document_properties_keywords=关键è¯:
-document_properties_creation_date=创建日期:
-document_properties_modification_date=修改日期:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=创建者:
-document_properties_producer=PDF 生æˆå™¨ï¼š
-document_properties_version=PDF 版本:
-document_properties_page_count=页数:
-document_properties_page_size=页é¢å¤§å°ï¼š
-document_properties_page_size_unit_inches=英寸
-document_properties_page_size_unit_millimeters=毫米
-document_properties_page_size_orientation_portrait=纵å‘
-document_properties_page_size_orientation_landscape=横å‘
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=文本
-document_properties_page_size_name_legal=法律
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}}({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}}({{name}},{{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=快速 Web 视图:
-document_properties_linearized_yes=是
-document_properties_linearized_no=å¦
-document_properties_close=å…³é—
-
-print_progress_message=æ£åœ¨å‡†å¤‡æ‰“å°æ–‡æ¡£â€¦
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=å–æ¶ˆ
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=切æ¢ä¾§æ
-toggle_sidebar_notification2.title=切æ¢ä¾§æ (文档所å«çš„大纲/附件/图层)
-toggle_sidebar_label=切æ¢ä¾§æ
-document_outline.title=显示文档大纲(åŒå‡»å±•å¼€/æŠ˜å æ‰€æœ‰é¡¹ï¼‰
-document_outline_label=文档大纲
-attachments.title=显示附件
-attachments_label=附件
-layers.title=显示图层(åŒå‡»å³å¯å°†æ‰€æœ‰å›¾å±‚é‡ç½®ä¸ºé»˜è®¤çжæ€ï¼‰
-layers_label=图层
-thumbs.title=显示缩略图
-thumbs_label=缩略图
-current_outline_item.title=查找当å‰å¤§çº²é¡¹ç›®
-current_outline_item_label=当å‰å¤§çº²é¡¹ç›®
-findbar.title=åœ¨æ–‡æ¡£ä¸æŸ¥æ‰¾
-findbar_label=查找
-
-additional_layers=其他图层
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=第 {{page}} 页
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=第 {{page}} 页
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=é¡µé¢ {{page}} 的缩略图
-
-# Find panel button title and messages
-find_input.title=查找
-find_input.placeholder=åœ¨æ–‡æ¡£ä¸æŸ¥æ‰¾â€¦
-find_previous.title=查找è¯è¯ä¸Šä¸€æ¬¡å‡ºçŽ°çš„ä½ç½®
-find_previous_label=上一页
-find_next.title=查找è¯è¯åŽä¸€æ¬¡å‡ºçŽ°çš„ä½ç½®
-find_next_label=下一页
-find_highlight=全部高亮显示
-find_match_case_label=区分大å°å†™
-find_match_diacritics_label=匹é…å˜éŸ³ç¬¦å·
-find_entire_word_label=å—è¯åŒ¹é…
-find_reached_top=到达文档开头,从末尾继ç»
-find_reached_bottom=到达文档末尾,从开头继ç»
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]=第 {{current}} é¡¹ï¼Œå…±åŒ¹é… {{total}} 项
-find_match_count[two]=第 {{current}} é¡¹ï¼Œå…±åŒ¹é… {{total}} 项
-find_match_count[few]=第 {{current}} é¡¹ï¼Œå…±åŒ¹é… {{total}} 项
-find_match_count[many]=第 {{current}} é¡¹ï¼Œå…±åŒ¹é… {{total}} 项
-find_match_count[other]=第 {{current}} é¡¹ï¼Œå…±åŒ¹é… {{total}} 项
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=超过 {{limit}} 项匹é…
-find_match_count_limit[one]=超过 {{limit}} 项匹é…
-find_match_count_limit[two]=超过 {{limit}} 项匹é…
-find_match_count_limit[few]=超过 {{limit}} 项匹é…
-find_match_count_limit[many]=超过 {{limit}} 项匹é…
-find_match_count_limit[other]=超过 {{limit}} 项匹é…
-find_not_found=找ä¸åˆ°æŒ‡å®šè¯è¯
-
-# Error panel labels
-error_more_info=更多信æ¯
-error_less_info=æ›´å°‘ä¿¡æ¯
-error_close=å…³é—
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=ä¿¡æ¯ï¼š{{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=å †æ ˆï¼š{{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=文件:{{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=行å·ï¼š{{line}}
-rendering_error=æ¸²æŸ“é¡µé¢æ—¶å‘生错误。
-
-# Predefined zoom values
-page_scale_width=适åˆé¡µå®½
-page_scale_fit=适åˆé¡µé¢
-page_scale_auto=自动缩放
-page_scale_actual=实际大å°
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=æ£åœ¨è½½å…¥â€¦
-loading_error=载入 PDF æ—¶å‘生错误。
-invalid_file_error=æ— æ•ˆæˆ–æŸåçš„ PDF 文件。
-missing_file_error=缺少 PDF 文件。
-unexpected_response_error=æ„外的æœåС噍å“应。
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}},{{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} 注释]
-password_label=输入密ç ä»¥æ‰“å¼€æ¤ PDF 文件。
-password_invalid=å¯†ç æ— 效。请é‡è¯•。
-password_ok=确定
-password_cancel=å–æ¶ˆ
-
-printing_not_supported=è¦å‘Šï¼šæ¤æµè§ˆå™¨å°šæœªå®Œæ•´æ”¯æŒæ‰“å°åŠŸèƒ½ã€‚
-printing_not_ready=è¦å‘Šï¼šæ¤ PDF 未完æˆè½½å…¥ï¼Œæ— 法打å°ã€‚
-web_fonts_disabled=Web å—体已被ç¦ç”¨ï¼šæ— 法使用嵌入的 PDF å—体。
-
-# Editor
-editor_none.title=ç¦ç”¨ç¼–辑注释
-editor_none_label=ç¦ç”¨ç¼–辑
-editor_free_text.title=æ·»åŠ æ–‡æœ¬æ³¨é‡Š
-editor_free_text_label=文本注释
-editor_ink.title=æ·»åŠ å¢¨è¿¹æ³¨é‡Š
-editor_ink_label=墨迹注释
-
-freetext_default_content=输入一段文本…
-
-free_text_default_content=输入文本…
-
-# Editor Parameters
-editor_free_text_font_color=å—体颜色
-editor_free_text_font_size=å—体大å°
-editor_ink_line_color=线æ¡é¢œè‰²
-editor_ink_line_thickness=线æ¡ç²—细
-
-# Editor Parameters
-editor_free_text_color=颜色
-editor_free_text_size=å—å·
-editor_ink_color=颜色
-editor_ink_thickness=粗细
-editor_ink_opacity=ä¸é€æ˜Žåº¦
-
-# Editor aria
-editor_free_text_aria_label=文本编辑器
-editor_ink_aria_label=墨迹编辑器
-editor_ink_canvas_aria_label=用户创建图åƒ
diff --git a/static/js/pdf-js/web/locale/zh-TW/viewer.properties b/static/js/pdf-js/web/locale/zh-TW/viewer.properties
deleted file mode 100644
index b673653..0000000
--- a/static/js/pdf-js/web/locale/zh-TW/viewer.properties
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=上一é
-previous_label=上一é
-next.title=下一é
-next_label=下一é
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=第
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=é ,共 {{pagesCount}} é
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=(第 {{pageNumber}} é ,共 {{pagesCount}} é )
-
-zoom_out.title=縮å°
-zoom_out_label=縮å°
-zoom_in.title=放大
-zoom_in_label=放大
-zoom.title=縮放
-presentation_mode.title=切æ›è‡³ç°¡å ±æ¨¡å¼
-presentation_mode_label=ç°¡å ±æ¨¡å¼
-open_file.title=開啟檔案
-open_file_label=開啟
-print.title=列å°
-print_label=列å°
-download.title=下載
-download_label=下載
-bookmark.title=ç›®å‰ç•«é¢ï¼ˆè¤‡è£½æˆ–開啟於新視窗)
-bookmark_label=ç›®å‰æª¢è¦–
-
-# Secondary toolbar and context menu
-tools.title=工具
-tools_label=工具
-first_page.title=跳到第一é
-first_page_label=跳到第一é
-last_page.title=跳到最後一é
-last_page_label=跳到最後一é
-page_rotate_cw.title=é †æ™‚é‡æ—‹è½‰
-page_rotate_cw_label=é †æ™‚é‡æ—‹è½‰
-page_rotate_ccw.title=é€†æ™‚é‡æ—‹è½‰
-page_rotate_ccw_label=é€†æ™‚é‡æ—‹è½‰
-
-cursor_text_select_tool.title=開啟文å—鏿“‡å·¥å…·
-cursor_text_select_tool_label=æ–‡å—鏿“‡å·¥å…·
-cursor_hand_tool.title=開啟é é¢ç§»å‹•工具
-cursor_hand_tool_label=é é¢ç§»å‹•工具
-
-scroll_page.title=使用é 颿²å‹•功能
-scroll_page_label=é 颿²å‹•功能
-scroll_vertical.title=使用垂直æ²å‹•版é¢
-scroll_vertical_label=垂直æ²å‹•
-scroll_horizontal.title=使用水平æ²å‹•版é¢
-scroll_horizontal_label=æ°´å¹³æ²å‹•
-scroll_wrapped.title=ä½¿ç”¨å¤šé æ²å‹•版é¢
-scroll_wrapped_label=å¤šé æ²å‹•
-
-spread_none.title=ä¸è¦é€²è¡Œè·¨é 顯示
-spread_none_label=ä¸è·¨é
-spread_odd.title=從奇數é é–‹å§‹è·¨é
-spread_odd_label=奇數跨é
-spread_even.title=å¾žå¶æ•¸é é–‹å§‹è·¨é
-spread_even_label=å¶æ•¸è·¨é
-
-# Document properties dialog box
-document_properties.title=文件內容…
-document_properties_label=文件內容…
-document_properties_file_name=檔案å稱:
-document_properties_file_size=檔案大å°:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB({{size_b}} ä½å…ƒçµ„)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB({{size_b}} ä½å…ƒçµ„)
-document_properties_title=標題:
-document_properties_author=作者:
-document_properties_subject=主旨:
-document_properties_keywords=é—œéµå—:
-document_properties_creation_date=建立日期:
-document_properties_modification_date=修改日期:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}} {{time}}
-document_properties_creator=建立者:
-document_properties_producer=PDF 產生器:
-document_properties_version=PDF 版本:
-document_properties_page_count=é æ•¸:
-document_properties_page_size=é é¢å¤§å°:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=垂直
-document_properties_page_size_orientation_landscape=æ°´å¹³
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}}({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}}({{name}},{{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=快速 Web 檢視:
-document_properties_linearized_yes=是
-document_properties_linearized_no=å¦
-document_properties_close=關閉
-
-print_progress_message=æ£åœ¨æº–å‚™åˆ—å°æ–‡ä»¶â€¦
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=å–æ¶ˆ
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=切æ›å´é‚Šæ¬„
-toggle_sidebar_notification2.title=切æ›å´é‚Šæ¬„(包å«å¤§ç¶±ã€é™„ä»¶ã€åœ–層的文件)
-toggle_sidebar_label=切æ›å´é‚Šæ¬„
-document_outline.title=顯示文件大綱(雙擊展開/æ‘ºç–Šæ‰€æœ‰é …ç›®ï¼‰
-document_outline_label=文件大綱
-attachments.title=顯示附件
-attachments_label=附件
-layers.title=é¡¯ç¤ºåœ–å±¤ï¼ˆæ»‘é¼ é›™æ“Šå³å¯å°‡æ‰€æœ‰åœ–層é‡è¨ç‚ºé è¨ç‹€æ…‹ï¼‰
-layers_label=圖層
-thumbs.title=顯示縮圖
-thumbs_label=縮圖
-current_outline_item.title=尋找目å‰çš„å¤§ç¶±é …ç›®
-current_outline_item_label=ç›®å‰çš„å¤§ç¶±é …ç›®
-findbar.title=在文件ä¸å°‹æ‰¾
-findbar_label=尋找
-
-additional_layers=其他圖層
-# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
-page_landmark=第 {{page}} é
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=第 {{page}} é
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=é {{page}} 的縮圖
-
-# Find panel button title and messages
-find_input.title=尋找
-find_input.placeholder=åœ¨æ–‡ä»¶ä¸æœå°‹â€¦
-find_previous.title=尋找文å—剿¬¡å‡ºç¾çš„ä½ç½®
-find_previous_label=上一個
-find_next.title=尋找文å—下次出ç¾çš„ä½ç½®
-find_next_label=下一個
-find_highlight=全部強調標示
-find_match_case_label=å€åˆ†å¤§å°å¯«
-find_match_diacritics_label=符åˆè®ŠéŸ³ç¬¦è™Ÿ
-find_entire_word_label=ç¬¦åˆæ•´å€‹å—
-find_reached_top=å·²æœå°‹è‡³æ–‡ä»¶é ‚端,自底端繼續æœå°‹
-find_reached_bottom=å·²æœå°‹è‡³æ–‡ä»¶åº•ç«¯ï¼Œè‡ªé ‚ç«¯ç¹¼çºŒæœå°‹
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]=第 {{current}} ç†ï¼Œå…±æ‰¾åˆ° {{total}} ç†
-find_match_count[two]=第 {{current}} ç†ï¼Œå…±æ‰¾åˆ° {{total}} ç†
-find_match_count[few]=第 {{current}} ç†ï¼Œå…±æ‰¾åˆ° {{total}} ç†
-find_match_count[many]=第 {{current}} ç†ï¼Œå…±æ‰¾åˆ° {{total}} ç†
-find_match_count[other]=第 {{current}} ç†ï¼Œå…±æ‰¾åˆ° {{total}} ç†
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=æ‰¾åˆ°è¶…éŽ {{limit}} ç†
-find_match_count_limit[one]=æ‰¾åˆ°è¶…éŽ {{limit}} ç†
-find_match_count_limit[two]=æ‰¾åˆ°è¶…éŽ {{limit}} ç†
-find_match_count_limit[few]=æ‰¾åˆ°è¶…éŽ {{limit}} ç†
-find_match_count_limit[many]=æ‰¾åˆ°è¶…éŽ {{limit}} ç†
-find_match_count_limit[other]=æ‰¾åˆ°è¶…éŽ {{limit}} ç†
-find_not_found=找ä¸åˆ°æŒ‡å®šæ–‡å—
-
-# Error panel labels
-error_more_info=更多資訊
-error_less_info=更少資訊
-error_close=關閉
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=訊æ¯: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=å †ç–Š: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=檔案: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=行: {{line}}
-rendering_error=æç¹ªé 颿™‚發生錯誤。
-
-# Predefined zoom values
-page_scale_width=é é¢å¯¬åº¦
-page_scale_fit=縮放至é é¢å¤§å°
-page_scale_auto=自動縮放
-page_scale_actual=實際大å°
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading=載入ä¸â€¦
-loading_error=載入 PDF 時發生錯誤。
-invalid_file_error=無效或毀æçš„ PDF 檔案。
-missing_file_error=找ä¸åˆ° PDF 檔案。
-unexpected_response_error=伺æœå™¨å›žæ‡‰æœªé 期的內容。
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}} {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} 註解]
-password_label=è«‹è¼¸å…¥ç”¨ä¾†é–‹å•Ÿæ¤ PDF 檔案的密碼。
-password_invalid=å¯†ç¢¼ä¸æ£ç¢ºï¼Œè«‹å†è©¦ä¸€æ¬¡ã€‚
-password_ok=確定
-password_cancel=å–æ¶ˆ
-
-printing_not_supported=è¦å‘Š: æ¤ç€è¦½å™¨æœªå®Œæ•´æ”¯æ´åˆ—å°åŠŸèƒ½ã€‚
-printing_not_ready=è¦å‘Š: æ¤ PDF 未完æˆä¸‹è¼‰ä»¥ä¾›åˆ—å°ã€‚
-web_fonts_disabled=å·²åœç”¨ç¶²è·¯å—åž‹ (Web fonts): 無法使用 PDF 內嵌å—型。
-
-# Editor
-editor_none.title=åœç”¨ç·¨è¼¯æ³¨é‡‹
-editor_none_label=åœç”¨ç·¨è¼¯
-editor_free_text.title=æ–°å¢žæ–‡å—æ³¨é‡‹
-editor_free_text_label=æ–‡å—æ³¨é‡‹
-editor_ink.title=新增圖形注釋
-editor_ink_label=圖形注釋
-
-freetext_default_content=輸入一些文å—…
-
-free_text_default_content=請輸入文å—…
-
-# Editor Parameters
-editor_free_text_font_color=å—åž‹é¡è‰²
-editor_free_text_font_size=å—型大å°
-editor_ink_line_color=ç·šæ¢è‰²å½©
-editor_ink_line_thickness=ç·šæ¢ç²—ç´°
-
-# Editor Parameters
-editor_free_text_color=色彩
-editor_free_text_size=大å°
-editor_ink_color=色彩
-editor_ink_thickness=ç·šæ¢ç²—ç´°
-editor_ink_opacity=é€â€‹æ˜Žåº¦
-
-# Editor aria
-editor_free_text_aria_label=FreeText 編輯器
-editor_ink_aria_label=ç†è·¡ç·¨è¼¯å™¨
-editor_ink_canvas_aria_label=使用者建立的圖片
diff --git a/static/js/pdf-js/web/standard_fonts/FoxitDingbats.pfb b/static/js/pdf-js/web/standard_fonts/FoxitDingbats.pfb
deleted file mode 100644
index 30d5296..0000000
Binary files a/static/js/pdf-js/web/standard_fonts/FoxitDingbats.pfb and /dev/null differ
diff --git a/static/js/pdf-js/web/standard_fonts/FoxitFixed.pfb b/static/js/pdf-js/web/standard_fonts/FoxitFixed.pfb
deleted file mode 100644
index f12dcbc..0000000
Binary files a/static/js/pdf-js/web/standard_fonts/FoxitFixed.pfb and /dev/null differ
diff --git a/static/js/pdf-js/web/standard_fonts/FoxitFixedBold.pfb b/static/js/pdf-js/web/standard_fonts/FoxitFixedBold.pfb
deleted file mode 100644
index cf8e24a..0000000
Binary files a/static/js/pdf-js/web/standard_fonts/FoxitFixedBold.pfb and /dev/null differ
diff --git a/static/js/pdf-js/web/standard_fonts/FoxitFixedBoldItalic.pfb b/static/js/pdf-js/web/standard_fonts/FoxitFixedBoldItalic.pfb
deleted file mode 100644
index d288001..0000000
Binary files a/static/js/pdf-js/web/standard_fonts/FoxitFixedBoldItalic.pfb and /dev/null differ
diff --git a/static/js/pdf-js/web/standard_fonts/FoxitFixedItalic.pfb b/static/js/pdf-js/web/standard_fonts/FoxitFixedItalic.pfb
deleted file mode 100644
index d71697d..0000000
Binary files a/static/js/pdf-js/web/standard_fonts/FoxitFixedItalic.pfb and /dev/null differ
diff --git a/static/js/pdf-js/web/standard_fonts/FoxitSans.pfb b/static/js/pdf-js/web/standard_fonts/FoxitSans.pfb
deleted file mode 100644
index 37f244b..0000000
Binary files a/static/js/pdf-js/web/standard_fonts/FoxitSans.pfb and /dev/null differ
diff --git a/static/js/pdf-js/web/standard_fonts/FoxitSansBold.pfb b/static/js/pdf-js/web/standard_fonts/FoxitSansBold.pfb
deleted file mode 100644
index affcf31..0000000
Binary files a/static/js/pdf-js/web/standard_fonts/FoxitSansBold.pfb and /dev/null differ
diff --git a/static/js/pdf-js/web/standard_fonts/FoxitSansBoldItalic.pfb b/static/js/pdf-js/web/standard_fonts/FoxitSansBoldItalic.pfb
deleted file mode 100644
index e1f60b7..0000000
Binary files a/static/js/pdf-js/web/standard_fonts/FoxitSansBoldItalic.pfb and /dev/null differ
diff --git a/static/js/pdf-js/web/standard_fonts/FoxitSansItalic.pfb b/static/js/pdf-js/web/standard_fonts/FoxitSansItalic.pfb
deleted file mode 100644
index c04b0a5..0000000
Binary files a/static/js/pdf-js/web/standard_fonts/FoxitSansItalic.pfb and /dev/null differ
diff --git a/static/js/pdf-js/web/standard_fonts/FoxitSerif.pfb b/static/js/pdf-js/web/standard_fonts/FoxitSerif.pfb
deleted file mode 100644
index 3fa682e..0000000
Binary files a/static/js/pdf-js/web/standard_fonts/FoxitSerif.pfb and /dev/null differ
diff --git a/static/js/pdf-js/web/standard_fonts/FoxitSerifBold.pfb b/static/js/pdf-js/web/standard_fonts/FoxitSerifBold.pfb
deleted file mode 100644
index ff7c6dd..0000000
Binary files a/static/js/pdf-js/web/standard_fonts/FoxitSerifBold.pfb and /dev/null differ
diff --git a/static/js/pdf-js/web/standard_fonts/FoxitSerifBoldItalic.pfb b/static/js/pdf-js/web/standard_fonts/FoxitSerifBoldItalic.pfb
deleted file mode 100644
index 460231f..0000000
Binary files a/static/js/pdf-js/web/standard_fonts/FoxitSerifBoldItalic.pfb and /dev/null differ
diff --git a/static/js/pdf-js/web/standard_fonts/FoxitSerifItalic.pfb b/static/js/pdf-js/web/standard_fonts/FoxitSerifItalic.pfb
deleted file mode 100644
index d03a7c7..0000000
Binary files a/static/js/pdf-js/web/standard_fonts/FoxitSerifItalic.pfb and /dev/null differ
diff --git a/static/js/pdf-js/web/standard_fonts/FoxitSymbol.pfb b/static/js/pdf-js/web/standard_fonts/FoxitSymbol.pfb
deleted file mode 100644
index c8f9bca..0000000
Binary files a/static/js/pdf-js/web/standard_fonts/FoxitSymbol.pfb and /dev/null differ
diff --git a/static/js/pdf-js/web/standard_fonts/LICENSE_FOXIT b/static/js/pdf-js/web/standard_fonts/LICENSE_FOXIT
deleted file mode 100644
index 8b4ed6d..0000000
--- a/static/js/pdf-js/web/standard_fonts/LICENSE_FOXIT
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2014 PDFium Authors. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/static/js/pdf-js/web/standard_fonts/LICENSE_LIBERATION b/static/js/pdf-js/web/standard_fonts/LICENSE_LIBERATION
deleted file mode 100644
index aba73e8..0000000
--- a/static/js/pdf-js/web/standard_fonts/LICENSE_LIBERATION
+++ /dev/null
@@ -1,102 +0,0 @@
-Digitized data copyright (c) 2010 Google Corporation
- with Reserved Font Arimo, Tinos and Cousine.
-Copyright (c) 2012 Red Hat, Inc.
- with Reserved Font Name Liberation.
-
-This Font Software is licensed under the SIL Open Font License,
-Version 1.1.
-
-This license is copied below, and is also available with a FAQ at:
-http://scripts.sil.org/OFL
-
-SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-
-PREAMBLE The goals of the Open Font License (OFL) are to stimulate
-worldwide development of collaborative font projects, to support the font
-creation efforts of academic and linguistic communities, and to provide
-a free and open framework in which fonts may be shared and improved in
-partnership with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and
-redistributed freely as long as they are not sold by themselves.
-The fonts, including any derivative works, can be bundled, embedded,
-redistributed and/or sold with any software provided that any reserved
-names are not used by derivative works. The fonts and derivatives,
-however, cannot be released under any other type of license. The
-requirement for fonts to remain under this license does not apply to
-any document created using the fonts or their derivatives.
-
-
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright
-Holder(s) under this license and clearly marked as such.
-This may include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the
-copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components
-as distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting,
-or substituting ? in part or in whole ?
-any of the components of the Original Version, by changing formats or
-by porting the Font Software to a new environment.
-
-"Author" refers to any designer, engineer, programmer, technical writer
-or other person who contributed to the Font Software.
-
-
-PERMISSION & CONDITIONS
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of the Font Software, to use, study, copy, merge, embed, modify,
-redistribute, and sell modified and unmodified copies of the Font
-Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components,in
- Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled,
- redistributed and/or sold with any software, provided that each copy
- contains the above copyright notice and this license. These can be
- included either as stand-alone text files, human-readable headers or
- in the appropriate machine-readable metadata fields within text or
- binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font
- Name(s) unless explicit written permission is granted by the
- corresponding Copyright Holder. This restriction only applies to the
- primary font name as presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
- Software shall not be used to promote, endorse or advertise any
- Modified Version, except to acknowledge the contribution(s) of the
- Copyright Holder(s) and the Author(s) or with their explicit written
- permission.
-
-5) The Font Software, modified or unmodified, in part or in whole, must
- be distributed entirely under this license, and must not be distributed
- under any other license. The requirement for fonts to remain under
- this license does not apply to any document created using the Font
- Software.
-
-
-
-TERMINATION
-This license becomes null and void if any of the above conditions are not met.
-
-
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER
-DEALINGS IN THE FONT SOFTWARE.
-
diff --git a/static/js/pdf-js/web/standard_fonts/LiberationSans-Bold.ttf b/static/js/pdf-js/web/standard_fonts/LiberationSans-Bold.ttf
deleted file mode 100644
index ee23715..0000000
Binary files a/static/js/pdf-js/web/standard_fonts/LiberationSans-Bold.ttf and /dev/null differ
diff --git a/static/js/pdf-js/web/standard_fonts/LiberationSans-BoldItalic.ttf b/static/js/pdf-js/web/standard_fonts/LiberationSans-BoldItalic.ttf
deleted file mode 100644
index 42b5717..0000000
Binary files a/static/js/pdf-js/web/standard_fonts/LiberationSans-BoldItalic.ttf and /dev/null differ
diff --git a/static/js/pdf-js/web/standard_fonts/LiberationSans-Italic.ttf b/static/js/pdf-js/web/standard_fonts/LiberationSans-Italic.ttf
deleted file mode 100644
index 0cf6126..0000000
Binary files a/static/js/pdf-js/web/standard_fonts/LiberationSans-Italic.ttf and /dev/null differ
diff --git a/static/js/pdf-js/web/standard_fonts/LiberationSans-Regular.ttf b/static/js/pdf-js/web/standard_fonts/LiberationSans-Regular.ttf
deleted file mode 100644
index 366d148..0000000
Binary files a/static/js/pdf-js/web/standard_fonts/LiberationSans-Regular.ttf and /dev/null differ
diff --git a/static/js/pdf-js/web/viewer.css b/static/js/pdf-js/web/viewer.css
deleted file mode 100644
index c357a9f..0000000
--- a/static/js/pdf-js/web/viewer.css
+++ /dev/null
@@ -1,3001 +0,0 @@
-/* Copyright 2014 Mozilla Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-.textLayer {
- position: absolute;
- text-align: initial;
- left: 0;
- top: 0;
- right: 0;
- bottom: 0;
- overflow: hidden;
- opacity: 0.2;
- line-height: 1;
- -webkit-text-size-adjust: none;
- -moz-text-size-adjust: none;
- text-size-adjust: none;
- forced-color-adjust: none;
-}
-
-.textLayer span,
-.textLayer br {
- color: transparent;
- position: absolute;
- white-space: pre;
- cursor: text;
- transform-origin: 0% 0%;
-}
-
-/* Only necessary in Google Chrome, see issue 14205, and most unfortunately
- * the problem doesn't show up in "text" reference tests. */
-.textLayer span.markedContent {
- top: 0;
- height: 0;
-}
-
-.textLayer .highlight {
- margin: -1px;
- padding: 1px;
- background-color: rgba(180, 0, 170, 1);
- border-radius: 4px;
-}
-
-.textLayer .highlight.appended {
- position: initial;
-}
-
-.textLayer .highlight.begin {
- border-radius: 4px 0 0 4px;
-}
-
-.textLayer .highlight.end {
- border-radius: 0 4px 4px 0;
-}
-
-.textLayer .highlight.middle {
- border-radius: 0;
-}
-
-.textLayer .highlight.selected {
- background-color: rgba(0, 100, 0, 1);
-}
-
-.textLayer ::-moz-selection {
- background: rgba(0, 0, 255, 1);
-}
-
-.textLayer ::selection {
- background: rgba(0, 0, 255, 1);
-}
-
-/* Avoids https://github.com/mozilla/pdf.js/issues/13840 in Chrome */
-.textLayer br::-moz-selection {
- background: transparent;
-}
-.textLayer br::selection {
- background: transparent;
-}
-
-.textLayer .endOfContent {
- display: block;
- position: absolute;
- left: 0;
- top: 100%;
- right: 0;
- bottom: 0;
- z-index: -1;
- cursor: default;
- -webkit-user-select: none;
- -moz-user-select: none;
- user-select: none;
-}
-
-.textLayer .endOfContent.active {
- top: 0;
-}
-
-
-:root {
- --annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,");
-}
-
-@media (forced-colors: active) {
- .annotationLayer .textWidgetAnnotation input:required,
- .annotationLayer .textWidgetAnnotation textarea:required,
- .annotationLayer .choiceWidgetAnnotation select:required,
- .annotationLayer .buttonWidgetAnnotation.checkBox input:required,
- .annotationLayer .buttonWidgetAnnotation.radioButton input:required {
- outline: 1.5px solid selectedItem;
- }
-}
-
-.annotationLayer {
- position: absolute;
- top: 0;
- left: 0;
- pointer-events: none;
- transform-origin: 0 0;
-}
-
-.annotationLayer section {
- position: absolute;
- text-align: initial;
- pointer-events: auto;
- box-sizing: border-box;
- transform-origin: 0 0;
-}
-
-.annotationLayer .linkAnnotation > a,
-.annotationLayer .buttonWidgetAnnotation.pushButton > a {
- position: absolute;
- font-size: 1em;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
-}
-
-.annotationLayer .buttonWidgetAnnotation.pushButton > canvas {
- width: 100%;
- height: 100%;
-}
-
-.annotationLayer .linkAnnotation > a:hover,
-.annotationLayer .buttonWidgetAnnotation.pushButton > a:hover {
- opacity: 0.2;
- background: rgba(255, 255, 0, 1);
- box-shadow: 0 2px 10px rgba(255, 255, 0, 1);
-}
-
-.annotationLayer .textAnnotation img {
- position: absolute;
- cursor: pointer;
- width: 100%;
- height: 100%;
-}
-
-.annotationLayer .textWidgetAnnotation input,
-.annotationLayer .textWidgetAnnotation textarea,
-.annotationLayer .choiceWidgetAnnotation select,
-.annotationLayer .buttonWidgetAnnotation.checkBox input,
-.annotationLayer .buttonWidgetAnnotation.radioButton input {
- background-image: var(--annotation-unfocused-field-background);
- border: 1px solid transparent;
- box-sizing: border-box;
- font: calc(9px * var(--scale-factor)) sans-serif;
- height: 100%;
- margin: 0;
- vertical-align: top;
- width: 100%;
-}
-
-.annotationLayer .textWidgetAnnotation input:required,
-.annotationLayer .textWidgetAnnotation textarea:required,
-.annotationLayer .choiceWidgetAnnotation select:required,
-.annotationLayer .buttonWidgetAnnotation.checkBox input:required,
-.annotationLayer .buttonWidgetAnnotation.radioButton input:required {
- outline: 1.5px solid red;
-}
-
-.annotationLayer .choiceWidgetAnnotation select option {
- padding: 0;
-}
-
-.annotationLayer .buttonWidgetAnnotation.radioButton input {
- border-radius: 50%;
-}
-
-.annotationLayer .textWidgetAnnotation textarea {
- resize: none;
-}
-
-.annotationLayer .textWidgetAnnotation input[disabled],
-.annotationLayer .textWidgetAnnotation textarea[disabled],
-.annotationLayer .choiceWidgetAnnotation select[disabled],
-.annotationLayer .buttonWidgetAnnotation.checkBox input[disabled],
-.annotationLayer .buttonWidgetAnnotation.radioButton input[disabled] {
- background: none;
- border: 1px solid transparent;
- cursor: not-allowed;
-}
-
-.annotationLayer .textWidgetAnnotation input:hover,
-.annotationLayer .textWidgetAnnotation textarea:hover,
-.annotationLayer .choiceWidgetAnnotation select:hover,
-.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,
-.annotationLayer .buttonWidgetAnnotation.radioButton input:hover {
- border: 1px solid rgba(0, 0, 0, 1);
-}
-
-.annotationLayer .textWidgetAnnotation input:focus,
-.annotationLayer .textWidgetAnnotation textarea:focus,
-.annotationLayer .choiceWidgetAnnotation select:focus {
- background: none;
- border: 1px solid transparent;
-}
-
-.annotationLayer .textWidgetAnnotation input :focus,
-.annotationLayer .textWidgetAnnotation textarea :focus,
-.annotationLayer .choiceWidgetAnnotation select :focus,
-.annotationLayer .buttonWidgetAnnotation.checkBox :focus,
-.annotationLayer .buttonWidgetAnnotation.radioButton :focus {
- background-image: none;
- background-color: transparent;
- outline: auto;
-}
-
-.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,
-.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,
-.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before {
- background-color: CanvasText;
- content: "";
- display: block;
- position: absolute;
-}
-
-.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,
-.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after {
- height: 80%;
- left: 45%;
- width: 1px;
-}
-
-.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before {
- transform: rotate(45deg);
-}
-
-.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after {
- transform: rotate(-45deg);
-}
-
-.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before {
- border-radius: 50%;
- height: 50%;
- left: 30%;
- top: 20%;
- width: 50%;
-}
-
-.annotationLayer .textWidgetAnnotation input.comb {
- font-family: monospace;
- padding-left: 2px;
- padding-right: 0;
-}
-
-.annotationLayer .textWidgetAnnotation input.comb:focus {
- /*
- * Letter spacing is placed on the right side of each character. Hence, the
- * letter spacing of the last character may be placed outside the visible
- * area, causing horizontal scrolling. We avoid this by extending the width
- * when the element has focus and revert this when it loses focus.
- */
- width: 103%;
-}
-
-.annotationLayer .buttonWidgetAnnotation.checkBox input,
-.annotationLayer .buttonWidgetAnnotation.radioButton input {
- -webkit-appearance: none;
- -moz-appearance: none;
- appearance: none;
-}
-
-.annotationLayer .popupTriggerArea {
- height: 100%;
- width: 100%;
-}
-
-.annotationLayer .popupWrapper {
- position: absolute;
- font-size: calc(9px * var(--scale-factor));
- width: 100%;
- min-width: calc(180px * var(--scale-factor));
- pointer-events: none;
-}
-
-.annotationLayer .popup {
- position: absolute;
- max-width: calc(180px * var(--scale-factor));
- background-color: rgba(255, 255, 153, 1);
- box-shadow: 0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor))
- rgba(136, 136, 136, 1);
- border-radius: calc(2px * var(--scale-factor));
- padding: calc(6px * var(--scale-factor));
- margin-left: calc(5px * var(--scale-factor));
- cursor: pointer;
- font: message-box;
- white-space: normal;
- word-wrap: break-word;
- pointer-events: auto;
-}
-
-.annotationLayer .popup > * {
- font-size: calc(9px * var(--scale-factor));
-}
-
-.annotationLayer .popup h1 {
- display: inline-block;
-}
-
-.annotationLayer .popupDate {
- display: inline-block;
- margin-left: calc(5px * var(--scale-factor));
-}
-
-.annotationLayer .popupContent {
- border-top: 1px solid rgba(51, 51, 51, 1);
- margin-top: calc(2px * var(--scale-factor));
- padding-top: calc(2px * var(--scale-factor));
-}
-
-.annotationLayer .richText > * {
- white-space: pre-wrap;
- font-size: calc(9px * var(--scale-factor));
-}
-
-.annotationLayer .highlightAnnotation,
-.annotationLayer .underlineAnnotation,
-.annotationLayer .squigglyAnnotation,
-.annotationLayer .strikeoutAnnotation,
-.annotationLayer .freeTextAnnotation,
-.annotationLayer .lineAnnotation svg line,
-.annotationLayer .squareAnnotation svg rect,
-.annotationLayer .circleAnnotation svg ellipse,
-.annotationLayer .polylineAnnotation svg polyline,
-.annotationLayer .polygonAnnotation svg polygon,
-.annotationLayer .caretAnnotation,
-.annotationLayer .inkAnnotation svg polyline,
-.annotationLayer .stampAnnotation,
-.annotationLayer .fileAttachmentAnnotation {
- cursor: pointer;
-}
-
-.annotationLayer section svg {
- position: absolute;
- width: 100%;
- height: 100%;
-}
-
-.annotationLayer .annotationTextContent {
- position: absolute;
- width: 100%;
- height: 100%;
- opacity: 0;
- color: transparent;
- -webkit-user-select: none;
- -moz-user-select: none;
- user-select: none;
- pointer-events: none;
-}
-
-.annotationLayer .annotationTextContent span {
- width: 100%;
- display: inline-block;
-}
-
-
-:root {
- --xfa-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,");
-}
-
-@media (forced-colors: active) {
- .xfaLayer *:required {
- outline: 1.5px solid selectedItem;
- }
-}
-
-.xfaLayer .highlight {
- margin: -1px;
- padding: 1px;
- background-color: rgba(239, 203, 237, 1);
- border-radius: 4px;
-}
-
-.xfaLayer .highlight.appended {
- position: initial;
-}
-
-.xfaLayer .highlight.begin {
- border-radius: 4px 0 0 4px;
-}
-
-.xfaLayer .highlight.end {
- border-radius: 0 4px 4px 0;
-}
-
-.xfaLayer .highlight.middle {
- border-radius: 0;
-}
-
-.xfaLayer .highlight.selected {
- background-color: rgba(203, 223, 203, 1);
-}
-
-.xfaLayer ::-moz-selection {
- background: rgba(0, 0, 255, 1);
-}
-
-.xfaLayer ::selection {
- background: rgba(0, 0, 255, 1);
-}
-
-.xfaPage {
- overflow: hidden;
- position: relative;
-}
-
-.xfaContentarea {
- position: absolute;
-}
-
-.xfaPrintOnly {
- display: none;
-}
-
-.xfaLayer {
- position: absolute;
- text-align: initial;
- top: 0;
- left: 0;
- transform-origin: 0 0;
- line-height: 1.2;
-}
-
-.xfaLayer * {
- color: inherit;
- font: inherit;
- font-style: inherit;
- font-weight: inherit;
- font-kerning: inherit;
- letter-spacing: -0.01px;
- text-align: inherit;
- text-decoration: inherit;
- box-sizing: border-box;
- background-color: transparent;
- padding: 0;
- margin: 0;
- pointer-events: auto;
- line-height: inherit;
-}
-
-.xfaLayer *:required {
- outline: 1.5px solid red;
-}
-
-.xfaLayer div {
- pointer-events: none;
-}
-
-.xfaLayer svg {
- pointer-events: none;
-}
-
-.xfaLayer svg * {
- pointer-events: none;
-}
-
-.xfaLayer a {
- color: blue;
-}
-
-.xfaRich li {
- margin-left: 3em;
-}
-
-.xfaFont {
- color: black;
- font-weight: normal;
- font-kerning: none;
- font-size: 10px;
- font-style: normal;
- letter-spacing: 0;
- text-decoration: none;
- vertical-align: 0;
-}
-
-.xfaCaption {
- overflow: hidden;
- flex: 0 0 auto;
-}
-
-.xfaCaptionForCheckButton {
- overflow: hidden;
- flex: 1 1 auto;
-}
-
-.xfaLabel {
- height: 100%;
- width: 100%;
-}
-
-.xfaLeft {
- display: flex;
- flex-direction: row;
- align-items: center;
-}
-
-.xfaRight {
- display: flex;
- flex-direction: row-reverse;
- align-items: center;
-}
-
-.xfaLeft > .xfaCaption,
-.xfaLeft > .xfaCaptionForCheckButton,
-.xfaRight > .xfaCaption,
-.xfaRight > .xfaCaptionForCheckButton {
- max-height: 100%;
-}
-
-.xfaTop {
- display: flex;
- flex-direction: column;
- align-items: flex-start;
-}
-
-.xfaBottom {
- display: flex;
- flex-direction: column-reverse;
- align-items: flex-start;
-}
-
-.xfaTop > .xfaCaption,
-.xfaTop > .xfaCaptionForCheckButton,
-.xfaBottom > .xfaCaption,
-.xfaBottom > .xfaCaptionForCheckButton {
- width: 100%;
-}
-
-.xfaBorder {
- background-color: transparent;
- position: absolute;
- pointer-events: none;
-}
-
-.xfaWrapped {
- width: 100%;
- height: 100%;
-}
-
-.xfaTextfield:focus,
-.xfaSelect:focus {
- background-image: none;
- background-color: transparent;
- outline: auto;
- outline-offset: -1px;
-}
-
-.xfaCheckbox:focus,
-.xfaRadio:focus {
- outline: auto;
-}
-
-.xfaTextfield,
-.xfaSelect {
- height: 100%;
- width: 100%;
- flex: 1 1 auto;
- border: none;
- resize: none;
- background-image: var(--xfa-unfocused-field-background);
-}
-
-.xfaTop > .xfaTextfield,
-.xfaTop > .xfaSelect,
-.xfaBottom > .xfaTextfield,
-.xfaBottom > .xfaSelect {
- flex: 0 1 auto;
-}
-
-.xfaButton {
- cursor: pointer;
- width: 100%;
- height: 100%;
- border: none;
- text-align: center;
-}
-
-.xfaLink {
- width: 100%;
- height: 100%;
- position: absolute;
- top: 0;
- left: 0;
-}
-
-.xfaCheckbox,
-.xfaRadio {
- width: 100%;
- height: 100%;
- flex: 0 0 auto;
- border: none;
-}
-
-.xfaRich {
- white-space: pre-wrap;
- width: 100%;
- height: 100%;
-}
-
-.xfaImage {
- -o-object-position: left top;
- object-position: left top;
- -o-object-fit: contain;
- object-fit: contain;
- width: 100%;
- height: 100%;
-}
-
-.xfaLrTb,
-.xfaRlTb,
-.xfaTb {
- display: flex;
- flex-direction: column;
- align-items: stretch;
-}
-
-.xfaLr {
- display: flex;
- flex-direction: row;
- align-items: stretch;
-}
-
-.xfaRl {
- display: flex;
- flex-direction: row-reverse;
- align-items: stretch;
-}
-
-.xfaTb > div {
- justify-content: left;
-}
-
-.xfaPosition {
- position: relative;
-}
-
-.xfaArea {
- position: relative;
-}
-
-.xfaValignMiddle {
- display: flex;
- align-items: center;
-}
-
-.xfaTable {
- display: flex;
- flex-direction: column;
- align-items: stretch;
-}
-
-.xfaTable .xfaRow {
- display: flex;
- flex-direction: row;
- align-items: stretch;
-}
-
-.xfaTable .xfaRlRow {
- display: flex;
- flex-direction: row-reverse;
- align-items: stretch;
- flex: 1;
-}
-
-.xfaTable .xfaRlRow > div {
- flex: 1;
-}
-
-.xfaNonInteractive input,
-.xfaNonInteractive textarea,
-.xfaDisabled input,
-.xfaDisabled textarea,
-.xfaReadOnly input,
-.xfaReadOnly textarea {
- background: initial;
-}
-
-@media print {
- .xfaTextfield,
- .xfaSelect {
- background: transparent;
- }
-
- .xfaSelect {
- -webkit-appearance: none;
- -moz-appearance: none;
- appearance: none;
- text-indent: 1px;
- text-overflow: "";
- }
-}
-
-
-:root {
- --focus-outline: solid 2px blue;
- --hover-outline: dashed 2px blue;
- --freetext-line-height: 1.35;
- --freetext-padding: 2px;
- --editorInk-editing-cursor: url(images/toolbarButton-editorInk.svg) 0 16;
-}
-
-@media (forced-colors: active) {
- :root {
- --focus-outline: solid 3px ButtonText;
- --hover-outline: dashed 3px ButtonText;
- }
-}
-
-[data-editor-rotation="90"] {
- transform: rotate(90deg);
-}
-[data-editor-rotation="180"] {
- transform: rotate(180deg);
-}
-[data-editor-rotation="270"] {
- transform: rotate(270deg);
-}
-
-.annotationEditorLayer {
- background: transparent;
- position: absolute;
- top: 0;
- left: 0;
- font-size: calc(100px * var(--scale-factor));
- transform-origin: 0 0;
-}
-
-.annotationEditorLayer .selectedEditor {
- outline: var(--focus-outline);
- resize: none;
-}
-
-.annotationEditorLayer .freeTextEditor {
- position: absolute;
- background: transparent;
- border-radius: 3px;
- padding: calc(var(--freetext-padding) * var(--scale-factor));
- resize: none;
- width: auto;
- height: auto;
- z-index: 1;
- transform-origin: 0 0;
- touch-action: none;
-}
-
-.annotationEditorLayer .freeTextEditor .internal {
- background: transparent;
- border: none;
- top: 0;
- left: 0;
- overflow: visible;
- white-space: nowrap;
- resize: none;
- font: 10px sans-serif;
- line-height: var(--freetext-line-height);
-}
-
-.annotationEditorLayer .freeTextEditor .overlay {
- position: absolute;
- display: none;
- background: transparent;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
-}
-
-.annotationEditorLayer .freeTextEditor .overlay.enabled {
- display: block;
-}
-
-.annotationEditorLayer .freeTextEditor .internal:empty::before {
- content: attr(default-content);
- color: gray;
-}
-
-.annotationEditorLayer .freeTextEditor .internal:focus {
- outline: none;
-}
-
-.annotationEditorLayer .inkEditor.disabled {
- resize: none;
-}
-
-.annotationEditorLayer .inkEditor.disabled.selectedEditor {
- resize: horizontal;
-}
-
-.annotationEditorLayer .freeTextEditor:hover:not(.selectedEditor),
-.annotationEditorLayer .inkEditor:hover:not(.selectedEditor) {
- outline: var(--hover-outline);
-}
-
-.annotationEditorLayer .inkEditor {
- position: absolute;
- background: transparent;
- border-radius: 3px;
- overflow: auto;
- width: 100%;
- height: 100%;
- z-index: 1;
- transform-origin: 0 0;
- cursor: auto;
-}
-
-.annotationEditorLayer .inkEditor.editing {
- resize: none;
- cursor: var(--editorInk-editing-cursor), pointer;
-}
-
-.annotationEditorLayer .inkEditor .inkEditorCanvas {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- touch-action: none;
-}
-
-:root {
- --viewer-container-height: 0;
- --pdfViewer-padding-bottom: 0;
- --page-margin: 1px auto -8px;
- --page-border: 9px solid transparent;
- --page-border-image: url(images/shadow.png) 9 9 repeat;
- --spreadHorizontalWrapped-margin-LR: -3.5px;
- --scale-factor: 1;
-}
-
-@media screen and (forced-colors: active) {
- :root {
- --pdfViewer-padding-bottom: 9px;
- --page-margin: 8px auto -1px;
- --page-border: 1px solid CanvasText;
- --page-border-image: none;
- --spreadHorizontalWrapped-margin-LR: 3.5px;
- }
-}
-
-[data-main-rotation="90"] {
- transform: rotate(90deg) translateY(-100%);
-}
-[data-main-rotation="180"] {
- transform: rotate(180deg) translate(-100%, -100%);
-}
-[data-main-rotation="270"] {
- transform: rotate(270deg) translateX(-100%);
-}
-
-.pdfViewer {
- padding-bottom: var(--pdfViewer-padding-bottom);
-}
-
-.pdfViewer .canvasWrapper {
- overflow: hidden;
-}
-
-.pdfViewer .page {
- direction: ltr;
- width: 816px;
- height: 1056px;
- margin: var(--page-margin);
- position: relative;
- overflow: visible;
- border: var(--page-border);
- -o-border-image: var(--page-border-image);
- border-image: var(--page-border-image);
- background-clip: content-box;
- background-color: rgba(255, 255, 255, 1);
-}
-
-.pdfViewer .dummyPage {
- position: relative;
- width: 0;
- height: var(--viewer-container-height);
-}
-
-.pdfViewer.removePageBorders .page {
- margin: 0 auto 10px;
- border: none;
-}
-
-.pdfViewer.singlePageView {
- display: inline-block;
-}
-
-.pdfViewer.singlePageView .page {
- margin: 0;
- border: none;
-}
-
-.pdfViewer.scrollHorizontal,
-.pdfViewer.scrollWrapped,
-.spread {
- margin-left: 3.5px;
- margin-right: 3.5px;
- text-align: center;
-}
-
-.pdfViewer.scrollHorizontal,
-.spread {
- white-space: nowrap;
-}
-
-.pdfViewer.removePageBorders,
-.pdfViewer.scrollHorizontal .spread,
-.pdfViewer.scrollWrapped .spread {
- margin-left: 0;
- margin-right: 0;
-}
-
-.spread .page,
-.spread .dummyPage,
-.pdfViewer.scrollHorizontal .page,
-.pdfViewer.scrollWrapped .page,
-.pdfViewer.scrollHorizontal .spread,
-.pdfViewer.scrollWrapped .spread {
- display: inline-block;
- vertical-align: middle;
-}
-
-.spread .page,
-.pdfViewer.scrollHorizontal .page,
-.pdfViewer.scrollWrapped .page {
- margin-left: var(--spreadHorizontalWrapped-margin-LR);
- margin-right: var(--spreadHorizontalWrapped-margin-LR);
-}
-
-.pdfViewer.removePageBorders .spread .page,
-.pdfViewer.removePageBorders.scrollHorizontal .page,
-.pdfViewer.removePageBorders.scrollWrapped .page {
- margin-left: 5px;
- margin-right: 5px;
-}
-
-.pdfViewer .page canvas {
- margin: 0;
- display: block;
-}
-
-.pdfViewer .page canvas[hidden] {
- display: none;
-}
-
-.pdfViewer .page .loadingIcon {
- position: absolute;
- display: block;
- left: 0;
- top: 0;
- right: 0;
- bottom: 0;
- background: url("images/loading-icon.gif") center no-repeat;
-}
-.pdfViewer .page .loadingIcon.notVisible {
- background: none;
-}
-
-.pdfViewer.enablePermissions .textLayer span {
- -webkit-user-select: none !important;
- -moz-user-select: none !important;
- user-select: none !important;
- cursor: not-allowed;
-}
-
-.pdfPresentationMode .pdfViewer {
- padding-bottom: 0;
-}
-
-.pdfPresentationMode .spread {
- margin: 0;
-}
-
-.pdfPresentationMode .pdfViewer .page {
- margin: 0 auto;
- border: 2px solid transparent;
-}
-
-:root {
- --dir-factor: 1;
- --sidebar-width: 200px;
- --sidebar-transition-duration: 200ms;
- --sidebar-transition-timing-function: ease;
- --scale-select-container-width: 140px;
- --scale-select-overflow: 22px;
-
- --toolbar-icon-opacity: 0.7;
- --doorhanger-icon-opacity: 0.9;
-
- --main-color: rgba(12, 12, 13, 1);
- --body-bg-color: rgba(237, 237, 240, 1);
- --errorWrapper-bg-color: rgba(255, 110, 110, 1);
- --progressBar-percent: 0%;
- --progressBar-end-offset: 0;
- --progressBar-color: rgba(10, 132, 255, 1);
- --progressBar-indeterminate-bg-color: rgba(221, 221, 222, 1);
- --progressBar-indeterminate-blend-color: rgba(116, 177, 239, 1);
- --scrollbar-color: auto;
- --scrollbar-bg-color: auto;
- --toolbar-icon-bg-color: rgba(0, 0, 0, 1);
- --toolbar-icon-hover-bg-color: rgba(0, 0, 0, 1);
-
- --sidebar-narrow-bg-color: rgba(237, 237, 240, 0.9);
- --sidebar-toolbar-bg-color: rgba(245, 246, 247, 1);
- --toolbar-bg-color: rgba(249, 249, 250, 1);
- --toolbar-border-color: rgba(204, 204, 204, 1);
- --button-hover-color: rgba(221, 222, 223, 1);
- --toggled-btn-color: rgba(0, 0, 0, 1);
- --toggled-btn-bg-color: rgba(0, 0, 0, 0.3);
- --toggled-hover-active-btn-color: rgba(0, 0, 0, 0.4);
- --dropdown-btn-bg-color: rgba(215, 215, 219, 1);
- --separator-color: rgba(0, 0, 0, 0.3);
- --field-color: rgba(6, 6, 6, 1);
- --field-bg-color: rgba(255, 255, 255, 1);
- --field-border-color: rgba(187, 187, 188, 1);
- --treeitem-color: rgba(0, 0, 0, 0.8);
- --treeitem-hover-color: rgba(0, 0, 0, 0.9);
- --treeitem-selected-color: rgba(0, 0, 0, 0.9);
- --treeitem-selected-bg-color: rgba(0, 0, 0, 0.25);
- --sidebaritem-bg-color: rgba(0, 0, 0, 0.15);
- --doorhanger-bg-color: rgba(255, 255, 255, 1);
- --doorhanger-border-color: rgba(12, 12, 13, 0.2);
- --doorhanger-hover-color: rgba(12, 12, 13, 1);
- --doorhanger-hover-bg-color: rgba(237, 237, 237, 1);
- --doorhanger-separator-color: rgba(222, 222, 222, 1);
- --dialog-button-border: 0 none;
- --dialog-button-bg-color: rgba(12, 12, 13, 0.1);
- --dialog-button-hover-bg-color: rgba(12, 12, 13, 0.3);
-
- --loading-icon: url(images/loading.svg);
- --treeitem-expanded-icon: url(images/treeitem-expanded.svg);
- --treeitem-collapsed-icon: url(images/treeitem-collapsed.svg);
- --toolbarButton-editorFreeText-icon: url(images/toolbarButton-editorFreeText.svg);
- --toolbarButton-editorInk-icon: url(images/toolbarButton-editorInk.svg);
- --toolbarButton-menuArrow-icon: url(images/toolbarButton-menuArrow.svg);
- --toolbarButton-sidebarToggle-icon: url(images/toolbarButton-sidebarToggle.svg);
- --toolbarButton-secondaryToolbarToggle-icon: url(images/toolbarButton-secondaryToolbarToggle.svg);
- --toolbarButton-pageUp-icon: url(images/toolbarButton-pageUp.svg);
- --toolbarButton-pageDown-icon: url(images/toolbarButton-pageDown.svg);
- --toolbarButton-zoomOut-icon: url(images/toolbarButton-zoomOut.svg);
- --toolbarButton-zoomIn-icon: url(images/toolbarButton-zoomIn.svg);
- --toolbarButton-presentationMode-icon: url(images/toolbarButton-presentationMode.svg);
- --toolbarButton-print-icon: url(images/toolbarButton-print.svg);
- --toolbarButton-openFile-icon: url(images/toolbarButton-openFile.svg);
- --toolbarButton-download-icon: url(images/toolbarButton-download.svg);
- --toolbarButton-bookmark-icon: url(images/toolbarButton-bookmark.svg);
- --toolbarButton-viewThumbnail-icon: url(images/toolbarButton-viewThumbnail.svg);
- --toolbarButton-viewOutline-icon: url(images/toolbarButton-viewOutline.svg);
- --toolbarButton-viewAttachments-icon: url(images/toolbarButton-viewAttachments.svg);
- --toolbarButton-viewLayers-icon: url(images/toolbarButton-viewLayers.svg);
- --toolbarButton-currentOutlineItem-icon: url(images/toolbarButton-currentOutlineItem.svg);
- --toolbarButton-search-icon: url(images/toolbarButton-search.svg);
- --findbarButton-previous-icon: url(images/findbarButton-previous.svg);
- --findbarButton-next-icon: url(images/findbarButton-next.svg);
- --secondaryToolbarButton-firstPage-icon: url(images/secondaryToolbarButton-firstPage.svg);
- --secondaryToolbarButton-lastPage-icon: url(images/secondaryToolbarButton-lastPage.svg);
- --secondaryToolbarButton-rotateCcw-icon: url(images/secondaryToolbarButton-rotateCcw.svg);
- --secondaryToolbarButton-rotateCw-icon: url(images/secondaryToolbarButton-rotateCw.svg);
- --secondaryToolbarButton-selectTool-icon: url(images/secondaryToolbarButton-selectTool.svg);
- --secondaryToolbarButton-handTool-icon: url(images/secondaryToolbarButton-handTool.svg);
- --secondaryToolbarButton-scrollPage-icon: url(images/secondaryToolbarButton-scrollPage.svg);
- --secondaryToolbarButton-scrollVertical-icon: url(images/secondaryToolbarButton-scrollVertical.svg);
- --secondaryToolbarButton-scrollHorizontal-icon: url(images/secondaryToolbarButton-scrollHorizontal.svg);
- --secondaryToolbarButton-scrollWrapped-icon: url(images/secondaryToolbarButton-scrollWrapped.svg);
- --secondaryToolbarButton-spreadNone-icon: url(images/secondaryToolbarButton-spreadNone.svg);
- --secondaryToolbarButton-spreadOdd-icon: url(images/secondaryToolbarButton-spreadOdd.svg);
- --secondaryToolbarButton-spreadEven-icon: url(images/secondaryToolbarButton-spreadEven.svg);
- --secondaryToolbarButton-documentProperties-icon: url(images/secondaryToolbarButton-documentProperties.svg);
-}
-
-[dir="rtl"]:root {
- --dir-factor: -1;
-}
-
-@media (prefers-color-scheme: dark) {
- :root {
- --main-color: rgba(249, 249, 250, 1);
- --body-bg-color: rgba(42, 42, 46, 1);
- --errorWrapper-bg-color: rgba(169, 14, 14, 1);
- --progressBar-color: rgba(0, 96, 223, 1);
- --progressBar-indeterminate-bg-color: rgba(40, 40, 43, 1);
- --progressBar-indeterminate-blend-color: rgba(20, 68, 133, 1);
- --scrollbar-color: rgba(121, 121, 123, 1);
- --scrollbar-bg-color: rgba(35, 35, 39, 1);
- --toolbar-icon-bg-color: rgba(255, 255, 255, 1);
- --toolbar-icon-hover-bg-color: rgba(255, 255, 255, 1);
-
- --sidebar-narrow-bg-color: rgba(42, 42, 46, 0.9);
- --sidebar-toolbar-bg-color: rgba(50, 50, 52, 1);
- --toolbar-bg-color: rgba(56, 56, 61, 1);
- --toolbar-border-color: rgba(12, 12, 13, 1);
- --button-hover-color: rgba(102, 102, 103, 1);
- --toggled-btn-color: rgba(255, 255, 255, 1);
- --toggled-btn-bg-color: rgba(0, 0, 0, 0.3);
- --toggled-hover-active-btn-color: rgba(0, 0, 0, 0.4);
- --dropdown-btn-bg-color: rgba(74, 74, 79, 1);
- --separator-color: rgba(0, 0, 0, 0.3);
- --field-color: rgba(250, 250, 250, 1);
- --field-bg-color: rgba(64, 64, 68, 1);
- --field-border-color: rgba(115, 115, 115, 1);
- --treeitem-color: rgba(255, 255, 255, 0.8);
- --treeitem-hover-color: rgba(255, 255, 255, 0.9);
- --treeitem-selected-color: rgba(255, 255, 255, 0.9);
- --treeitem-selected-bg-color: rgba(255, 255, 255, 0.25);
- --sidebaritem-bg-color: rgba(255, 255, 255, 0.15);
- --doorhanger-bg-color: rgba(74, 74, 79, 1);
- --doorhanger-border-color: rgba(39, 39, 43, 1);
- --doorhanger-hover-color: rgba(249, 249, 250, 1);
- --doorhanger-hover-bg-color: rgba(93, 94, 98, 1);
- --doorhanger-separator-color: rgba(92, 92, 97, 1);
- --dialog-button-bg-color: rgba(92, 92, 97, 1);
- --dialog-button-hover-bg-color: rgba(115, 115, 115, 1);
-
- /* This image is used in elements, which unfortunately means that
- * the `mask-image` approach used with all of the other images doesn't work
- * here; hence why we still have two versions of this particular image. */
- --loading-icon: url(images/loading-dark.svg);
- }
-}
-
-@media screen and (forced-colors: active) {
- :root {
- --button-hover-color: Highlight;
- --doorhanger-hover-bg-color: Highlight;
- --toolbar-icon-opacity: 1;
- --toolbar-icon-bg-color: ButtonText;
- --toolbar-icon-hover-bg-color: ButtonFace;
- --toggled-btn-color: HighlightText;
- --toggled-btn-bg-color: LinkText;
- --doorhanger-hover-color: ButtonFace;
- --doorhanger-border-color-whcm: 1px solid ButtonText;
- --doorhanger-triangle-opacity-whcm: 0;
- --dialog-button-border: 1px solid Highlight;
- --dialog-button-hover-bg-color: Highlight;
- --dialog-button-hover-color: ButtonFace;
- --field-border-color: ButtonText;
- }
-}
-
-* {
- padding: 0;
- margin: 0;
-}
-
-html,
-body {
- height: 100%;
- width: 100%;
-}
-
-body {
- background-color: var(--body-bg-color);
-}
-
-body,
-input,
-button,
-select {
- font: message-box;
- outline: none;
- scrollbar-color: var(--scrollbar-color) var(--scrollbar-bg-color);
-}
-
-.hidden,
-[hidden] {
- display: none !important;
-}
-
-#viewerContainer.pdfPresentationMode:-webkit-full-screen {
- top: 0;
- background-color: rgba(0, 0, 0, 1);
- width: 100%;
- height: 100%;
- overflow: hidden;
- cursor: none;
- -webkit-user-select: none;
- user-select: none;
-}
-
-#viewerContainer.pdfPresentationMode:fullscreen {
- top: 0;
- background-color: rgba(0, 0, 0, 1);
- width: 100%;
- height: 100%;
- overflow: hidden;
- cursor: none;
- -webkit-user-select: none;
- -moz-user-select: none;
- user-select: none;
-}
-
-.pdfPresentationMode:-webkit-full-screen a:not(.internalLink) {
- display: none;
-}
-
-.pdfPresentationMode:fullscreen a:not(.internalLink) {
- display: none;
-}
-
-.pdfPresentationMode:-webkit-full-screen .textLayer span {
- cursor: none;
-}
-
-.pdfPresentationMode:fullscreen .textLayer span {
- cursor: none;
-}
-
-.pdfPresentationMode.pdfPresentationModeControls > *,
-.pdfPresentationMode.pdfPresentationModeControls .textLayer span {
- cursor: default;
-}
-
-#outerContainer {
- width: 100%;
- height: 100%;
- position: relative;
-}
-
-[dir="ltr"] #sidebarContainer {
- left: calc(-1 * var(--sidebar-width));
-}
-
-[dir="rtl"] #sidebarContainer {
- right: calc(-1 * var(--sidebar-width));
-}
-
-[dir="ltr"] #sidebarContainer {
- border-right: var(--doorhanger-border-color-whcm);
-}
-
-[dir="rtl"] #sidebarContainer {
- border-left: var(--doorhanger-border-color-whcm);
-}
-
-[dir="ltr"] #sidebarContainer {
- transition-property: left;
-}
-
-[dir="rtl"] #sidebarContainer {
- transition-property: right;
-}
-
-#sidebarContainer {
- position: absolute;
- top: 32px;
- bottom: 0;
- inset-inline-start: calc(-1 * var(--sidebar-width));
- width: var(--sidebar-width);
- visibility: hidden;
- z-index: 100;
- border-top: 1px solid rgba(51, 51, 51, 1);
- -webkit-border-end: var(--doorhanger-border-color-whcm);
- border-inline-end: var(--doorhanger-border-color-whcm);
- transition-property: inset-inline-start;
- transition-duration: var(--sidebar-transition-duration);
- transition-timing-function: var(--sidebar-transition-timing-function);
-}
-
-#outerContainer.sidebarMoving #sidebarContainer,
-#outerContainer.sidebarOpen #sidebarContainer {
- visibility: visible;
-}
-[dir="ltr"] #outerContainer.sidebarOpen #sidebarContainer {
- left: 0;
-}
-[dir="rtl"] #outerContainer.sidebarOpen #sidebarContainer {
- right: 0;
-}
-#outerContainer.sidebarOpen #sidebarContainer {
- inset-inline-start: 0;
-}
-
-#mainContainer {
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- min-width: 350px;
-}
-
-[dir="ltr"] #sidebarContent {
- left: 0;
-}
-
-[dir="rtl"] #sidebarContent {
- right: 0;
-}
-
-#sidebarContent {
- top: 32px;
- bottom: 0;
- inset-inline-start: 0;
- overflow: auto;
- position: absolute;
- width: 100%;
- background-color: rgba(0, 0, 0, 0.1);
- box-shadow: inset calc(-1px * var(--dir-factor)) 0 0 rgba(0, 0, 0, 0.25);
-}
-
-#viewerContainer {
- overflow: auto;
- position: absolute;
- top: 32px;
- right: 0;
- bottom: 0;
- left: 0;
- outline: none;
-}
-#viewerContainer:not(.pdfPresentationMode) {
- transition-duration: var(--sidebar-transition-duration);
- transition-timing-function: var(--sidebar-transition-timing-function);
-}
-
-[dir="ltr"] #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode) {
- left: var(--sidebar-width);
-}
-
-[dir="rtl"] #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode) {
- right: var(--sidebar-width);
-}
-
-[dir="ltr"] #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode) {
- transition-property: left;
-}
-
-[dir="rtl"] #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode) {
- transition-property: right;
-}
-
-#outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode) {
- inset-inline-start: var(--sidebar-width);
- transition-property: inset-inline-start;
-}
-
-.toolbar {
- position: relative;
- left: 0;
- right: 0;
- z-index: 9999;
- cursor: default;
-}
-
-#toolbarContainer {
- width: 100%;
-}
-
-#toolbarSidebar {
- width: 100%;
- height: 32px;
- background-color: var(--sidebar-toolbar-bg-color);
- box-shadow: inset calc(-1px * var(--dir-factor)) 0 0 rgba(0, 0, 0, 0.25),
- 0 1px 0 rgba(0, 0, 0, 0.15), 0 0 1px rgba(0, 0, 0, 0.1);
-}
-
-[dir="ltr"] #sidebarResizer {
- right: -6px;
-}
-
-[dir="rtl"] #sidebarResizer {
- left: -6px;
-}
-
-#sidebarResizer {
- position: absolute;
- top: 0;
- bottom: 0;
- inset-inline-end: -6px;
- width: 6px;
- z-index: 200;
- cursor: ew-resize;
-}
-
-#toolbarContainer,
-.findbar,
-.secondaryToolbar,
-.editorParamsToolbar {
- position: relative;
- height: 32px;
- background-color: var(--toolbar-bg-color);
- box-shadow: 0 1px 0 var(--toolbar-border-color);
-}
-
-#toolbarViewer {
- height: 32px;
-}
-
-[dir="ltr"] #loadingBar {
- left: 0;
- right: var(--progressBar-end-offset);
-}
-
-[dir="rtl"] #loadingBar {
- right: 0;
- left: var(--progressBar-end-offset);
-}
-
-[dir="ltr"] #loadingBar {
- transition-property: left;
-}
-
-[dir="rtl"] #loadingBar {
- transition-property: right;
-}
-
-#loadingBar {
- position: absolute;
- inset-inline: 0 var(--progressBar-end-offset);
- height: 4px;
- background-color: var(--body-bg-color);
- border-bottom: 1px solid var(--toolbar-border-color);
- transition-property: inset-inline-start;
- transition-duration: var(--sidebar-transition-duration);
- transition-timing-function: var(--sidebar-transition-timing-function);
-}
-
-[dir="ltr"] #outerContainer.sidebarOpen #loadingBar {
- left: var(--sidebar-width);
-}
-
-[dir="rtl"] #outerContainer.sidebarOpen #loadingBar {
- right: var(--sidebar-width);
-}
-
-#outerContainer.sidebarOpen #loadingBar {
- inset-inline-start: var(--sidebar-width);
-}
-
-#loadingBar .progress {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- transform: scaleX(var(--progressBar-percent));
- transform-origin: 0 0;
- height: 100%;
- background-color: var(--progressBar-color);
- overflow: hidden;
- transition: transform 200ms;
-}
-
-@-webkit-keyframes progressIndeterminate {
- 0% {
- transform: translateX(-142px);
- }
- 100% {
- transform: translateX(0);
- }
-}
-
-@keyframes progressIndeterminate {
- 0% {
- transform: translateX(-142px);
- }
- 100% {
- transform: translateX(0);
- }
-}
-
-#loadingBar.indeterminate .progress {
- transform: none;
- background-color: var(--progressBar-indeterminate-bg-color);
- transition: none;
-}
-
-#loadingBar.indeterminate .progress .glimmer {
- position: absolute;
- top: 0;
- left: 0;
- height: 100%;
- width: calc(100% + 150px);
- background: repeating-linear-gradient(
- 135deg,
- var(--progressBar-indeterminate-blend-color) 0,
- var(--progressBar-indeterminate-bg-color) 5px,
- var(--progressBar-indeterminate-bg-color) 45px,
- var(--progressBar-color) 55px,
- var(--progressBar-color) 95px,
- var(--progressBar-indeterminate-blend-color) 100px
- );
- -webkit-animation: progressIndeterminate 1s linear infinite;
- animation: progressIndeterminate 1s linear infinite;
-}
-
-#outerContainer.sidebarResizing #sidebarContainer,
-#outerContainer.sidebarResizing #viewerContainer,
-#outerContainer.sidebarResizing #loadingBar {
- /* Improve responsiveness and avoid visual glitches when the sidebar is resized. */
- transition-duration: 0s;
-}
-
-.findbar,
-.secondaryToolbar,
-.editorParamsToolbar {
- top: 32px;
- position: absolute;
- z-index: 10000;
- height: auto;
- padding: 0 4px;
- margin: 4px 2px;
- font-size: 12px;
- line-height: 14px;
- text-align: left;
- cursor: default;
-}
-
-[dir="ltr"] .findbar {
- left: 64px;
-}
-
-[dir="rtl"] .findbar {
- right: 64px;
-}
-
-.findbar {
- inset-inline-start: 64px;
- min-width: 300px;
- background-color: var(--toolbar-bg-color);
-}
-.findbar > div {
- height: 32px;
-}
-[dir="ltr"] .findbar > div#findbarInputContainer {
- margin-right: 4px;
-}
-[dir="rtl"] .findbar > div#findbarInputContainer {
- margin-left: 4px;
-}
-.findbar > div#findbarInputContainer {
- -webkit-margin-end: 4px;
- margin-inline-end: 4px;
-}
-.findbar.wrapContainers > div,
-.findbar.wrapContainers > div#findbarMessageContainer > * {
- clear: both;
-}
-.findbar.wrapContainers > div#findbarMessageContainer {
- height: auto;
-}
-
-.findbar input[type="checkbox"] {
- pointer-events: none;
-}
-
-.findbar label {
- -webkit-user-select: none;
- -moz-user-select: none;
- user-select: none;
-}
-
-.findbar label:hover,
-.findbar input:focus-visible + label {
- color: var(--toggled-btn-color);
- background-color: var(--button-hover-color);
-}
-
-.findbar .toolbarField[type="checkbox"]:checked + .toolbarLabel {
- background-color: var(--toggled-btn-bg-color) !important;
- color: var(--toggled-btn-color);
-}
-
-#findInput {
- width: 200px;
-}
-#findInput::-moz-placeholder {
- font-style: normal;
-}
-#findInput::placeholder {
- font-style: normal;
-}
-#findInput[data-status="pending"] {
- background-image: var(--loading-icon);
- background-repeat: no-repeat;
- background-position: calc(50% + 48% * var(--dir-factor));
-}
-#findInput[data-status="notFound"] {
- background-color: rgba(255, 102, 102, 1);
-}
-
-[dir="ltr"] .secondaryToolbar,[dir="ltr"]
-.editorParamsToolbar {
- right: 4px;
-}
-
-[dir="rtl"] .secondaryToolbar,[dir="rtl"]
-.editorParamsToolbar {
- left: 4px;
-}
-
-.secondaryToolbar,
-.editorParamsToolbar {
- padding: 6px 0 10px;
- inset-inline-end: 4px;
- height: auto;
- z-index: 30000;
- background-color: var(--doorhanger-bg-color);
-}
-
-.editorParamsToolbarContainer {
- width: 220px;
- margin-bottom: -4px;
-}
-
-.editorParamsToolbarContainer > .editorParamsSetter {
- min-height: 26px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding-left: 10px;
- padding-right: 10px;
- padding-inline: 10px;
-}
-
-[dir="ltr"] .editorParamsToolbarContainer .editorParamsLabel {
- padding-right: 10px;
-}
-
-[dir="rtl"] .editorParamsToolbarContainer .editorParamsLabel {
- padding-left: 10px;
-}
-
-.editorParamsToolbarContainer .editorParamsLabel {
- -webkit-padding-end: 10px;
- padding-inline-end: 10px;
- flex: none;
- color: var(--main-color);
-}
-
-.editorParamsToolbarContainer .editorParamsColor {
- width: 32px;
- height: 32px;
- flex: none;
-}
-
-.editorParamsToolbarContainer .editorParamsSlider {
- background-color: transparent;
- width: 90px;
- flex: 0 1 0;
-}
-
-.editorParamsToolbarContainer .editorParamsSlider::-moz-range-progress {
- background-color: black;
-}
-
-.editorParamsToolbarContainer .editorParamsSlider::-webkit-slider-runnable-track,
-.editorParamsToolbarContainer .editorParamsSlider::-moz-range-track {
- background-color: black;
-}
-
-.editorParamsToolbarContainer .editorParamsSlider::-webkit-slider-thumb,
-.editorParamsToolbarContainer .editorParamsSlider::-moz-range-thumb {
- background-color: white;
-}
-
-#secondaryToolbarButtonContainer {
- max-width: 220px;
- min-height: 26px;
- max-height: calc(var(--viewer-container-height) - 40px);
- overflow-y: auto;
- margin-bottom: -4px;
-}
-
-[dir="ltr"] #editorInkParamsToolbar {
- right: 40px;
-}
-
-[dir="rtl"] #editorInkParamsToolbar {
- left: 40px;
-}
-
-#editorInkParamsToolbar {
- inset-inline-end: 40px;
- background-color: var(--toolbar-bg-color);
-}
-
-[dir="ltr"] #editorFreeTextParamsToolbar {
- right: 68px;
-}
-
-[dir="rtl"] #editorFreeTextParamsToolbar {
- left: 68px;
-}
-
-#editorFreeTextParamsToolbar {
- inset-inline-end: 68px;
- background-color: var(--toolbar-bg-color);
-}
-
-.doorHanger,
-.doorHangerRight {
- border-radius: 2px;
- box-shadow: 0 1px 5px var(--doorhanger-border-color),
- 0 0 0 1px var(--doorhanger-border-color);
- border: var(--doorhanger-border-color-whcm);
-}
-.doorHanger:after,
-.doorHanger:before,
-.doorHangerRight:after,
-.doorHangerRight:before {
- bottom: 100%;
- border: 8px solid rgba(0, 0, 0, 0);
- content: " ";
- height: 0;
- width: 0;
- position: absolute;
- pointer-events: none;
- opacity: var(--doorhanger-triangle-opacity-whcm);
-}
-[dir="ltr"] .doorHanger:after {
- left: 10px;
-}
-[dir="rtl"] .doorHanger:after {
- right: 10px;
-}
-[dir="ltr"] .doorHanger:after {
- margin-left: -8px;
-}
-[dir="rtl"] .doorHanger:after {
- margin-right: -8px;
-}
-.doorHanger:after {
- inset-inline-start: 10px;
- -webkit-margin-start: -8px;
- margin-inline-start: -8px;
- border-bottom-color: var(--toolbar-bg-color);
-}
-[dir="ltr"] .doorHangerRight:after {
- right: 10px;
-}
-[dir="rtl"] .doorHangerRight:after {
- left: 10px;
-}
-[dir="ltr"] .doorHangerRight:after {
- margin-right: -8px;
-}
-[dir="rtl"] .doorHangerRight:after {
- margin-left: -8px;
-}
-.doorHangerRight:after {
- inset-inline-end: 10px;
- -webkit-margin-end: -8px;
- margin-inline-end: -8px;
- border-bottom-color: var(--doorhanger-bg-color);
-}
-.doorHanger:before,
-.doorHangerRight:before {
- border-bottom-color: var(--doorhanger-border-color);
- border-width: 9px;
-}
-[dir="ltr"] .doorHanger:before {
- left: 10px;
-}
-[dir="rtl"] .doorHanger:before {
- right: 10px;
-}
-[dir="ltr"] .doorHanger:before {
- margin-left: -9px;
-}
-[dir="rtl"] .doorHanger:before {
- margin-right: -9px;
-}
-.doorHanger:before {
- inset-inline-start: 10px;
- -webkit-margin-start: -9px;
- margin-inline-start: -9px;
-}
-[dir="ltr"] .doorHangerRight:before {
- right: 10px;
-}
-[dir="rtl"] .doorHangerRight:before {
- left: 10px;
-}
-[dir="ltr"] .doorHangerRight:before {
- margin-right: -9px;
-}
-[dir="rtl"] .doorHangerRight:before {
- margin-left: -9px;
-}
-.doorHangerRight:before {
- inset-inline-end: 10px;
- -webkit-margin-end: -9px;
- margin-inline-end: -9px;
-}
-
-#findResultsCount {
- background-color: rgba(217, 217, 217, 1);
- color: rgba(82, 82, 82, 1);
- text-align: center;
- padding: 4px 5px;
- margin: 5px;
-}
-
-#findMsg {
- color: rgba(251, 0, 0, 1);
-}
-
-#findResultsCount:empty,
-#findMsg:empty {
- display: none;
-}
-
-#toolbarViewerMiddle {
- position: absolute;
- left: 50%;
- transform: translateX(-50%);
-}
-
-[dir="ltr"] #toolbarViewerLeft,[dir="ltr"]
-#toolbarSidebarLeft {
- float: left;
-}
-
-[dir="rtl"] #toolbarViewerLeft,[dir="rtl"]
-#toolbarSidebarLeft {
- float: right;
-}
-
-#toolbarViewerLeft,
-#toolbarSidebarLeft {
- float: inline-start;
-}
-[dir="ltr"] #toolbarViewerRight,[dir="ltr"]
-#toolbarSidebarRight {
- float: right;
-}
-[dir="rtl"] #toolbarViewerRight,[dir="rtl"]
-#toolbarSidebarRight {
- float: left;
-}
-#toolbarViewerRight,
-#toolbarSidebarRight {
- float: inline-end;
-}
-
-[dir="ltr"] #toolbarViewerLeft > *,[dir="ltr"]
-#toolbarViewerMiddle > *,[dir="ltr"]
-#toolbarViewerRight > *,[dir="ltr"]
-#toolbarSidebarLeft *,[dir="ltr"]
-#toolbarSidebarRight *,[dir="ltr"]
-.findbar * {
- float: left;
-}
-
-[dir="rtl"] #toolbarViewerLeft > *,[dir="rtl"]
-#toolbarViewerMiddle > *,[dir="rtl"]
-#toolbarViewerRight > *,[dir="rtl"]
-#toolbarSidebarLeft *,[dir="rtl"]
-#toolbarSidebarRight *,[dir="rtl"]
-.findbar * {
- float: right;
-}
-
-#toolbarViewerLeft > *,
-#toolbarViewerMiddle > *,
-#toolbarViewerRight > *,
-#toolbarSidebarLeft *,
-#toolbarSidebarRight *,
-.findbar * {
- position: relative;
- float: inline-start;
-}
-
-[dir="ltr"] #toolbarViewerLeft {
- padding-left: 1px;
-}
-
-[dir="rtl"] #toolbarViewerLeft {
- padding-right: 1px;
-}
-
-#toolbarViewerLeft {
- -webkit-padding-start: 1px;
- padding-inline-start: 1px;
-}
-[dir="ltr"] #toolbarViewerRight {
- padding-right: 1px;
-}
-[dir="rtl"] #toolbarViewerRight {
- padding-left: 1px;
-}
-#toolbarViewerRight {
- -webkit-padding-end: 1px;
- padding-inline-end: 1px;
-}
-[dir="ltr"] #toolbarSidebarRight {
- padding-right: 2px;
-}
-[dir="rtl"] #toolbarSidebarRight {
- padding-left: 2px;
-}
-#toolbarSidebarRight {
- -webkit-padding-end: 2px;
- padding-inline-end: 2px;
-}
-
-.splitToolbarButton {
- margin: 2px;
- display: inline-block;
-}
-[dir="ltr"] .splitToolbarButton > .toolbarButton {
- float: left;
-}
-[dir="rtl"] .splitToolbarButton > .toolbarButton {
- float: right;
-}
-.splitToolbarButton > .toolbarButton {
- float: inline-start;
-}
-
-.toolbarButton,
-.secondaryToolbarButton,
-.dialogButton {
- border: 0 none;
- background: none;
- width: 28px;
- height: 28px;
-}
-
-.dialogButton:hover,
-.dialogButton:focus-visible {
- background-color: var(--dialog-button-hover-bg-color);
-}
-
-.dialogButton:hover > span,
-.dialogButton:focus-visible > span {
- color: var(--dialog-button-hover-color);
-}
-
-.toolbarButton > span {
- display: inline-block;
- width: 0;
- height: 0;
- overflow: hidden;
-}
-
-.toolbarButton[disabled],
-.secondaryToolbarButton[disabled],
-.dialogButton[disabled] {
- opacity: 0.5;
-}
-
-.splitToolbarButton > .toolbarButton:hover,
-.splitToolbarButton > .toolbarButton:focus-visible,
-.dropdownToolbarButton:hover {
- background-color: var(--button-hover-color);
-}
-.splitToolbarButton > .toolbarButton {
- position: relative;
- margin: 0;
-}
-[dir="ltr"] #toolbarSidebar .splitToolbarButton > .toolbarButton {
- margin-right: 2px;
-}
-[dir="rtl"] #toolbarSidebar .splitToolbarButton > .toolbarButton {
- margin-left: 2px;
-}
-#toolbarSidebar .splitToolbarButton > .toolbarButton {
- -webkit-margin-end: 2px;
- margin-inline-end: 2px;
-}
-
-[dir="ltr"] .splitToolbarButtonSeparator {
- float: left;
-}
-
-[dir="rtl"] .splitToolbarButtonSeparator {
- float: right;
-}
-
-.splitToolbarButtonSeparator {
- float: inline-start;
- margin: 4px 0;
- width: 1px;
- height: 20px;
- background-color: var(--separator-color);
-}
-
-.toolbarButton,
-.dropdownToolbarButton,
-.secondaryToolbarButton,
-.dialogButton {
- min-width: 16px;
- margin: 2px 1px;
- padding: 2px 6px 0;
- border: none;
- border-radius: 2px;
- color: var(--main-color);
- font-size: 12px;
- line-height: 14px;
- -webkit-user-select: none;
- -moz-user-select: none;
- user-select: none;
- cursor: default;
- box-sizing: border-box;
-}
-
-.toolbarButton:hover,
-.toolbarButton:focus-visible {
- background-color: var(--button-hover-color);
-}
-.secondaryToolbarButton:hover,
-.secondaryToolbarButton:focus-visible {
- background-color: var(--doorhanger-hover-bg-color);
- color: var(--doorhanger-hover-color);
-}
-
-.toolbarButton.toggled,
-.splitToolbarButton.toggled > .toolbarButton.toggled,
-.secondaryToolbarButton.toggled {
- background-color: var(--toggled-btn-bg-color);
- color: var(--toggled-btn-color);
-}
-
-.toolbarButton.toggled::before,
-.secondaryToolbarButton.toggled::before {
- background-color: var(--toggled-btn-color);
-}
-
-.toolbarButton.toggled:hover:active,
-.splitToolbarButton.toggled > .toolbarButton.toggled:hover:active,
-.secondaryToolbarButton.toggled:hover:active {
- background-color: var(--toggled-hover-active-btn-color);
-}
-
-.dropdownToolbarButton {
- width: var(--scale-select-container-width);
- padding: 0;
- overflow: hidden;
- background-color: var(--dropdown-btn-bg-color);
-}
-[dir="ltr"] .dropdownToolbarButton::after {
- right: 7px;
-}
-[dir="rtl"] .dropdownToolbarButton::after {
- left: 7px;
-}
-.dropdownToolbarButton::after {
- top: 6px;
- inset-inline-end: 7px;
- pointer-events: none;
- -webkit-mask-image: var(--toolbarButton-menuArrow-icon);
- mask-image: var(--toolbarButton-menuArrow-icon);
-}
-
-[dir="ltr"] .dropdownToolbarButton > select {
- padding-left: 4px;
-}
-
-[dir="rtl"] .dropdownToolbarButton > select {
- padding-right: 4px;
-}
-
-.dropdownToolbarButton > select {
- width: calc(
- var(--scale-select-container-width) + var(--scale-select-overflow)
- );
- height: 28px;
- font-size: 12px;
- color: var(--main-color);
- margin: 0;
- padding: 1px 0 2px;
- -webkit-padding-start: 4px;
- padding-inline-start: 4px;
- border: none;
- background-color: var(--dropdown-btn-bg-color);
-}
-.dropdownToolbarButton > select:hover,
-.dropdownToolbarButton > select:focus-visible {
- background-color: var(--button-hover-color);
- color: var(--toggled-btn-color);
-}
-.dropdownToolbarButton > select > option {
- background: var(--doorhanger-bg-color);
- color: var(--main-color);
-}
-
-.toolbarButtonSpacer {
- width: 30px;
- display: inline-block;
- height: 1px;
-}
-
-.toolbarButton::before,
-.secondaryToolbarButton::before,
-.dropdownToolbarButton::after,
-.treeItemToggler::before {
- /* All matching images have a size of 16x16
- * All relevant containers have a size of 28x28 */
- position: absolute;
- display: inline-block;
- width: 16px;
- height: 16px;
-
- content: "";
- background-color: var(--toolbar-icon-bg-color);
- -webkit-mask-size: cover;
- mask-size: cover;
-}
-
-.dropdownToolbarButton:hover::after,
-.dropdownToolbarButton:focus-visible::after,
-.dropdownToolbarButton:active::after {
- background-color: var(--toolbar-icon-hover-bg-color);
-}
-
-.toolbarButton::before {
- opacity: var(--toolbar-icon-opacity);
- top: 6px;
- left: 6px;
-}
-
-.toolbarButton:hover::before,
-.toolbarButton:focus-visible::before,
-.secondaryToolbarButton:hover::before,
-.secondaryToolbarButton:focus-visible::before {
- background-color: var(--toolbar-icon-hover-bg-color);
-}
-
-[dir="ltr"] .secondaryToolbarButton::before {
- left: 12px;
-}
-
-[dir="rtl"] .secondaryToolbarButton::before {
- right: 12px;
-}
-
-.secondaryToolbarButton::before {
- opacity: var(--doorhanger-icon-opacity);
- top: 5px;
- inset-inline-start: 12px;
-}
-
-#sidebarToggle::before {
- -webkit-mask-image: var(--toolbarButton-sidebarToggle-icon);
- mask-image: var(--toolbarButton-sidebarToggle-icon);
- transform: scaleX(var(--dir-factor));
-}
-
-#secondaryToolbarToggle::before {
- -webkit-mask-image: var(--toolbarButton-secondaryToolbarToggle-icon);
- mask-image: var(--toolbarButton-secondaryToolbarToggle-icon);
- transform: scaleX(var(--dir-factor));
-}
-
-#findPrevious::before {
- -webkit-mask-image: var(--findbarButton-previous-icon);
- mask-image: var(--findbarButton-previous-icon);
-}
-
-#findNext::before {
- -webkit-mask-image: var(--findbarButton-next-icon);
- mask-image: var(--findbarButton-next-icon);
-}
-
-#previous::before {
- -webkit-mask-image: var(--toolbarButton-pageUp-icon);
- mask-image: var(--toolbarButton-pageUp-icon);
-}
-
-#next::before {
- -webkit-mask-image: var(--toolbarButton-pageDown-icon);
- mask-image: var(--toolbarButton-pageDown-icon);
-}
-
-#zoomOut::before {
- -webkit-mask-image: var(--toolbarButton-zoomOut-icon);
- mask-image: var(--toolbarButton-zoomOut-icon);
-}
-
-#zoomIn::before {
- -webkit-mask-image: var(--toolbarButton-zoomIn-icon);
- mask-image: var(--toolbarButton-zoomIn-icon);
-}
-
-#presentationMode::before,
-#secondaryPresentationMode::before {
- -webkit-mask-image: var(--toolbarButton-presentationMode-icon);
- mask-image: var(--toolbarButton-presentationMode-icon);
-}
-
-#editorFreeText::before {
- -webkit-mask-image: var(--toolbarButton-editorFreeText-icon);
- mask-image: var(--toolbarButton-editorFreeText-icon);
-}
-
-#editorInk::before {
- -webkit-mask-image: var(--toolbarButton-editorInk-icon);
- mask-image: var(--toolbarButton-editorInk-icon);
-}
-
-#print::before,
-#secondaryPrint::before {
- -webkit-mask-image: var(--toolbarButton-print-icon);
- mask-image: var(--toolbarButton-print-icon);
-}
-
-#openFile::before,
-#secondaryOpenFile::before {
- -webkit-mask-image: var(--toolbarButton-openFile-icon);
- mask-image: var(--toolbarButton-openFile-icon);
-}
-
-#download::before,
-#secondaryDownload::before {
- -webkit-mask-image: var(--toolbarButton-download-icon);
- mask-image: var(--toolbarButton-download-icon);
-}
-
-a.secondaryToolbarButton {
- padding-top: 6px;
- text-decoration: none;
-}
-a.toolbarButton[href="#"],
-a.secondaryToolbarButton[href="#"] {
- opacity: 0.5;
- pointer-events: none;
-}
-
-#viewBookmark::before,
-#secondaryViewBookmark::before {
- -webkit-mask-image: var(--toolbarButton-bookmark-icon);
- mask-image: var(--toolbarButton-bookmark-icon);
-}
-
-#viewThumbnail::before {
- -webkit-mask-image: var(--toolbarButton-viewThumbnail-icon);
- mask-image: var(--toolbarButton-viewThumbnail-icon);
-}
-
-#viewOutline::before {
- -webkit-mask-image: var(--toolbarButton-viewOutline-icon);
- mask-image: var(--toolbarButton-viewOutline-icon);
- transform: scaleX(var(--dir-factor));
-}
-
-#viewAttachments::before {
- -webkit-mask-image: var(--toolbarButton-viewAttachments-icon);
- mask-image: var(--toolbarButton-viewAttachments-icon);
-}
-
-#viewLayers::before {
- -webkit-mask-image: var(--toolbarButton-viewLayers-icon);
- mask-image: var(--toolbarButton-viewLayers-icon);
-}
-
-#currentOutlineItem::before {
- -webkit-mask-image: var(--toolbarButton-currentOutlineItem-icon);
- mask-image: var(--toolbarButton-currentOutlineItem-icon);
- transform: scaleX(var(--dir-factor));
-}
-
-#viewFind::before {
- -webkit-mask-image: var(--toolbarButton-search-icon);
- mask-image: var(--toolbarButton-search-icon);
-}
-
-[dir="ltr"] .pdfSidebarNotification::after {
- left: 17px;
-}
-
-[dir="rtl"] .pdfSidebarNotification::after {
- right: 17px;
-}
-
-.pdfSidebarNotification::after {
- position: absolute;
- display: inline-block;
- top: 1px;
- inset-inline-start: 17px;
- /* Create a filled circle, with a diameter of 9 pixels, using only CSS: */
- content: "";
- background-color: rgba(112, 219, 85, 1);
- height: 9px;
- width: 9px;
- border-radius: 50%;
-}
-
-[dir="ltr"] .secondaryToolbarButton {
- padding-left: 36px;
-}
-
-[dir="rtl"] .secondaryToolbarButton {
- padding-right: 36px;
-}
-
-[dir="ltr"] .secondaryToolbarButton {
- text-align: left;
-}
-
-[dir="rtl"] .secondaryToolbarButton {
- text-align: right;
-}
-
-.secondaryToolbarButton {
- position: relative;
- margin: 0;
- padding: 0 0 1px;
- -webkit-padding-start: 36px;
- padding-inline-start: 36px;
- height: auto;
- min-height: 26px;
- width: auto;
- min-width: 100%;
- text-align: start;
- white-space: normal;
- border-radius: 0;
- box-sizing: border-box;
-}
-[dir="ltr"] .secondaryToolbarButton > span {
- padding-right: 4px;
-}
-[dir="rtl"] .secondaryToolbarButton > span {
- padding-left: 4px;
-}
-.secondaryToolbarButton > span {
- -webkit-padding-end: 4px;
- padding-inline-end: 4px;
-}
-
-#firstPage::before {
- -webkit-mask-image: var(--secondaryToolbarButton-firstPage-icon);
- mask-image: var(--secondaryToolbarButton-firstPage-icon);
-}
-
-#lastPage::before {
- -webkit-mask-image: var(--secondaryToolbarButton-lastPage-icon);
- mask-image: var(--secondaryToolbarButton-lastPage-icon);
-}
-
-#pageRotateCcw::before {
- -webkit-mask-image: var(--secondaryToolbarButton-rotateCcw-icon);
- mask-image: var(--secondaryToolbarButton-rotateCcw-icon);
-}
-
-#pageRotateCw::before {
- -webkit-mask-image: var(--secondaryToolbarButton-rotateCw-icon);
- mask-image: var(--secondaryToolbarButton-rotateCw-icon);
-}
-
-#cursorSelectTool::before {
- -webkit-mask-image: var(--secondaryToolbarButton-selectTool-icon);
- mask-image: var(--secondaryToolbarButton-selectTool-icon);
-}
-
-#cursorHandTool::before {
- -webkit-mask-image: var(--secondaryToolbarButton-handTool-icon);
- mask-image: var(--secondaryToolbarButton-handTool-icon);
-}
-
-#scrollPage::before {
- -webkit-mask-image: var(--secondaryToolbarButton-scrollPage-icon);
- mask-image: var(--secondaryToolbarButton-scrollPage-icon);
-}
-
-#scrollVertical::before {
- -webkit-mask-image: var(--secondaryToolbarButton-scrollVertical-icon);
- mask-image: var(--secondaryToolbarButton-scrollVertical-icon);
-}
-
-#scrollHorizontal::before {
- -webkit-mask-image: var(--secondaryToolbarButton-scrollHorizontal-icon);
- mask-image: var(--secondaryToolbarButton-scrollHorizontal-icon);
-}
-
-#scrollWrapped::before {
- -webkit-mask-image: var(--secondaryToolbarButton-scrollWrapped-icon);
- mask-image: var(--secondaryToolbarButton-scrollWrapped-icon);
-}
-
-#spreadNone::before {
- -webkit-mask-image: var(--secondaryToolbarButton-spreadNone-icon);
- mask-image: var(--secondaryToolbarButton-spreadNone-icon);
-}
-
-#spreadOdd::before {
- -webkit-mask-image: var(--secondaryToolbarButton-spreadOdd-icon);
- mask-image: var(--secondaryToolbarButton-spreadOdd-icon);
-}
-
-#spreadEven::before {
- -webkit-mask-image: var(--secondaryToolbarButton-spreadEven-icon);
- mask-image: var(--secondaryToolbarButton-spreadEven-icon);
-}
-
-#documentProperties::before {
- -webkit-mask-image: var(--secondaryToolbarButton-documentProperties-icon);
- mask-image: var(--secondaryToolbarButton-documentProperties-icon);
-}
-
-.verticalToolbarSeparator {
- display: block;
- margin: 5px 2px;
- width: 1px;
- height: 22px;
- background-color: var(--separator-color);
-}
-.horizontalToolbarSeparator {
- display: block;
- margin: 6px 0;
- height: 1px;
- width: 100%;
- background-color: var(--doorhanger-separator-color);
-}
-
-.toolbarField {
- padding: 4px 7px;
- margin: 3px 0;
- border-radius: 2px;
- background-color: var(--field-bg-color);
- background-clip: padding-box;
- border: 1px solid var(--field-border-color);
- box-shadow: none;
- color: var(--field-color);
- font-size: 12px;
- line-height: 16px;
- outline-style: none;
-}
-
-[dir="ltr"] .toolbarField[type="checkbox"] {
- margin-left: 7px;
-}
-
-[dir="rtl"] .toolbarField[type="checkbox"] {
- margin-right: 7px;
-}
-
-.toolbarField[type="checkbox"] {
- opacity: 0;
- position: absolute !important;
- left: 0;
- margin: 10px 0 3px;
- -webkit-margin-start: 7px;
- margin-inline-start: 7px;
-}
-
-#pageNumber {
- -moz-appearance: textfield; /* hides the spinner in moz */
- text-align: right;
- width: 40px;
-}
-#pageNumber.visiblePageIsLoading {
- background-image: var(--loading-icon);
- background-repeat: no-repeat;
- background-position: 3px;
-}
-#pageNumber::-webkit-inner-spin-button {
- -webkit-appearance: none;
-}
-
-.toolbarField:focus {
- border-color: #0a84ff;
-}
-
-.toolbarLabel {
- min-width: 16px;
- padding: 7px;
- margin: 2px;
- border-radius: 2px;
- color: var(--main-color);
- font-size: 12px;
- line-height: 14px;
- text-align: left;
- -webkit-user-select: none;
- -moz-user-select: none;
- user-select: none;
- cursor: default;
-}
-
-[dir="ltr"] #numPages.toolbarLabel {
- padding-left: 3px;
-}
-
-[dir="rtl"] #numPages.toolbarLabel {
- padding-right: 3px;
-}
-
-#numPages.toolbarLabel {
- -webkit-padding-start: 3px;
- padding-inline-start: 3px;
-}
-
-#thumbnailView,
-#outlineView,
-#attachmentsView,
-#layersView {
- position: absolute;
- width: calc(100% - 8px);
- top: 0;
- bottom: 0;
- padding: 4px 4px 0;
- overflow: auto;
- -webkit-user-select: none;
- -moz-user-select: none;
- user-select: none;
-}
-#thumbnailView {
- width: calc(100% - 60px);
- padding: 10px 30px 0;
-}
-
-#thumbnailView > a:active,
-#thumbnailView > a:focus {
- outline: 0;
-}
-
-[dir="ltr"] .thumbnail {
- float: left;
-}
-
-[dir="rtl"] .thumbnail {
- float: right;
-}
-
-.thumbnail {
- float: inline-start;
- margin: 0 10px 5px;
-}
-
-#thumbnailView > a:last-of-type > .thumbnail {
- margin-bottom: 10px;
-}
-#thumbnailView > a:last-of-type > .thumbnail:not([data-loaded]) {
- margin-bottom: 9px;
-}
-
-.thumbnail:not([data-loaded]) {
- border: 1px dashed rgba(132, 132, 132, 1);
- margin: -1px 9px 4px;
-}
-
-.thumbnailImage {
- border: 1px solid rgba(0, 0, 0, 0);
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5), 0 2px 8px rgba(0, 0, 0, 0.3);
- opacity: 0.8;
- z-index: 99;
- background-color: rgba(255, 255, 255, 1);
- background-clip: content-box;
-}
-
-.thumbnailSelectionRing {
- border-radius: 2px;
- padding: 7px;
-}
-
-a:focus > .thumbnail > .thumbnailSelectionRing > .thumbnailImage,
-.thumbnail:hover > .thumbnailSelectionRing > .thumbnailImage {
- opacity: 0.9;
-}
-
-a:focus > .thumbnail > .thumbnailSelectionRing,
-.thumbnail:hover > .thumbnailSelectionRing {
- background-color: var(--sidebaritem-bg-color);
- background-clip: padding-box;
- color: rgba(255, 255, 255, 0.9);
-}
-
-.thumbnail.selected > .thumbnailSelectionRing > .thumbnailImage {
- opacity: 1;
-}
-
-.thumbnail.selected > .thumbnailSelectionRing {
- background-color: var(--sidebaritem-bg-color);
- background-clip: padding-box;
- color: rgba(255, 255, 255, 1);
-}
-
-[dir="ltr"] .treeWithDeepNesting > .treeItem,[dir="ltr"]
-.treeItem > .treeItems {
- margin-left: 20px;
-}
-
-[dir="rtl"] .treeWithDeepNesting > .treeItem,[dir="rtl"]
-.treeItem > .treeItems {
- margin-right: 20px;
-}
-
-.treeWithDeepNesting > .treeItem,
-.treeItem > .treeItems {
- -webkit-margin-start: 20px;
- margin-inline-start: 20px;
-}
-
-[dir="ltr"] .treeItem > a {
- padding-left: 4px;
-}
-
-[dir="rtl"] .treeItem > a {
- padding-right: 4px;
-}
-
-.treeItem > a {
- text-decoration: none;
- display: inline-block;
- /* Subtract the right padding (left, in RTL mode) of the container: */
- min-width: calc(100% - 4px);
- height: auto;
- margin-bottom: 1px;
- padding: 2px 0 5px;
- -webkit-padding-start: 4px;
- padding-inline-start: 4px;
- border-radius: 2px;
- color: var(--treeitem-color);
- font-size: 13px;
- line-height: 15px;
- -webkit-user-select: none;
- -moz-user-select: none;
- user-select: none;
- white-space: normal;
- cursor: pointer;
-}
-
-#layersView .treeItem > a * {
- cursor: pointer;
-}
-[dir="ltr"] #layersView .treeItem > a > label {
- padding-left: 4px;
-}
-[dir="rtl"] #layersView .treeItem > a > label {
- padding-right: 4px;
-}
-#layersView .treeItem > a > label {
- -webkit-padding-start: 4px;
- padding-inline-start: 4px;
-}
-[dir="ltr"] #layersView .treeItem > a > label > input {
- float: left;
-}
-[dir="rtl"] #layersView .treeItem > a > label > input {
- float: right;
-}
-#layersView .treeItem > a > label > input {
- float: inline-start;
- margin-top: 1px;
-}
-
-[dir="ltr"] .treeItemToggler {
- float: left;
-}
-
-[dir="rtl"] .treeItemToggler {
- float: right;
-}
-
-.treeItemToggler {
- position: relative;
- float: inline-start;
- height: 0;
- width: 0;
- color: rgba(255, 255, 255, 0.5);
-}
-[dir="ltr"] .treeItemToggler::before {
- right: 4px;
-}
-[dir="rtl"] .treeItemToggler::before {
- left: 4px;
-}
-.treeItemToggler::before {
- inset-inline-end: 4px;
- -webkit-mask-image: var(--treeitem-expanded-icon);
- mask-image: var(--treeitem-expanded-icon);
-}
-.treeItemToggler.treeItemsHidden::before {
- -webkit-mask-image: var(--treeitem-collapsed-icon);
- mask-image: var(--treeitem-collapsed-icon);
- transform: scaleX(var(--dir-factor));
-}
-.treeItemToggler.treeItemsHidden ~ .treeItems {
- display: none;
-}
-
-.treeItem.selected > a {
- background-color: var(--treeitem-selected-bg-color);
- color: var(--treeitem-selected-color);
-}
-
-.treeItemToggler:hover,
-.treeItemToggler:hover + a,
-.treeItemToggler:hover ~ .treeItems,
-.treeItem > a:hover {
- background-color: var(--sidebaritem-bg-color);
- background-clip: padding-box;
- border-radius: 2px;
- color: var(--treeitem-hover-color);
-}
-
-/* TODO: file FF bug to support ::-moz-selection:window-inactive
- so we can override the opaque grey background when the window is inactive;
- see https://bugzilla.mozilla.org/show_bug.cgi?id=706209 */
-::-moz-selection {
- background: rgba(0, 0, 255, 0.3);
-}
-::selection {
- background: rgba(0, 0, 255, 0.3);
-}
-
-#errorWrapper {
- background-color: var(--errorWrapper-bg-color);
- color: var(--main-color);
- left: 0;
- position: absolute;
- right: 0;
- z-index: 1000;
- padding: 3px 6px;
-}
-
-#errorMessageLeft {
- float: left;
-}
-#errorMessageRight {
- float: right;
-}
-
-#errorSpacer {
- clear: both;
-}
-#errorMoreInfo {
- background-color: var(--field-bg-color);
- color: var(--field-color);
- border: 1px solid var(--field-border-color);
- padding: 3px;
- margin: 3px;
- width: 98%;
-}
-
-.dialogButton {
- width: auto;
- margin: 3px 4px 2px !important;
- padding: 2px 11px;
- color: var(--main-color);
- background-color: var(--dialog-button-bg-color);
- border: var(--dialog-button-border) !important;
-}
-
-dialog {
- margin: auto;
- padding: 15px;
- border-spacing: 4px;
- color: var(--main-color);
- font-size: 12px;
- line-height: 14px;
- background-color: var(--doorhanger-bg-color);
- border: 1px solid rgba(0, 0, 0, 0.5);
- border-radius: 4px;
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
-}
-dialog::-webkit-backdrop {
- background-color: rgba(0, 0, 0, 0.2);
-}
-dialog::backdrop {
- background-color: rgba(0, 0, 0, 0.2);
-}
-
-dialog > .row {
- display: table-row;
-}
-
-dialog > .row > * {
- display: table-cell;
-}
-
-dialog .toolbarField {
- margin: 5px 0;
-}
-
-dialog .separator {
- display: block;
- margin: 4px 0;
- height: 1px;
- width: 100%;
- background-color: var(--separator-color);
-}
-
-dialog .buttonRow {
- text-align: center;
- vertical-align: middle;
-}
-
-dialog :link {
- color: rgba(255, 255, 255, 1);
-}
-
-#passwordDialog {
- text-align: center;
-}
-#passwordDialog .toolbarField {
- width: 200px;
-}
-
-#documentPropertiesDialog {
- text-align: left;
-}
-[dir="ltr"] #documentPropertiesDialog .row > * {
- text-align: left;
-}
-[dir="rtl"] #documentPropertiesDialog .row > * {
- text-align: right;
-}
-#documentPropertiesDialog .row > * {
- min-width: 100px;
- text-align: start;
-}
-#documentPropertiesDialog .row > span {
- width: 125px;
- word-wrap: break-word;
-}
-#documentPropertiesDialog .row > p {
- max-width: 225px;
- word-wrap: break-word;
-}
-#documentPropertiesDialog .buttonRow {
- margin-top: 10px;
-}
-
-.grab-to-pan-grab {
- cursor: -webkit-grab !important;
- cursor: grab !important;
-}
-.grab-to-pan-grab
- *:not(input):not(textarea):not(button):not(select):not(:link) {
- cursor: inherit !important;
-}
-.grab-to-pan-grab:active,
-.grab-to-pan-grabbing {
- cursor: -webkit-grabbing !important;
- cursor: grabbing !important;
- position: fixed;
- background: rgba(0, 0, 0, 0);
- display: block;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- overflow: hidden;
- z-index: 50000; /* should be higher than anything else in PDF.js! */
-}
-
-@page {
- margin: 0;
-}
-
-#printContainer {
- display: none;
-}
-
-@media print {
- body {
- background: rgba(0, 0, 0, 0) none;
- }
- body[data-pdfjsprinting] #outerContainer {
- display: none;
- }
- body[data-pdfjsprinting] #printContainer {
- display: block;
- }
- #printContainer {
- height: 100%;
- }
- /* wrapper around (scaled) print canvas elements */
- #printContainer > .printedPage {
- page-break-after: always;
- page-break-inside: avoid;
-
- /* The wrapper always cover the whole page. */
- height: 100%;
- width: 100%;
-
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- }
-
- #printContainer > .xfaPrintedPage .xfaPage {
- position: absolute;
- }
-
- #printContainer > .xfaPrintedPage {
- page-break-after: always;
- page-break-inside: avoid;
- width: 100%;
- height: 100%;
- position: relative;
- }
-
- #printContainer > .printedPage canvas,
- #printContainer > .printedPage img {
- /* The intrinsic canvas / image size will make sure that we fit the page. */
- max-width: 100%;
- max-height: 100%;
-
- direction: ltr;
- display: block;
- }
-}
-
-.visibleLargeView,
-.visibleMediumView,
-.visibleSmallView {
- display: none;
-}
-
-@media all and (max-width: 900px) {
- #toolbarViewerMiddle {
- display: table;
- margin: auto;
- left: auto;
- position: inherit;
- transform: none;
- }
-}
-
-@media all and (max-width: 840px) {
- #sidebarContainer {
- background-color: var(--sidebar-narrow-bg-color);
- }
- [dir="ltr"] #outerContainer.sidebarOpen #viewerContainer {
- left: 0 !important;
- }
- [dir="rtl"] #outerContainer.sidebarOpen #viewerContainer {
- right: 0 !important;
- }
- #outerContainer.sidebarOpen #viewerContainer {
- inset-inline-start: 0 !important;
- }
-}
-
-@media all and (max-width: 820px) {
- #outerContainer .hiddenLargeView {
- display: none;
- }
- #outerContainer .visibleLargeView {
- display: inherit;
- }
-}
-
-@media all and (max-width: 750px) {
- #outerContainer .hiddenMediumView {
- display: none;
- }
- #outerContainer .visibleMediumView {
- display: inherit;
- }
-}
-
-@media all and (max-width: 690px) {
- .hiddenSmallView,
- .hiddenSmallView * {
- display: none;
- }
- .visibleSmallView {
- display: inherit;
- }
- .toolbarButtonSpacer {
- width: 0;
- }
- [dir="ltr"] .findbar {
- left: 34px;
- }
- [dir="rtl"] .findbar {
- right: 34px;
- }
- .findbar {
- inset-inline-start: 34px;
- }
-}
-
-@media all and (max-width: 560px) {
- #scaleSelectContainer {
- display: none;
- }
-}
diff --git a/static/js/pdf-js/web/viewer.html b/static/js/pdf-js/web/viewer.html
deleted file mode 100644
index db16124..0000000
--- a/static/js/pdf-js/web/viewer.html
+++ /dev/null
@@ -1,458 +0,0 @@
-
-
-
-
-
-
-
- PDF.js viewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/static/js/pdf-js/web/viewer.js b/static/js/pdf-js/web/viewer.js
deleted file mode 100644
index 2790dd2..0000000
--- a/static/js/pdf-js/web/viewer.js
+++ /dev/null
@@ -1,16550 +0,0 @@
-/**
- * @licstart The following is the entire license notice for the
- * JavaScript code in this page
- *
- * Copyright 2022 Mozilla Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * @licend The above is the entire license notice for the
- * JavaScript code in this page
- */
-
-/******/ (() => { // webpackBootstrap
-/******/ "use strict";
-/******/ var __webpack_modules__ = ([
-/* 0 */,
-/* 1 */
-/***/ ((__unused_webpack_module, exports) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.animationStarted = exports.VERTICAL_PADDING = exports.UNKNOWN_SCALE = exports.TextLayerMode = exports.SpreadMode = exports.SidebarView = exports.ScrollMode = exports.SCROLLBAR_PADDING = exports.RenderingStates = exports.RendererType = exports.ProgressBar = exports.PresentationModeState = exports.OutputScale = exports.MIN_SCALE = exports.MAX_SCALE = exports.MAX_AUTO_SCALE = exports.DEFAULT_SCALE_VALUE = exports.DEFAULT_SCALE_DELTA = exports.DEFAULT_SCALE = exports.AutoPrintRegExp = void 0;
-exports.apiPageLayoutToViewerModes = apiPageLayoutToViewerModes;
-exports.apiPageModeToSidebarView = apiPageModeToSidebarView;
-exports.approximateFraction = approximateFraction;
-exports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;
-exports.binarySearchFirstItem = binarySearchFirstItem;
-exports.docStyle = void 0;
-exports.getActiveOrFocusedElement = getActiveOrFocusedElement;
-exports.getPageSizeInches = getPageSizeInches;
-exports.getVisibleElements = getVisibleElements;
-exports.isPortraitOrientation = isPortraitOrientation;
-exports.isValidRotation = isValidRotation;
-exports.isValidScrollMode = isValidScrollMode;
-exports.isValidSpreadMode = isValidSpreadMode;
-exports.noContextMenuHandler = noContextMenuHandler;
-exports.normalizeWheelEventDelta = normalizeWheelEventDelta;
-exports.normalizeWheelEventDirection = normalizeWheelEventDirection;
-exports.parseQueryString = parseQueryString;
-exports.removeNullCharacters = removeNullCharacters;
-exports.roundToDivide = roundToDivide;
-exports.scrollIntoView = scrollIntoView;
-exports.watchScroll = watchScroll;
-const DEFAULT_SCALE_VALUE = "auto";
-exports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;
-const DEFAULT_SCALE = 1.0;
-exports.DEFAULT_SCALE = DEFAULT_SCALE;
-const DEFAULT_SCALE_DELTA = 1.1;
-exports.DEFAULT_SCALE_DELTA = DEFAULT_SCALE_DELTA;
-const MIN_SCALE = 0.1;
-exports.MIN_SCALE = MIN_SCALE;
-const MAX_SCALE = 10.0;
-exports.MAX_SCALE = MAX_SCALE;
-const UNKNOWN_SCALE = 0;
-exports.UNKNOWN_SCALE = UNKNOWN_SCALE;
-const MAX_AUTO_SCALE = 1.25;
-exports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;
-const SCROLLBAR_PADDING = 40;
-exports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;
-const VERTICAL_PADDING = 5;
-exports.VERTICAL_PADDING = VERTICAL_PADDING;
-const RenderingStates = {
- INITIAL: 0,
- RUNNING: 1,
- PAUSED: 2,
- FINISHED: 3
-};
-exports.RenderingStates = RenderingStates;
-const PresentationModeState = {
- UNKNOWN: 0,
- NORMAL: 1,
- CHANGING: 2,
- FULLSCREEN: 3
-};
-exports.PresentationModeState = PresentationModeState;
-const SidebarView = {
- UNKNOWN: -1,
- NONE: 0,
- THUMBS: 1,
- OUTLINE: 2,
- ATTACHMENTS: 3,
- LAYERS: 4
-};
-exports.SidebarView = SidebarView;
-const RendererType = {
- CANVAS: "canvas",
- SVG: "svg"
-};
-exports.RendererType = RendererType;
-const TextLayerMode = {
- DISABLE: 0,
- ENABLE: 1,
- ENABLE_ENHANCE: 2
-};
-exports.TextLayerMode = TextLayerMode;
-const ScrollMode = {
- UNKNOWN: -1,
- VERTICAL: 0,
- HORIZONTAL: 1,
- WRAPPED: 2,
- PAGE: 3
-};
-exports.ScrollMode = ScrollMode;
-const SpreadMode = {
- UNKNOWN: -1,
- NONE: 0,
- ODD: 1,
- EVEN: 2
-};
-exports.SpreadMode = SpreadMode;
-const AutoPrintRegExp = /\bprint\s*\(/;
-exports.AutoPrintRegExp = AutoPrintRegExp;
-
-class OutputScale {
- constructor() {
- const pixelRatio = window.devicePixelRatio || 1;
- this.sx = pixelRatio;
- this.sy = pixelRatio;
- }
-
- get scaled() {
- return this.sx !== 1 || this.sy !== 1;
- }
-
-}
-
-exports.OutputScale = OutputScale;
-
-function scrollIntoView(element, spot, scrollMatches = false) {
- let parent = element.offsetParent;
-
- if (!parent) {
- console.error("offsetParent is not set -- cannot scroll");
- return;
- }
-
- let offsetY = element.offsetTop + element.clientTop;
- let offsetX = element.offsetLeft + element.clientLeft;
-
- while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || scrollMatches && (parent.classList.contains("markedContent") || getComputedStyle(parent).overflow === "hidden")) {
- offsetY += parent.offsetTop;
- offsetX += parent.offsetLeft;
- parent = parent.offsetParent;
-
- if (!parent) {
- return;
- }
- }
-
- if (spot) {
- if (spot.top !== undefined) {
- offsetY += spot.top;
- }
-
- if (spot.left !== undefined) {
- offsetX += spot.left;
- parent.scrollLeft = offsetX;
- }
- }
-
- parent.scrollTop = offsetY;
-}
-
-function watchScroll(viewAreaElement, callback) {
- const debounceScroll = function (evt) {
- if (rAF) {
- return;
- }
-
- rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {
- rAF = null;
- const currentX = viewAreaElement.scrollLeft;
- const lastX = state.lastX;
-
- if (currentX !== lastX) {
- state.right = currentX > lastX;
- }
-
- state.lastX = currentX;
- const currentY = viewAreaElement.scrollTop;
- const lastY = state.lastY;
-
- if (currentY !== lastY) {
- state.down = currentY > lastY;
- }
-
- state.lastY = currentY;
- callback(state);
- });
- };
-
- const state = {
- right: true,
- down: true,
- lastX: viewAreaElement.scrollLeft,
- lastY: viewAreaElement.scrollTop,
- _eventHandler: debounceScroll
- };
- let rAF = null;
- viewAreaElement.addEventListener("scroll", debounceScroll, true);
- return state;
-}
-
-function parseQueryString(query) {
- const params = new Map();
-
- for (const [key, value] of new URLSearchParams(query)) {
- params.set(key.toLowerCase(), value);
- }
-
- return params;
-}
-
-const NullCharactersRegExp = /\x00/g;
-const InvisibleCharactersRegExp = /[\x01-\x1F]/g;
-
-function removeNullCharacters(str, replaceInvisible = false) {
- if (typeof str !== "string") {
- console.error(`The argument must be a string.`);
- return str;
- }
-
- if (replaceInvisible) {
- str = str.replace(InvisibleCharactersRegExp, " ");
- }
-
- return str.replace(NullCharactersRegExp, "");
-}
-
-function binarySearchFirstItem(items, condition, start = 0) {
- let minIndex = start;
- let maxIndex = items.length - 1;
-
- if (maxIndex < 0 || !condition(items[maxIndex])) {
- return items.length;
- }
-
- if (condition(items[minIndex])) {
- return minIndex;
- }
-
- while (minIndex < maxIndex) {
- const currentIndex = minIndex + maxIndex >> 1;
- const currentItem = items[currentIndex];
-
- if (condition(currentItem)) {
- maxIndex = currentIndex;
- } else {
- minIndex = currentIndex + 1;
- }
- }
-
- return minIndex;
-}
-
-function approximateFraction(x) {
- if (Math.floor(x) === x) {
- return [x, 1];
- }
-
- const xinv = 1 / x;
- const limit = 8;
-
- if (xinv > limit) {
- return [1, limit];
- } else if (Math.floor(xinv) === xinv) {
- return [1, xinv];
- }
-
- const x_ = x > 1 ? xinv : x;
- let a = 0,
- b = 1,
- c = 1,
- d = 1;
-
- while (true) {
- const p = a + c,
- q = b + d;
-
- if (q > limit) {
- break;
- }
-
- if (x_ <= p / q) {
- c = p;
- d = q;
- } else {
- a = p;
- b = q;
- }
- }
-
- let result;
-
- if (x_ - a / b < c / d - x_) {
- result = x_ === x ? [a, b] : [b, a];
- } else {
- result = x_ === x ? [c, d] : [d, c];
- }
-
- return result;
-}
-
-function roundToDivide(x, div) {
- const r = x % div;
- return r === 0 ? x : Math.round(x - r + div);
-}
-
-function getPageSizeInches({
- view,
- userUnit,
- rotate
-}) {
- const [x1, y1, x2, y2] = view;
- const changeOrientation = rotate % 180 !== 0;
- const width = (x2 - x1) / 72 * userUnit;
- const height = (y2 - y1) / 72 * userUnit;
- return {
- width: changeOrientation ? height : width,
- height: changeOrientation ? width : height
- };
-}
-
-function backtrackBeforeAllVisibleElements(index, views, top) {
- if (index < 2) {
- return index;
- }
-
- let elt = views[index].div;
- let pageTop = elt.offsetTop + elt.clientTop;
-
- if (pageTop >= top) {
- elt = views[index - 1].div;
- pageTop = elt.offsetTop + elt.clientTop;
- }
-
- for (let i = index - 2; i >= 0; --i) {
- elt = views[i].div;
-
- if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {
- break;
- }
-
- index = i;
- }
-
- return index;
-}
-
-function getVisibleElements({
- scrollEl,
- views,
- sortByVisibility = false,
- horizontal = false,
- rtl = false
-}) {
- const top = scrollEl.scrollTop,
- bottom = top + scrollEl.clientHeight;
- const left = scrollEl.scrollLeft,
- right = left + scrollEl.clientWidth;
-
- function isElementBottomAfterViewTop(view) {
- const element = view.div;
- const elementBottom = element.offsetTop + element.clientTop + element.clientHeight;
- return elementBottom > top;
- }
-
- function isElementNextAfterViewHorizontally(view) {
- const element = view.div;
- const elementLeft = element.offsetLeft + element.clientLeft;
- const elementRight = elementLeft + element.clientWidth;
- return rtl ? elementLeft < right : elementRight > left;
- }
-
- const visible = [],
- ids = new Set(),
- numViews = views.length;
- let firstVisibleElementInd = binarySearchFirstItem(views, horizontal ? isElementNextAfterViewHorizontally : isElementBottomAfterViewTop);
-
- if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {
- firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);
- }
-
- let lastEdge = horizontal ? right : -1;
-
- for (let i = firstVisibleElementInd; i < numViews; i++) {
- const view = views[i],
- element = view.div;
- const currentWidth = element.offsetLeft + element.clientLeft;
- const currentHeight = element.offsetTop + element.clientTop;
- const viewWidth = element.clientWidth,
- viewHeight = element.clientHeight;
- const viewRight = currentWidth + viewWidth;
- const viewBottom = currentHeight + viewHeight;
-
- if (lastEdge === -1) {
- if (viewBottom >= bottom) {
- lastEdge = viewBottom;
- }
- } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {
- break;
- }
-
- if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {
- continue;
- }
-
- const hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);
- const hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);
- const fractionHeight = (viewHeight - hiddenHeight) / viewHeight,
- fractionWidth = (viewWidth - hiddenWidth) / viewWidth;
- const percent = fractionHeight * fractionWidth * 100 | 0;
- visible.push({
- id: view.id,
- x: currentWidth,
- y: currentHeight,
- view,
- percent,
- widthPercent: fractionWidth * 100 | 0
- });
- ids.add(view.id);
- }
-
- const first = visible[0],
- last = visible.at(-1);
-
- if (sortByVisibility) {
- visible.sort(function (a, b) {
- const pc = a.percent - b.percent;
-
- if (Math.abs(pc) > 0.001) {
- return -pc;
- }
-
- return a.id - b.id;
- });
- }
-
- return {
- first,
- last,
- views: visible,
- ids
- };
-}
-
-function noContextMenuHandler(evt) {
- evt.preventDefault();
-}
-
-function normalizeWheelEventDirection(evt) {
- let delta = Math.hypot(evt.deltaX, evt.deltaY);
- const angle = Math.atan2(evt.deltaY, evt.deltaX);
-
- if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {
- delta = -delta;
- }
-
- return delta;
-}
-
-function normalizeWheelEventDelta(evt) {
- let delta = normalizeWheelEventDirection(evt);
- const MOUSE_DOM_DELTA_PIXEL_MODE = 0;
- const MOUSE_DOM_DELTA_LINE_MODE = 1;
- const MOUSE_PIXELS_PER_LINE = 30;
- const MOUSE_LINES_PER_PAGE = 30;
-
- if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {
- delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;
- } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {
- delta /= MOUSE_LINES_PER_PAGE;
- }
-
- return delta;
-}
-
-function isValidRotation(angle) {
- return Number.isInteger(angle) && angle % 90 === 0;
-}
-
-function isValidScrollMode(mode) {
- return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;
-}
-
-function isValidSpreadMode(mode) {
- return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;
-}
-
-function isPortraitOrientation(size) {
- return size.width <= size.height;
-}
-
-const animationStarted = new Promise(function (resolve) {
- window.requestAnimationFrame(resolve);
-});
-exports.animationStarted = animationStarted;
-const docStyle = document.documentElement.style;
-exports.docStyle = docStyle;
-
-function clamp(v, min, max) {
- return Math.min(Math.max(v, min), max);
-}
-
-class ProgressBar {
- #classList = null;
- #percent = 0;
- #visible = true;
-
- constructor(id) {
- if (arguments.length > 1) {
- throw new Error("ProgressBar no longer accepts any additional options, " + "please use CSS rules to modify its appearance instead.");
- }
-
- const bar = document.getElementById(id);
- this.#classList = bar.classList;
- }
-
- get percent() {
- return this.#percent;
- }
-
- set percent(val) {
- this.#percent = clamp(val, 0, 100);
-
- if (isNaN(val)) {
- this.#classList.add("indeterminate");
- return;
- }
-
- this.#classList.remove("indeterminate");
- docStyle.setProperty("--progressBar-percent", `${this.#percent}%`);
- }
-
- setWidth(viewer) {
- if (!viewer) {
- return;
- }
-
- const container = viewer.parentNode;
- const scrollbarWidth = container.offsetWidth - viewer.offsetWidth;
-
- if (scrollbarWidth > 0) {
- docStyle.setProperty("--progressBar-end-offset", `${scrollbarWidth}px`);
- }
- }
-
- hide() {
- if (!this.#visible) {
- return;
- }
-
- this.#visible = false;
- this.#classList.add("hidden");
- }
-
- show() {
- if (this.#visible) {
- return;
- }
-
- this.#visible = true;
- this.#classList.remove("hidden");
- }
-
-}
-
-exports.ProgressBar = ProgressBar;
-
-function getActiveOrFocusedElement() {
- let curRoot = document;
- let curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(":focus");
-
- while (curActiveOrFocused?.shadowRoot) {
- curRoot = curActiveOrFocused.shadowRoot;
- curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(":focus");
- }
-
- return curActiveOrFocused;
-}
-
-function apiPageLayoutToViewerModes(layout) {
- let scrollMode = ScrollMode.VERTICAL,
- spreadMode = SpreadMode.NONE;
-
- switch (layout) {
- case "SinglePage":
- scrollMode = ScrollMode.PAGE;
- break;
-
- case "OneColumn":
- break;
-
- case "TwoPageLeft":
- scrollMode = ScrollMode.PAGE;
-
- case "TwoColumnLeft":
- spreadMode = SpreadMode.ODD;
- break;
-
- case "TwoPageRight":
- scrollMode = ScrollMode.PAGE;
-
- case "TwoColumnRight":
- spreadMode = SpreadMode.EVEN;
- break;
- }
-
- return {
- scrollMode,
- spreadMode
- };
-}
-
-function apiPageModeToSidebarView(mode) {
- switch (mode) {
- case "UseNone":
- return SidebarView.NONE;
-
- case "UseThumbs":
- return SidebarView.THUMBS;
-
- case "UseOutlines":
- return SidebarView.OUTLINE;
-
- case "UseAttachments":
- return SidebarView.ATTACHMENTS;
-
- case "UseOC":
- return SidebarView.LAYERS;
- }
-
- return SidebarView.NONE;
-}
-
-/***/ }),
-/* 2 */
-/***/ ((__unused_webpack_module, exports) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.compatibilityParams = exports.OptionKind = exports.AppOptions = void 0;
-const compatibilityParams = Object.create(null);
-exports.compatibilityParams = compatibilityParams;
-{
- const userAgent = navigator.userAgent || "";
- const platform = navigator.platform || "";
- const maxTouchPoints = navigator.maxTouchPoints || 1;
- const isAndroid = /Android/.test(userAgent);
- const isIOS = /\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === "MacIntel" && maxTouchPoints > 1;
-
- (function checkCanvasSizeLimitation() {
- if (isIOS || isAndroid) {
- compatibilityParams.maxCanvasPixels = 5242880;
- }
- })();
-}
-const OptionKind = {
- VIEWER: 0x02,
- API: 0x04,
- WORKER: 0x08,
- PREFERENCE: 0x80
-};
-exports.OptionKind = OptionKind;
-const defaultOptions = {
- annotationEditorMode: {
- value: -1,
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- annotationMode: {
- value: 2,
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- cursorToolOnLoad: {
- value: 0,
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- defaultZoomValue: {
- value: "",
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- disableHistory: {
- value: false,
- kind: OptionKind.VIEWER
- },
- disablePageLabels: {
- value: false,
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- enablePermissions: {
- value: false,
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- enablePrintAutoRotate: {
- value: true,
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- enableScripting: {
- value: true,
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- externalLinkRel: {
- value: "noopener noreferrer nofollow",
- kind: OptionKind.VIEWER
- },
- externalLinkTarget: {
- value: 0,
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- historyUpdateUrl: {
- value: false,
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- ignoreDestinationZoom: {
- value: false,
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- imageResourcesPath: {
- value: "./images/",
- kind: OptionKind.VIEWER
- },
- maxCanvasPixels: {
- value: 16777216,
- kind: OptionKind.VIEWER
- },
- forcePageColors: {
- value: false,
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- pageColorsBackground: {
- value: "Canvas",
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- pageColorsForeground: {
- value: "CanvasText",
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- pdfBugEnabled: {
- value: false,
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- printResolution: {
- value: 150,
- kind: OptionKind.VIEWER
- },
- sidebarViewOnLoad: {
- value: -1,
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- scrollModeOnLoad: {
- value: -1,
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- spreadModeOnLoad: {
- value: -1,
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- textLayerMode: {
- value: 1,
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- useOnlyCssZoom: {
- value: false,
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- viewerCssTheme: {
- value: 0,
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- viewOnLoad: {
- value: 0,
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- },
- cMapPacked: {
- value: true,
- kind: OptionKind.API
- },
- cMapUrl: {
- value: "../web/cmaps/",
- kind: OptionKind.API
- },
- disableAutoFetch: {
- value: false,
- kind: OptionKind.API + OptionKind.PREFERENCE
- },
- disableFontFace: {
- value: false,
- kind: OptionKind.API + OptionKind.PREFERENCE
- },
- disableRange: {
- value: false,
- kind: OptionKind.API + OptionKind.PREFERENCE
- },
- disableStream: {
- value: false,
- kind: OptionKind.API + OptionKind.PREFERENCE
- },
- docBaseUrl: {
- value: "",
- kind: OptionKind.API
- },
- enableXfa: {
- value: true,
- kind: OptionKind.API + OptionKind.PREFERENCE
- },
- fontExtraProperties: {
- value: false,
- kind: OptionKind.API
- },
- isEvalSupported: {
- value: true,
- kind: OptionKind.API
- },
- maxImageSize: {
- value: -1,
- kind: OptionKind.API
- },
- pdfBug: {
- value: false,
- kind: OptionKind.API
- },
- standardFontDataUrl: {
- value: "../web/standard_fonts/",
- kind: OptionKind.API
- },
- verbosity: {
- value: 1,
- kind: OptionKind.API
- },
- workerPort: {
- value: null,
- kind: OptionKind.WORKER
- },
- workerSrc: {
- value: "../build/pdf.worker.js",
- kind: OptionKind.WORKER
- }
-};
-{
- defaultOptions.defaultUrl = {
- value: "compressed.tracemonkey-pldi-09.pdf",
- kind: OptionKind.VIEWER
- };
- defaultOptions.disablePreferences = {
- value: false,
- kind: OptionKind.VIEWER
- };
- defaultOptions.locale = {
- value: navigator.language || "en-US",
- kind: OptionKind.VIEWER
- };
- defaultOptions.renderer = {
- value: "canvas",
- kind: OptionKind.VIEWER + OptionKind.PREFERENCE
- };
- defaultOptions.sandboxBundleSrc = {
- value: "../build/pdf.sandbox.js",
- kind: OptionKind.VIEWER
- };
-}
-const userOptions = Object.create(null);
-
-class AppOptions {
- constructor() {
- throw new Error("Cannot initialize AppOptions.");
- }
-
- static get(name) {
- const userOption = userOptions[name];
-
- if (userOption !== undefined) {
- return userOption;
- }
-
- const defaultOption = defaultOptions[name];
-
- if (defaultOption !== undefined) {
- return compatibilityParams[name] ?? defaultOption.value;
- }
-
- return undefined;
- }
-
- static getAll(kind = null) {
- const options = Object.create(null);
-
- for (const name in defaultOptions) {
- const defaultOption = defaultOptions[name];
-
- if (kind) {
- if ((kind & defaultOption.kind) === 0) {
- continue;
- }
-
- if (kind === OptionKind.PREFERENCE) {
- const value = defaultOption.value,
- valueType = typeof value;
-
- if (valueType === "boolean" || valueType === "string" || valueType === "number" && Number.isInteger(value)) {
- options[name] = value;
- continue;
- }
-
- throw new Error(`Invalid type for preference: ${name}`);
- }
- }
-
- const userOption = userOptions[name];
- options[name] = userOption !== undefined ? userOption : compatibilityParams[name] ?? defaultOption.value;
- }
-
- return options;
- }
-
- static set(name, value) {
- userOptions[name] = value;
- }
-
- static setAll(options) {
- for (const name in options) {
- userOptions[name] = options[name];
- }
- }
-
- static remove(name) {
- delete userOptions[name];
- }
-
- static _hasUserOptions() {
- return Object.keys(userOptions).length > 0;
- }
-
-}
-
-exports.AppOptions = AppOptions;
-
-/***/ }),
-/* 3 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.SimpleLinkService = exports.PDFLinkService = exports.LinkTarget = void 0;
-
-var _ui_utils = __webpack_require__(1);
-
-const DEFAULT_LINK_REL = "noopener noreferrer nofollow";
-const LinkTarget = {
- NONE: 0,
- SELF: 1,
- BLANK: 2,
- PARENT: 3,
- TOP: 4
-};
-exports.LinkTarget = LinkTarget;
-
-function addLinkAttributes(link, {
- url,
- target,
- rel,
- enabled = true
-} = {}) {
- if (!url || typeof url !== "string") {
- throw new Error('A valid "url" parameter must provided.');
- }
-
- const urlNullRemoved = (0, _ui_utils.removeNullCharacters)(url);
-
- if (enabled) {
- link.href = link.title = urlNullRemoved;
- } else {
- link.href = "";
- link.title = `Disabled: ${urlNullRemoved}`;
-
- link.onclick = () => {
- return false;
- };
- }
-
- let targetStr = "";
-
- switch (target) {
- case LinkTarget.NONE:
- break;
-
- case LinkTarget.SELF:
- targetStr = "_self";
- break;
-
- case LinkTarget.BLANK:
- targetStr = "_blank";
- break;
-
- case LinkTarget.PARENT:
- targetStr = "_parent";
- break;
-
- case LinkTarget.TOP:
- targetStr = "_top";
- break;
- }
-
- link.target = targetStr;
- link.rel = typeof rel === "string" ? rel : DEFAULT_LINK_REL;
-}
-
-class PDFLinkService {
- #pagesRefCache = new Map();
-
- constructor({
- eventBus,
- externalLinkTarget = null,
- externalLinkRel = null,
- ignoreDestinationZoom = false
- } = {}) {
- this.eventBus = eventBus;
- this.externalLinkTarget = externalLinkTarget;
- this.externalLinkRel = externalLinkRel;
- this.externalLinkEnabled = true;
- this._ignoreDestinationZoom = ignoreDestinationZoom;
- this.baseUrl = null;
- this.pdfDocument = null;
- this.pdfViewer = null;
- this.pdfHistory = null;
- }
-
- setDocument(pdfDocument, baseUrl = null) {
- this.baseUrl = baseUrl;
- this.pdfDocument = pdfDocument;
- this.#pagesRefCache.clear();
- }
-
- setViewer(pdfViewer) {
- this.pdfViewer = pdfViewer;
- }
-
- setHistory(pdfHistory) {
- this.pdfHistory = pdfHistory;
- }
-
- get pagesCount() {
- return this.pdfDocument ? this.pdfDocument.numPages : 0;
- }
-
- get page() {
- return this.pdfViewer.currentPageNumber;
- }
-
- set page(value) {
- this.pdfViewer.currentPageNumber = value;
- }
-
- get rotation() {
- return this.pdfViewer.pagesRotation;
- }
-
- set rotation(value) {
- this.pdfViewer.pagesRotation = value;
- }
-
- #goToDestinationHelper(rawDest, namedDest = null, explicitDest) {
- const destRef = explicitDest[0];
- let pageNumber;
-
- if (typeof destRef === "object" && destRef !== null) {
- pageNumber = this._cachedPageNumber(destRef);
-
- if (!pageNumber) {
- this.pdfDocument.getPageIndex(destRef).then(pageIndex => {
- this.cachePageRef(pageIndex + 1, destRef);
- this.#goToDestinationHelper(rawDest, namedDest, explicitDest);
- }).catch(() => {
- console.error(`PDFLinkService.#goToDestinationHelper: "${destRef}" is not ` + `a valid page reference, for dest="${rawDest}".`);
- });
- return;
- }
- } else if (Number.isInteger(destRef)) {
- pageNumber = destRef + 1;
- } else {
- console.error(`PDFLinkService.#goToDestinationHelper: "${destRef}" is not ` + `a valid destination reference, for dest="${rawDest}".`);
- return;
- }
-
- if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {
- console.error(`PDFLinkService.#goToDestinationHelper: "${pageNumber}" is not ` + `a valid page number, for dest="${rawDest}".`);
- return;
- }
-
- if (this.pdfHistory) {
- this.pdfHistory.pushCurrentPosition();
- this.pdfHistory.push({
- namedDest,
- explicitDest,
- pageNumber
- });
- }
-
- this.pdfViewer.scrollPageIntoView({
- pageNumber,
- destArray: explicitDest,
- ignoreDestinationZoom: this._ignoreDestinationZoom
- });
- }
-
- async goToDestination(dest) {
- if (!this.pdfDocument) {
- return;
- }
-
- let namedDest, explicitDest;
-
- if (typeof dest === "string") {
- namedDest = dest;
- explicitDest = await this.pdfDocument.getDestination(dest);
- } else {
- namedDest = null;
- explicitDest = await dest;
- }
-
- if (!Array.isArray(explicitDest)) {
- console.error(`PDFLinkService.goToDestination: "${explicitDest}" is not ` + `a valid destination array, for dest="${dest}".`);
- return;
- }
-
- this.#goToDestinationHelper(dest, namedDest, explicitDest);
- }
-
- goToPage(val) {
- if (!this.pdfDocument) {
- return;
- }
-
- const pageNumber = typeof val === "string" && this.pdfViewer.pageLabelToPageNumber(val) || val | 0;
-
- if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {
- console.error(`PDFLinkService.goToPage: "${val}" is not a valid page.`);
- return;
- }
-
- if (this.pdfHistory) {
- this.pdfHistory.pushCurrentPosition();
- this.pdfHistory.pushPage(pageNumber);
- }
-
- this.pdfViewer.scrollPageIntoView({
- pageNumber
- });
- }
-
- addLinkAttributes(link, url, newWindow = false) {
- addLinkAttributes(link, {
- url,
- target: newWindow ? LinkTarget.BLANK : this.externalLinkTarget,
- rel: this.externalLinkRel,
- enabled: this.externalLinkEnabled
- });
- }
-
- getDestinationHash(dest) {
- if (typeof dest === "string") {
- if (dest.length > 0) {
- return this.getAnchorUrl("#" + escape(dest));
- }
- } else if (Array.isArray(dest)) {
- const str = JSON.stringify(dest);
-
- if (str.length > 0) {
- return this.getAnchorUrl("#" + escape(str));
- }
- }
-
- return this.getAnchorUrl("");
- }
-
- getAnchorUrl(anchor) {
- return (this.baseUrl || "") + anchor;
- }
-
- setHash(hash) {
- if (!this.pdfDocument) {
- return;
- }
-
- let pageNumber, dest;
-
- if (hash.includes("=")) {
- const params = (0, _ui_utils.parseQueryString)(hash);
-
- if (params.has("search")) {
- this.eventBus.dispatch("findfromurlhash", {
- source: this,
- query: params.get("search").replace(/"/g, ""),
- phraseSearch: params.get("phrase") === "true"
- });
- }
-
- if (params.has("page")) {
- pageNumber = params.get("page") | 0 || 1;
- }
-
- if (params.has("zoom")) {
- const zoomArgs = params.get("zoom").split(",");
- const zoomArg = zoomArgs[0];
- const zoomArgNumber = parseFloat(zoomArg);
-
- if (!zoomArg.includes("Fit")) {
- dest = [null, {
- name: "XYZ"
- }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];
- } else {
- if (zoomArg === "Fit" || zoomArg === "FitB") {
- dest = [null, {
- name: zoomArg
- }];
- } else if (zoomArg === "FitH" || zoomArg === "FitBH" || zoomArg === "FitV" || zoomArg === "FitBV") {
- dest = [null, {
- name: zoomArg
- }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];
- } else if (zoomArg === "FitR") {
- if (zoomArgs.length !== 5) {
- console.error('PDFLinkService.setHash: Not enough parameters for "FitR".');
- } else {
- dest = [null, {
- name: zoomArg
- }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];
- }
- } else {
- console.error(`PDFLinkService.setHash: "${zoomArg}" is not a valid zoom value.`);
- }
- }
- }
-
- if (dest) {
- this.pdfViewer.scrollPageIntoView({
- pageNumber: pageNumber || this.page,
- destArray: dest,
- allowNegativeOffset: true
- });
- } else if (pageNumber) {
- this.page = pageNumber;
- }
-
- if (params.has("pagemode")) {
- this.eventBus.dispatch("pagemode", {
- source: this,
- mode: params.get("pagemode")
- });
- }
-
- if (params.has("nameddest")) {
- this.goToDestination(params.get("nameddest"));
- }
- } else {
- dest = unescape(hash);
-
- try {
- dest = JSON.parse(dest);
-
- if (!Array.isArray(dest)) {
- dest = dest.toString();
- }
- } catch (ex) {}
-
- if (typeof dest === "string" || PDFLinkService.#isValidExplicitDestination(dest)) {
- this.goToDestination(dest);
- return;
- }
-
- console.error(`PDFLinkService.setHash: "${unescape(hash)}" is not a valid destination.`);
- }
- }
-
- executeNamedAction(action) {
- switch (action) {
- case "GoBack":
- this.pdfHistory?.back();
- break;
-
- case "GoForward":
- this.pdfHistory?.forward();
- break;
-
- case "NextPage":
- this.pdfViewer.nextPage();
- break;
-
- case "PrevPage":
- this.pdfViewer.previousPage();
- break;
-
- case "LastPage":
- this.page = this.pagesCount;
- break;
-
- case "FirstPage":
- this.page = 1;
- break;
-
- default:
- break;
- }
-
- this.eventBus.dispatch("namedaction", {
- source: this,
- action
- });
- }
-
- cachePageRef(pageNum, pageRef) {
- if (!pageRef) {
- return;
- }
-
- const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;
- this.#pagesRefCache.set(refStr, pageNum);
- }
-
- _cachedPageNumber(pageRef) {
- if (!pageRef) {
- return null;
- }
-
- const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;
- return this.#pagesRefCache.get(refStr) || null;
- }
-
- isPageVisible(pageNumber) {
- return this.pdfViewer.isPageVisible(pageNumber);
- }
-
- isPageCached(pageNumber) {
- return this.pdfViewer.isPageCached(pageNumber);
- }
-
- static #isValidExplicitDestination(dest) {
- if (!Array.isArray(dest)) {
- return false;
- }
-
- const destLength = dest.length;
-
- if (destLength < 2) {
- return false;
- }
-
- const page = dest[0];
-
- if (!(typeof page === "object" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {
- return false;
- }
-
- const zoom = dest[1];
-
- if (!(typeof zoom === "object" && typeof zoom.name === "string")) {
- return false;
- }
-
- let allowNull = true;
-
- switch (zoom.name) {
- case "XYZ":
- if (destLength !== 5) {
- return false;
- }
-
- break;
-
- case "Fit":
- case "FitB":
- return destLength === 2;
-
- case "FitH":
- case "FitBH":
- case "FitV":
- case "FitBV":
- if (destLength !== 3) {
- return false;
- }
-
- break;
-
- case "FitR":
- if (destLength !== 6) {
- return false;
- }
-
- allowNull = false;
- break;
-
- default:
- return false;
- }
-
- for (let i = 2; i < destLength; i++) {
- const param = dest[i];
-
- if (!(typeof param === "number" || allowNull && param === null)) {
- return false;
- }
- }
-
- return true;
- }
-
-}
-
-exports.PDFLinkService = PDFLinkService;
-
-class SimpleLinkService {
- constructor() {
- this.externalLinkEnabled = true;
- }
-
- get pagesCount() {
- return 0;
- }
-
- get page() {
- return 0;
- }
-
- set page(value) {}
-
- get rotation() {
- return 0;
- }
-
- set rotation(value) {}
-
- async goToDestination(dest) {}
-
- goToPage(val) {}
-
- addLinkAttributes(link, url, newWindow = false) {
- addLinkAttributes(link, {
- url,
- enabled: this.externalLinkEnabled
- });
- }
-
- getDestinationHash(dest) {
- return "#";
- }
-
- getAnchorUrl(hash) {
- return "#";
- }
-
- setHash(hash) {}
-
- executeNamedAction(action) {}
-
- cachePageRef(pageNum, pageRef) {}
-
- isPageVisible(pageNumber) {
- return true;
- }
-
- isPageCached(pageNumber) {
- return true;
- }
-
-}
-
-exports.SimpleLinkService = SimpleLinkService;
-
-/***/ }),
-/* 4 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFViewerApplication = exports.PDFPrintServiceFactory = exports.DefaultExternalServices = void 0;
-
-var _ui_utils = __webpack_require__(1);
-
-var _pdfjsLib = __webpack_require__(5);
-
-var _app_options = __webpack_require__(2);
-
-var _event_utils = __webpack_require__(6);
-
-var _pdf_cursor_tools = __webpack_require__(7);
-
-var _pdf_link_service = __webpack_require__(3);
-
-var _annotation_editor_params = __webpack_require__(9);
-
-var _overlay_manager = __webpack_require__(10);
-
-var _password_prompt = __webpack_require__(11);
-
-var _pdf_attachment_viewer = __webpack_require__(12);
-
-var _pdf_document_properties = __webpack_require__(14);
-
-var _pdf_find_bar = __webpack_require__(15);
-
-var _pdf_find_controller = __webpack_require__(16);
-
-var _pdf_history = __webpack_require__(18);
-
-var _pdf_layer_viewer = __webpack_require__(19);
-
-var _pdf_outline_viewer = __webpack_require__(20);
-
-var _pdf_presentation_mode = __webpack_require__(21);
-
-var _pdf_rendering_queue = __webpack_require__(22);
-
-var _pdf_scripting_manager = __webpack_require__(23);
-
-var _pdf_sidebar = __webpack_require__(24);
-
-var _pdf_sidebar_resizer = __webpack_require__(25);
-
-var _pdf_thumbnail_viewer = __webpack_require__(26);
-
-var _pdf_viewer = __webpack_require__(28);
-
-var _secondary_toolbar = __webpack_require__(39);
-
-var _toolbar = __webpack_require__(40);
-
-var _view_history = __webpack_require__(41);
-
-const DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT = 5000;
-const FORCE_PAGES_LOADED_TIMEOUT = 10000;
-const WHEEL_ZOOM_DISABLED_TIMEOUT = 1000;
-const ViewOnLoad = {
- UNKNOWN: -1,
- PREVIOUS: 0,
- INITIAL: 1
-};
-const ViewerCssTheme = {
- AUTOMATIC: 0,
- LIGHT: 1,
- DARK: 2
-};
-const KNOWN_VERSIONS = ["1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "2.0", "2.1", "2.2", "2.3"];
-const KNOWN_GENERATORS = ["acrobat distiller", "acrobat pdfwriter", "adobe livecycle", "adobe pdf library", "adobe photoshop", "ghostscript", "tcpdf", "cairo", "dvipdfm", "dvips", "pdftex", "pdfkit", "itext", "prince", "quarkxpress", "mac os x", "microsoft", "openoffice", "oracle", "luradocument", "pdf-xchange", "antenna house", "aspose.cells", "fpdf"];
-
-class DefaultExternalServices {
- constructor() {
- throw new Error("Cannot initialize DefaultExternalServices.");
- }
-
- static updateFindControlState(data) {}
-
- static updateFindMatchesCount(data) {}
-
- static initPassiveLoading(callbacks) {}
-
- static reportTelemetry(data) {}
-
- static createDownloadManager(options) {
- throw new Error("Not implemented: createDownloadManager");
- }
-
- static createPreferences() {
- throw new Error("Not implemented: createPreferences");
- }
-
- static createL10n(options) {
- throw new Error("Not implemented: createL10n");
- }
-
- static createScripting(options) {
- throw new Error("Not implemented: createScripting");
- }
-
- static get supportsIntegratedFind() {
- return (0, _pdfjsLib.shadow)(this, "supportsIntegratedFind", false);
- }
-
- static get supportsDocumentFonts() {
- return (0, _pdfjsLib.shadow)(this, "supportsDocumentFonts", true);
- }
-
- static get supportedMouseWheelZoomModifierKeys() {
- return (0, _pdfjsLib.shadow)(this, "supportedMouseWheelZoomModifierKeys", {
- ctrlKey: true,
- metaKey: true
- });
- }
-
- static get isInAutomation() {
- return (0, _pdfjsLib.shadow)(this, "isInAutomation", false);
- }
-
- static updateEditorStates(data) {
- throw new Error("Not implemented: updateEditorStates");
- }
-
-}
-
-exports.DefaultExternalServices = DefaultExternalServices;
-const PDFViewerApplication = {
- initialBookmark: document.location.hash.substring(1),
- _initializedCapability: (0, _pdfjsLib.createPromiseCapability)(),
- appConfig: null,
- pdfDocument: null,
- pdfLoadingTask: null,
- printService: null,
- pdfViewer: null,
- pdfThumbnailViewer: null,
- pdfRenderingQueue: null,
- pdfPresentationMode: null,
- pdfDocumentProperties: null,
- pdfLinkService: null,
- pdfHistory: null,
- pdfSidebar: null,
- pdfSidebarResizer: null,
- pdfOutlineViewer: null,
- pdfAttachmentViewer: null,
- pdfLayerViewer: null,
- pdfCursorTools: null,
- pdfScriptingManager: null,
- store: null,
- downloadManager: null,
- overlayManager: null,
- preferences: null,
- toolbar: null,
- secondaryToolbar: null,
- eventBus: null,
- l10n: null,
- annotationEditorParams: null,
- isInitialViewSet: false,
- downloadComplete: false,
- isViewerEmbedded: window.parent !== window,
- url: "",
- baseUrl: "",
- _downloadUrl: "",
- externalServices: DefaultExternalServices,
- _boundEvents: Object.create(null),
- documentInfo: null,
- metadata: null,
- _contentDispositionFilename: null,
- _contentLength: null,
- _saveInProgress: false,
- _docStats: null,
- _wheelUnusedTicks: 0,
- _idleCallbacks: new Set(),
- _PDFBug: null,
- _hasAnnotationEditors: false,
- _title: document.title,
- _printAnnotationStoragePromise: null,
-
- async initialize(appConfig) {
- this.preferences = this.externalServices.createPreferences();
- this.appConfig = appConfig;
- await this._readPreferences();
- await this._parseHashParameters();
-
- this._forceCssTheme();
-
- await this._initializeL10n();
-
- if (this.isViewerEmbedded && _app_options.AppOptions.get("externalLinkTarget") === _pdf_link_service.LinkTarget.NONE) {
- _app_options.AppOptions.set("externalLinkTarget", _pdf_link_service.LinkTarget.TOP);
- }
-
- await this._initializeViewerComponents();
- this.bindEvents();
- this.bindWindowEvents();
- const appContainer = appConfig.appContainer || document.documentElement;
- this.l10n.translate(appContainer).then(() => {
- this.eventBus.dispatch("localized", {
- source: this
- });
- });
-
- this._initializedCapability.resolve();
- },
-
- async _readPreferences() {
- if (_app_options.AppOptions.get("disablePreferences")) {
- return;
- }
-
- if (_app_options.AppOptions._hasUserOptions()) {
- console.warn("_readPreferences: The Preferences may override manually set AppOptions; " + 'please use the "disablePreferences"-option in order to prevent that.');
- }
-
- try {
- _app_options.AppOptions.setAll(await this.preferences.getAll());
- } catch (reason) {
- console.error(`_readPreferences: "${reason?.message}".`);
- }
- },
-
- async _parseHashParameters() {
- if (!_app_options.AppOptions.get("pdfBugEnabled")) {
- return;
- }
-
- const hash = document.location.hash.substring(1);
-
- if (!hash) {
- return;
- }
-
- const {
- mainContainer,
- viewerContainer
- } = this.appConfig,
- params = (0, _ui_utils.parseQueryString)(hash);
-
- if (params.get("disableworker") === "true") {
- try {
- await loadFakeWorker();
- } catch (ex) {
- console.error(`_parseHashParameters: "${ex.message}".`);
- }
- }
-
- if (params.has("disablerange")) {
- _app_options.AppOptions.set("disableRange", params.get("disablerange") === "true");
- }
-
- if (params.has("disablestream")) {
- _app_options.AppOptions.set("disableStream", params.get("disablestream") === "true");
- }
-
- if (params.has("disableautofetch")) {
- _app_options.AppOptions.set("disableAutoFetch", params.get("disableautofetch") === "true");
- }
-
- if (params.has("disablefontface")) {
- _app_options.AppOptions.set("disableFontFace", params.get("disablefontface") === "true");
- }
-
- if (params.has("disablehistory")) {
- _app_options.AppOptions.set("disableHistory", params.get("disablehistory") === "true");
- }
-
- if (params.has("verbosity")) {
- _app_options.AppOptions.set("verbosity", params.get("verbosity") | 0);
- }
-
- if (params.has("textlayer")) {
- switch (params.get("textlayer")) {
- case "off":
- _app_options.AppOptions.set("textLayerMode", _ui_utils.TextLayerMode.DISABLE);
-
- break;
-
- case "visible":
- case "shadow":
- case "hover":
- viewerContainer.classList.add(`textLayer-${params.get("textlayer")}`);
-
- try {
- await loadPDFBug(this);
-
- this._PDFBug.loadCSS();
- } catch (ex) {
- console.error(`_parseHashParameters: "${ex.message}".`);
- }
-
- break;
- }
- }
-
- if (params.has("pdfbug")) {
- _app_options.AppOptions.set("pdfBug", true);
-
- _app_options.AppOptions.set("fontExtraProperties", true);
-
- const enabled = params.get("pdfbug").split(",");
-
- try {
- await loadPDFBug(this);
-
- this._PDFBug.init({
- OPS: _pdfjsLib.OPS
- }, mainContainer, enabled);
- } catch (ex) {
- console.error(`_parseHashParameters: "${ex.message}".`);
- }
- }
-
- if (params.has("locale")) {
- _app_options.AppOptions.set("locale", params.get("locale"));
- }
- },
-
- async _initializeL10n() {
- this.l10n = this.externalServices.createL10n({
- locale: _app_options.AppOptions.get("locale")
- });
- const dir = await this.l10n.getDirection();
- document.getElementsByTagName("html")[0].dir = dir;
- },
-
- _forceCssTheme() {
- const cssTheme = _app_options.AppOptions.get("viewerCssTheme");
-
- if (cssTheme === ViewerCssTheme.AUTOMATIC || !Object.values(ViewerCssTheme).includes(cssTheme)) {
- return;
- }
-
- try {
- const styleSheet = document.styleSheets[0];
- const cssRules = styleSheet?.cssRules || [];
-
- for (let i = 0, ii = cssRules.length; i < ii; i++) {
- const rule = cssRules[i];
-
- if (rule instanceof CSSMediaRule && rule.media?.[0] === "(prefers-color-scheme: dark)") {
- if (cssTheme === ViewerCssTheme.LIGHT) {
- styleSheet.deleteRule(i);
- return;
- }
-
- const darkRules = /^@media \(prefers-color-scheme: dark\) {\n\s*([\w\s-.,:;/\\{}()]+)\n}$/.exec(rule.cssText);
-
- if (darkRules?.[1]) {
- styleSheet.deleteRule(i);
- styleSheet.insertRule(darkRules[1], i);
- }
-
- return;
- }
- }
- } catch (reason) {
- console.error(`_forceCssTheme: "${reason?.message}".`);
- }
- },
-
- async _initializeViewerComponents() {
- const {
- appConfig,
- externalServices
- } = this;
- const eventBus = externalServices.isInAutomation ? new _event_utils.AutomationEventBus() : new _event_utils.EventBus();
- this.eventBus = eventBus;
- this.overlayManager = new _overlay_manager.OverlayManager();
- const pdfRenderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();
- pdfRenderingQueue.onIdle = this._cleanup.bind(this);
- this.pdfRenderingQueue = pdfRenderingQueue;
- const pdfLinkService = new _pdf_link_service.PDFLinkService({
- eventBus,
- externalLinkTarget: _app_options.AppOptions.get("externalLinkTarget"),
- externalLinkRel: _app_options.AppOptions.get("externalLinkRel"),
- ignoreDestinationZoom: _app_options.AppOptions.get("ignoreDestinationZoom")
- });
- this.pdfLinkService = pdfLinkService;
- const downloadManager = externalServices.createDownloadManager();
- this.downloadManager = downloadManager;
- const findController = new _pdf_find_controller.PDFFindController({
- linkService: pdfLinkService,
- eventBus
- });
- this.findController = findController;
- const pdfScriptingManager = new _pdf_scripting_manager.PDFScriptingManager({
- eventBus,
- sandboxBundleSrc: _app_options.AppOptions.get("sandboxBundleSrc"),
- scriptingFactory: externalServices,
- docPropertiesLookup: this._scriptingDocProperties.bind(this)
- });
- this.pdfScriptingManager = pdfScriptingManager;
- const container = appConfig.mainContainer,
- viewer = appConfig.viewerContainer;
-
- const annotationEditorMode = _app_options.AppOptions.get("annotationEditorMode");
-
- const pageColors = _app_options.AppOptions.get("forcePageColors") || window.matchMedia("(forced-colors: active)").matches ? {
- background: _app_options.AppOptions.get("pageColorsBackground"),
- foreground: _app_options.AppOptions.get("pageColorsForeground")
- } : null;
- this.pdfViewer = new _pdf_viewer.PDFViewer({
- container,
- viewer,
- eventBus,
- renderingQueue: pdfRenderingQueue,
- linkService: pdfLinkService,
- downloadManager,
- findController,
- scriptingManager: _app_options.AppOptions.get("enableScripting") && pdfScriptingManager,
- renderer: _app_options.AppOptions.get("renderer"),
- l10n: this.l10n,
- textLayerMode: _app_options.AppOptions.get("textLayerMode"),
- annotationMode: _app_options.AppOptions.get("annotationMode"),
- annotationEditorMode,
- imageResourcesPath: _app_options.AppOptions.get("imageResourcesPath"),
- enablePrintAutoRotate: _app_options.AppOptions.get("enablePrintAutoRotate"),
- useOnlyCssZoom: _app_options.AppOptions.get("useOnlyCssZoom"),
- maxCanvasPixels: _app_options.AppOptions.get("maxCanvasPixels"),
- enablePermissions: _app_options.AppOptions.get("enablePermissions"),
- pageColors
- });
- pdfRenderingQueue.setViewer(this.pdfViewer);
- pdfLinkService.setViewer(this.pdfViewer);
- pdfScriptingManager.setViewer(this.pdfViewer);
- this.pdfThumbnailViewer = new _pdf_thumbnail_viewer.PDFThumbnailViewer({
- container: appConfig.sidebar.thumbnailView,
- eventBus,
- renderingQueue: pdfRenderingQueue,
- linkService: pdfLinkService,
- l10n: this.l10n,
- pageColors
- });
- pdfRenderingQueue.setThumbnailViewer(this.pdfThumbnailViewer);
-
- if (!this.isViewerEmbedded && !_app_options.AppOptions.get("disableHistory")) {
- this.pdfHistory = new _pdf_history.PDFHistory({
- linkService: pdfLinkService,
- eventBus
- });
- pdfLinkService.setHistory(this.pdfHistory);
- }
-
- if (!this.supportsIntegratedFind) {
- this.findBar = new _pdf_find_bar.PDFFindBar(appConfig.findBar, eventBus, this.l10n);
- }
-
- if (annotationEditorMode !== _pdfjsLib.AnnotationEditorType.DISABLE) {
- this.annotationEditorParams = new _annotation_editor_params.AnnotationEditorParams(appConfig.annotationEditorParams, eventBus);
-
- for (const element of [document.getElementById("editorModeButtons"), document.getElementById("editorModeSeparator")]) {
- element.classList.remove("hidden");
- }
- }
-
- this.pdfDocumentProperties = new _pdf_document_properties.PDFDocumentProperties(appConfig.documentProperties, this.overlayManager, eventBus, this.l10n, () => {
- return this._docFilename;
- });
- this.pdfCursorTools = new _pdf_cursor_tools.PDFCursorTools({
- container,
- eventBus,
- cursorToolOnLoad: _app_options.AppOptions.get("cursorToolOnLoad")
- });
- this.toolbar = new _toolbar.Toolbar(appConfig.toolbar, eventBus, this.l10n);
- this.secondaryToolbar = new _secondary_toolbar.SecondaryToolbar(appConfig.secondaryToolbar, eventBus);
-
- if (this.supportsFullscreen) {
- this.pdfPresentationMode = new _pdf_presentation_mode.PDFPresentationMode({
- container,
- pdfViewer: this.pdfViewer,
- eventBus
- });
- }
-
- this.passwordPrompt = new _password_prompt.PasswordPrompt(appConfig.passwordOverlay, this.overlayManager, this.l10n, this.isViewerEmbedded);
- this.pdfOutlineViewer = new _pdf_outline_viewer.PDFOutlineViewer({
- container: appConfig.sidebar.outlineView,
- eventBus,
- linkService: pdfLinkService
- });
- this.pdfAttachmentViewer = new _pdf_attachment_viewer.PDFAttachmentViewer({
- container: appConfig.sidebar.attachmentsView,
- eventBus,
- downloadManager
- });
- this.pdfLayerViewer = new _pdf_layer_viewer.PDFLayerViewer({
- container: appConfig.sidebar.layersView,
- eventBus,
- l10n: this.l10n
- });
- this.pdfSidebar = new _pdf_sidebar.PDFSidebar({
- elements: appConfig.sidebar,
- pdfViewer: this.pdfViewer,
- pdfThumbnailViewer: this.pdfThumbnailViewer,
- eventBus,
- l10n: this.l10n
- });
- this.pdfSidebar.onToggled = this.forceRendering.bind(this);
- this.pdfSidebarResizer = new _pdf_sidebar_resizer.PDFSidebarResizer(appConfig.sidebarResizer, eventBus, this.l10n);
- },
-
- run(config) {
- this.initialize(config).then(webViewerInitialized);
- },
-
- get initialized() {
- return this._initializedCapability.settled;
- },
-
- get initializedPromise() {
- return this._initializedCapability.promise;
- },
-
- zoomIn(steps) {
- if (this.pdfViewer.isInPresentationMode) {
- return;
- }
-
- this.pdfViewer.increaseScale(steps);
- },
-
- zoomOut(steps) {
- if (this.pdfViewer.isInPresentationMode) {
- return;
- }
-
- this.pdfViewer.decreaseScale(steps);
- },
-
- zoomReset() {
- if (this.pdfViewer.isInPresentationMode) {
- return;
- }
-
- this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
- },
-
- get pagesCount() {
- return this.pdfDocument ? this.pdfDocument.numPages : 0;
- },
-
- get page() {
- return this.pdfViewer.currentPageNumber;
- },
-
- set page(val) {
- this.pdfViewer.currentPageNumber = val;
- },
-
- get supportsPrinting() {
- return PDFPrintServiceFactory.instance.supportsPrinting;
- },
-
- get supportsFullscreen() {
- return (0, _pdfjsLib.shadow)(this, "supportsFullscreen", document.fullscreenEnabled);
- },
-
- get supportsIntegratedFind() {
- return this.externalServices.supportsIntegratedFind;
- },
-
- get supportsDocumentFonts() {
- return this.externalServices.supportsDocumentFonts;
- },
-
- get loadingBar() {
- const bar = new _ui_utils.ProgressBar("loadingBar");
- return (0, _pdfjsLib.shadow)(this, "loadingBar", bar);
- },
-
- get supportedMouseWheelZoomModifierKeys() {
- return this.externalServices.supportedMouseWheelZoomModifierKeys;
- },
-
- initPassiveLoading() {
- throw new Error("Not implemented: initPassiveLoading");
- },
-
- setTitleUsingUrl(url = "", downloadUrl = null) {
- this.url = url;
- this.baseUrl = url.split("#")[0];
-
- if (downloadUrl) {
- this._downloadUrl = downloadUrl === url ? this.baseUrl : downloadUrl.split("#")[0];
- }
-
- let title = (0, _pdfjsLib.getPdfFilenameFromUrl)(url, "");
-
- if (!title) {
- try {
- title = decodeURIComponent((0, _pdfjsLib.getFilenameFromUrl)(url)) || url;
- } catch (ex) {
- title = url;
- }
- }
-
- this.setTitle(title);
- },
-
- setTitle(title = this._title) {
- this._title = title;
-
- if (this.isViewerEmbedded) {
- return;
- }
-
- document.title = `${this._hasAnnotationEditors ? "* " : ""}${title}`;
- },
-
- get _docFilename() {
- return this._contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(this.url);
- },
-
- _hideViewBookmark() {
- const {
- toolbar,
- secondaryToolbar
- } = this.appConfig;
- toolbar.viewBookmark.hidden = true;
- secondaryToolbar.viewBookmarkButton.hidden = true;
- },
-
- _cancelIdleCallbacks() {
- if (!this._idleCallbacks.size) {
- return;
- }
-
- for (const callback of this._idleCallbacks) {
- window.cancelIdleCallback(callback);
- }
-
- this._idleCallbacks.clear();
- },
-
- async close() {
- this._unblockDocumentLoadEvent();
-
- this._hideViewBookmark();
-
- const {
- container
- } = this.appConfig.errorWrapper;
- container.hidden = true;
-
- if (!this.pdfLoadingTask) {
- return;
- }
-
- if (this.pdfDocument?.annotationStorage.size > 0 && this._annotationStorageModified) {
- try {
- await this.save();
- } catch (reason) {}
- }
-
- const promises = [];
- promises.push(this.pdfLoadingTask.destroy());
- this.pdfLoadingTask = null;
-
- if (this.pdfDocument) {
- this.pdfDocument = null;
- this.pdfThumbnailViewer.setDocument(null);
- this.pdfViewer.setDocument(null);
- this.pdfLinkService.setDocument(null);
- this.pdfDocumentProperties.setDocument(null);
- }
-
- this.pdfLinkService.externalLinkEnabled = true;
- this.store = null;
- this.isInitialViewSet = false;
- this.downloadComplete = false;
- this.url = "";
- this.baseUrl = "";
- this._downloadUrl = "";
- this.documentInfo = null;
- this.metadata = null;
- this._contentDispositionFilename = null;
- this._contentLength = null;
- this._saveInProgress = false;
- this._docStats = null;
- this._hasAnnotationEditors = false;
-
- this._cancelIdleCallbacks();
-
- promises.push(this.pdfScriptingManager.destroyPromise);
- this.setTitle();
- this.pdfSidebar.reset();
- this.pdfOutlineViewer.reset();
- this.pdfAttachmentViewer.reset();
- this.pdfLayerViewer.reset();
- this.pdfHistory?.reset();
- this.findBar?.reset();
- this.toolbar.reset();
- this.secondaryToolbar.reset();
- this._PDFBug?.cleanup();
- await Promise.all(promises);
- },
-
- async open(file, args) {
- if (this.pdfLoadingTask) {
- await this.close();
- }
-
- const workerParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.WORKER);
-
- for (const key in workerParameters) {
- _pdfjsLib.GlobalWorkerOptions[key] = workerParameters[key];
- }
-
- const parameters = Object.create(null);
-
- if (typeof file === "string") {
- this.setTitleUsingUrl(file, file);
- parameters.url = file;
- } else if (file && "byteLength" in file) {
- parameters.data = file;
- } else if (file.url && file.originalUrl) {
- this.setTitleUsingUrl(file.originalUrl, file.url);
- parameters.url = file.url;
- }
-
- const apiParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.API);
-
- for (const key in apiParameters) {
- let value = apiParameters[key];
-
- if (key === "docBaseUrl" && !value) {}
-
- parameters[key] = value;
- }
-
- if (args) {
- for (const key in args) {
- parameters[key] = args[key];
- }
- }
-
- const loadingTask = (0, _pdfjsLib.getDocument)(parameters);
- this.pdfLoadingTask = loadingTask;
-
- loadingTask.onPassword = (updateCallback, reason) => {
- this.pdfLinkService.externalLinkEnabled = false;
- this.passwordPrompt.setUpdateCallback(updateCallback, reason);
- this.passwordPrompt.open();
- };
-
- loadingTask.onProgress = ({
- loaded,
- total
- }) => {
- this.progress(loaded / total);
- };
-
- loadingTask.onUnsupportedFeature = this.fallback.bind(this);
- return loadingTask.promise.then(pdfDocument => {
- this.load(pdfDocument);
- }, reason => {
- if (loadingTask !== this.pdfLoadingTask) {
- return undefined;
- }
-
- let key = "loading_error";
-
- if (reason instanceof _pdfjsLib.InvalidPDFException) {
- key = "invalid_file_error";
- } else if (reason instanceof _pdfjsLib.MissingPDFException) {
- key = "missing_file_error";
- } else if (reason instanceof _pdfjsLib.UnexpectedResponseException) {
- key = "unexpected_response_error";
- }
-
- return this.l10n.get(key).then(msg => {
- this._documentError(msg, {
- message: reason?.message
- });
-
- throw reason;
- });
- });
- },
-
- _ensureDownloadComplete() {
- if (this.pdfDocument && this.downloadComplete) {
- return;
- }
-
- throw new Error("PDF document not downloaded.");
- },
-
- async download() {
- const url = this._downloadUrl,
- filename = this._docFilename;
-
- try {
- this._ensureDownloadComplete();
-
- const data = await this.pdfDocument.getData();
- const blob = new Blob([data], {
- type: "application/pdf"
- });
- await this.downloadManager.download(blob, url, filename);
- } catch (reason) {
- await this.downloadManager.downloadUrl(url, filename);
- }
- },
-
- async save() {
- if (this._saveInProgress) {
- return;
- }
-
- this._saveInProgress = true;
- await this.pdfScriptingManager.dispatchWillSave();
- const url = this._downloadUrl,
- filename = this._docFilename;
-
- try {
- this._ensureDownloadComplete();
-
- const data = await this.pdfDocument.saveDocument();
- const blob = new Blob([data], {
- type: "application/pdf"
- });
- await this.downloadManager.download(blob, url, filename);
- } catch (reason) {
- console.error(`Error when saving the document: ${reason.message}`);
- await this.download();
- } finally {
- await this.pdfScriptingManager.dispatchDidSave();
- this._saveInProgress = false;
- }
-
- if (this._hasAnnotationEditors) {
- this.externalServices.reportTelemetry({
- type: "editing",
- data: {
- type: "save"
- }
- });
- }
- },
-
- downloadOrSave() {
- if (this.pdfDocument?.annotationStorage.size > 0) {
- this.save();
- } else {
- this.download();
- }
- },
-
- fallback(featureId) {
- this.externalServices.reportTelemetry({
- type: "unsupportedFeature",
- featureId
- });
- },
-
- _documentError(message, moreInfo = null) {
- this._unblockDocumentLoadEvent();
-
- this._otherError(message, moreInfo);
-
- this.eventBus.dispatch("documenterror", {
- source: this,
- message,
- reason: moreInfo?.message ?? null
- });
- },
-
- _otherError(message, moreInfo = null) {
- const moreInfoText = [this.l10n.get("error_version_info", {
- version: _pdfjsLib.version || "?",
- build: _pdfjsLib.build || "?"
- })];
-
- if (moreInfo) {
- moreInfoText.push(this.l10n.get("error_message", {
- message: moreInfo.message
- }));
-
- if (moreInfo.stack) {
- moreInfoText.push(this.l10n.get("error_stack", {
- stack: moreInfo.stack
- }));
- } else {
- if (moreInfo.filename) {
- moreInfoText.push(this.l10n.get("error_file", {
- file: moreInfo.filename
- }));
- }
-
- if (moreInfo.lineNumber) {
- moreInfoText.push(this.l10n.get("error_line", {
- line: moreInfo.lineNumber
- }));
- }
- }
- }
-
- const errorWrapperConfig = this.appConfig.errorWrapper;
- const errorWrapper = errorWrapperConfig.container;
- errorWrapper.hidden = false;
- const errorMessage = errorWrapperConfig.errorMessage;
- errorMessage.textContent = message;
- const closeButton = errorWrapperConfig.closeButton;
-
- closeButton.onclick = function () {
- errorWrapper.hidden = true;
- };
-
- const errorMoreInfo = errorWrapperConfig.errorMoreInfo;
- const moreInfoButton = errorWrapperConfig.moreInfoButton;
- const lessInfoButton = errorWrapperConfig.lessInfoButton;
-
- moreInfoButton.onclick = function () {
- errorMoreInfo.hidden = false;
- moreInfoButton.hidden = true;
- lessInfoButton.hidden = false;
- errorMoreInfo.style.height = errorMoreInfo.scrollHeight + "px";
- };
-
- lessInfoButton.onclick = function () {
- errorMoreInfo.hidden = true;
- moreInfoButton.hidden = false;
- lessInfoButton.hidden = true;
- };
-
- moreInfoButton.oncontextmenu = _ui_utils.noContextMenuHandler;
- lessInfoButton.oncontextmenu = _ui_utils.noContextMenuHandler;
- closeButton.oncontextmenu = _ui_utils.noContextMenuHandler;
- moreInfoButton.hidden = false;
- lessInfoButton.hidden = true;
- Promise.all(moreInfoText).then(parts => {
- errorMoreInfo.value = parts.join("\n");
- });
- },
-
- progress(level) {
- if (this.downloadComplete) {
- return;
- }
-
- const percent = Math.round(level * 100);
-
- if (percent <= this.loadingBar.percent) {
- return;
- }
-
- this.loadingBar.percent = percent;
-
- const disableAutoFetch = this.pdfDocument?.loadingParams.disableAutoFetch ?? _app_options.AppOptions.get("disableAutoFetch");
-
- if (!disableAutoFetch || isNaN(percent)) {
- return;
- }
-
- if (this.disableAutoFetchLoadingBarTimeout) {
- clearTimeout(this.disableAutoFetchLoadingBarTimeout);
- this.disableAutoFetchLoadingBarTimeout = null;
- }
-
- this.loadingBar.show();
- this.disableAutoFetchLoadingBarTimeout = setTimeout(() => {
- this.loadingBar.hide();
- this.disableAutoFetchLoadingBarTimeout = null;
- }, DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT);
- },
-
- load(pdfDocument) {
- this.pdfDocument = pdfDocument;
- pdfDocument.getDownloadInfo().then(({
- length
- }) => {
- this._contentLength = length;
- this.downloadComplete = true;
- this.loadingBar.hide();
- firstPagePromise.then(() => {
- this.eventBus.dispatch("documentloaded", {
- source: this
- });
- });
- });
- const pageLayoutPromise = pdfDocument.getPageLayout().catch(function () {});
- const pageModePromise = pdfDocument.getPageMode().catch(function () {});
- const openActionPromise = pdfDocument.getOpenAction().catch(function () {});
- this.toolbar.setPagesCount(pdfDocument.numPages, false);
- this.secondaryToolbar.setPagesCount(pdfDocument.numPages);
- let baseDocumentUrl;
- baseDocumentUrl = null;
- this.pdfLinkService.setDocument(pdfDocument, baseDocumentUrl);
- this.pdfDocumentProperties.setDocument(pdfDocument);
- const pdfViewer = this.pdfViewer;
- pdfViewer.setDocument(pdfDocument);
- const {
- firstPagePromise,
- onePageRendered,
- pagesPromise
- } = pdfViewer;
- const pdfThumbnailViewer = this.pdfThumbnailViewer;
- pdfThumbnailViewer.setDocument(pdfDocument);
- const storedPromise = (this.store = new _view_history.ViewHistory(pdfDocument.fingerprints[0])).getMultiple({
- page: null,
- zoom: _ui_utils.DEFAULT_SCALE_VALUE,
- scrollLeft: "0",
- scrollTop: "0",
- rotation: null,
- sidebarView: _ui_utils.SidebarView.UNKNOWN,
- scrollMode: _ui_utils.ScrollMode.UNKNOWN,
- spreadMode: _ui_utils.SpreadMode.UNKNOWN
- }).catch(() => {
- return Object.create(null);
- });
- firstPagePromise.then(pdfPage => {
- this.loadingBar.setWidth(this.appConfig.viewerContainer);
-
- this._initializeAnnotationStorageCallbacks(pdfDocument);
-
- Promise.all([_ui_utils.animationStarted, storedPromise, pageLayoutPromise, pageModePromise, openActionPromise]).then(async ([timeStamp, stored, pageLayout, pageMode, openAction]) => {
- const viewOnLoad = _app_options.AppOptions.get("viewOnLoad");
-
- this._initializePdfHistory({
- fingerprint: pdfDocument.fingerprints[0],
- viewOnLoad,
- initialDest: openAction?.dest
- });
-
- const initialBookmark = this.initialBookmark;
-
- const zoom = _app_options.AppOptions.get("defaultZoomValue");
-
- let hash = zoom ? `zoom=${zoom}` : null;
- let rotation = null;
-
- let sidebarView = _app_options.AppOptions.get("sidebarViewOnLoad");
-
- let scrollMode = _app_options.AppOptions.get("scrollModeOnLoad");
-
- let spreadMode = _app_options.AppOptions.get("spreadModeOnLoad");
-
- if (stored.page && viewOnLoad !== ViewOnLoad.INITIAL) {
- hash = `page=${stored.page}&zoom=${zoom || stored.zoom},` + `${stored.scrollLeft},${stored.scrollTop}`;
- rotation = parseInt(stored.rotation, 10);
-
- if (sidebarView === _ui_utils.SidebarView.UNKNOWN) {
- sidebarView = stored.sidebarView | 0;
- }
-
- if (scrollMode === _ui_utils.ScrollMode.UNKNOWN) {
- scrollMode = stored.scrollMode | 0;
- }
-
- if (spreadMode === _ui_utils.SpreadMode.UNKNOWN) {
- spreadMode = stored.spreadMode | 0;
- }
- }
-
- if (pageMode && sidebarView === _ui_utils.SidebarView.UNKNOWN) {
- sidebarView = (0, _ui_utils.apiPageModeToSidebarView)(pageMode);
- }
-
- if (pageLayout && scrollMode === _ui_utils.ScrollMode.UNKNOWN && spreadMode === _ui_utils.SpreadMode.UNKNOWN) {
- const modes = (0, _ui_utils.apiPageLayoutToViewerModes)(pageLayout);
- spreadMode = modes.spreadMode;
- }
-
- this.setInitialView(hash, {
- rotation,
- sidebarView,
- scrollMode,
- spreadMode
- });
- this.eventBus.dispatch("documentinit", {
- source: this
- });
-
- if (!this.isViewerEmbedded) {
- pdfViewer.focus();
- }
-
- await Promise.race([pagesPromise, new Promise(resolve => {
- setTimeout(resolve, FORCE_PAGES_LOADED_TIMEOUT);
- })]);
-
- if (!initialBookmark && !hash) {
- return;
- }
-
- if (pdfViewer.hasEqualPageSizes) {
- return;
- }
-
- this.initialBookmark = initialBookmark;
- pdfViewer.currentScaleValue = pdfViewer.currentScaleValue;
- this.setInitialView(hash);
- }).catch(() => {
- this.setInitialView();
- }).then(function () {
- pdfViewer.update();
- });
- });
- pagesPromise.then(() => {
- this._unblockDocumentLoadEvent();
-
- this._initializeAutoPrint(pdfDocument, openActionPromise);
- }, reason => {
- this.l10n.get("loading_error").then(msg => {
- this._documentError(msg, {
- message: reason?.message
- });
- });
- });
- onePageRendered.then(data => {
- this.externalServices.reportTelemetry({
- type: "pageInfo",
- timestamp: data.timestamp
- });
- pdfDocument.getOutline().then(outline => {
- if (pdfDocument !== this.pdfDocument) {
- return;
- }
-
- this.pdfOutlineViewer.render({
- outline,
- pdfDocument
- });
- });
- pdfDocument.getAttachments().then(attachments => {
- if (pdfDocument !== this.pdfDocument) {
- return;
- }
-
- this.pdfAttachmentViewer.render({
- attachments
- });
- });
- pdfViewer.optionalContentConfigPromise.then(optionalContentConfig => {
- if (pdfDocument !== this.pdfDocument) {
- return;
- }
-
- this.pdfLayerViewer.render({
- optionalContentConfig,
- pdfDocument
- });
- });
-
- if ("requestIdleCallback" in window) {
- const callback = window.requestIdleCallback(() => {
- this._collectTelemetry(pdfDocument);
-
- this._idleCallbacks.delete(callback);
- }, {
- timeout: 1000
- });
-
- this._idleCallbacks.add(callback);
- }
- });
-
- this._initializePageLabels(pdfDocument);
-
- this._initializeMetadata(pdfDocument);
- },
-
- async _scriptingDocProperties(pdfDocument) {
- if (!this.documentInfo) {
- await new Promise(resolve => {
- this.eventBus._on("metadataloaded", resolve, {
- once: true
- });
- });
-
- if (pdfDocument !== this.pdfDocument) {
- return null;
- }
- }
-
- if (!this._contentLength) {
- await new Promise(resolve => {
- this.eventBus._on("documentloaded", resolve, {
- once: true
- });
- });
-
- if (pdfDocument !== this.pdfDocument) {
- return null;
- }
- }
-
- return { ...this.documentInfo,
- baseURL: this.baseUrl,
- filesize: this._contentLength,
- filename: this._docFilename,
- metadata: this.metadata?.getRaw(),
- authors: this.metadata?.get("dc:creator"),
- numPages: this.pagesCount,
- URL: this.url
- };
- },
-
- async _collectTelemetry(pdfDocument) {
- const markInfo = await this.pdfDocument.getMarkInfo();
-
- if (pdfDocument !== this.pdfDocument) {
- return;
- }
-
- const tagged = markInfo?.Marked || false;
- this.externalServices.reportTelemetry({
- type: "tagged",
- tagged
- });
- },
-
- async _initializeAutoPrint(pdfDocument, openActionPromise) {
- const [openAction, javaScript] = await Promise.all([openActionPromise, !this.pdfViewer.enableScripting ? pdfDocument.getJavaScript() : null]);
-
- if (pdfDocument !== this.pdfDocument) {
- return;
- }
-
- let triggerAutoPrint = false;
-
- if (openAction?.action === "Print") {
- triggerAutoPrint = true;
- }
-
- if (javaScript) {
- javaScript.some(js => {
- if (!js) {
- return false;
- }
-
- console.warn("Warning: JavaScript support is not enabled");
- this.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.javaScript);
- return true;
- });
-
- if (!triggerAutoPrint) {
- for (const js of javaScript) {
- if (js && _ui_utils.AutoPrintRegExp.test(js)) {
- triggerAutoPrint = true;
- break;
- }
- }
- }
- }
-
- if (triggerAutoPrint) {
- this.triggerPrinting();
- }
- },
-
- async _initializeMetadata(pdfDocument) {
- const {
- info,
- metadata,
- contentDispositionFilename,
- contentLength
- } = await pdfDocument.getMetadata();
-
- if (pdfDocument !== this.pdfDocument) {
- return;
- }
-
- this.documentInfo = info;
- this.metadata = metadata;
- this._contentDispositionFilename ??= contentDispositionFilename;
- this._contentLength ??= contentLength;
- console.log(`PDF ${pdfDocument.fingerprints[0]} [${info.PDFFormatVersion} ` + `${(info.Producer || "-").trim()} / ${(info.Creator || "-").trim()}] ` + `(PDF.js: ${_pdfjsLib.version || "-"})`);
- let pdfTitle = info.Title;
- const metadataTitle = metadata?.get("dc:title");
-
- if (metadataTitle) {
- if (metadataTitle !== "Untitled" && !/[\uFFF0-\uFFFF]/g.test(metadataTitle)) {
- pdfTitle = metadataTitle;
- }
- }
-
- if (pdfTitle) {
- this.setTitle(`${pdfTitle} - ${this._contentDispositionFilename || this._title}`);
- } else if (this._contentDispositionFilename) {
- this.setTitle(this._contentDispositionFilename);
- }
-
- if (info.IsXFAPresent && !info.IsAcroFormPresent && !pdfDocument.isPureXfa) {
- if (pdfDocument.loadingParams.enableXfa) {
- console.warn("Warning: XFA Foreground documents are not supported");
- } else {
- console.warn("Warning: XFA support is not enabled");
- }
-
- this.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.forms);
- } else if ((info.IsAcroFormPresent || info.IsXFAPresent) && !this.pdfViewer.renderForms) {
- console.warn("Warning: Interactive form support is not enabled");
- this.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.forms);
- }
-
- if (info.IsSignaturesPresent) {
- console.warn("Warning: Digital signatures validation is not supported");
- this.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.signatures);
- }
-
- let versionId = "other";
-
- if (KNOWN_VERSIONS.includes(info.PDFFormatVersion)) {
- versionId = `v${info.PDFFormatVersion.replace(".", "_")}`;
- }
-
- let generatorId = "other";
-
- if (info.Producer) {
- const producer = info.Producer.toLowerCase();
- KNOWN_GENERATORS.some(function (generator) {
- if (!producer.includes(generator)) {
- return false;
- }
-
- generatorId = generator.replace(/[ .-]/g, "_");
- return true;
- });
- }
-
- let formType = null;
-
- if (info.IsXFAPresent) {
- formType = "xfa";
- } else if (info.IsAcroFormPresent) {
- formType = "acroform";
- }
-
- this.externalServices.reportTelemetry({
- type: "documentInfo",
- version: versionId,
- generator: generatorId,
- formType
- });
- this.eventBus.dispatch("metadataloaded", {
- source: this
- });
- },
-
- async _initializePageLabels(pdfDocument) {
- const labels = await pdfDocument.getPageLabels();
-
- if (pdfDocument !== this.pdfDocument) {
- return;
- }
-
- if (!labels || _app_options.AppOptions.get("disablePageLabels")) {
- return;
- }
-
- const numLabels = labels.length;
- let standardLabels = 0,
- emptyLabels = 0;
-
- for (let i = 0; i < numLabels; i++) {
- const label = labels[i];
-
- if (label === (i + 1).toString()) {
- standardLabels++;
- } else if (label === "") {
- emptyLabels++;
- } else {
- break;
- }
- }
-
- if (standardLabels >= numLabels || emptyLabels >= numLabels) {
- return;
- }
-
- const {
- pdfViewer,
- pdfThumbnailViewer,
- toolbar
- } = this;
- pdfViewer.setPageLabels(labels);
- pdfThumbnailViewer.setPageLabels(labels);
- toolbar.setPagesCount(numLabels, true);
- toolbar.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel);
- },
-
- _initializePdfHistory({
- fingerprint,
- viewOnLoad,
- initialDest = null
- }) {
- if (!this.pdfHistory) {
- return;
- }
-
- this.pdfHistory.initialize({
- fingerprint,
- resetHistory: viewOnLoad === ViewOnLoad.INITIAL,
- updateUrl: _app_options.AppOptions.get("historyUpdateUrl")
- });
-
- if (this.pdfHistory.initialBookmark) {
- this.initialBookmark = this.pdfHistory.initialBookmark;
- this.initialRotation = this.pdfHistory.initialRotation;
- }
-
- if (initialDest && !this.initialBookmark && viewOnLoad === ViewOnLoad.UNKNOWN) {
- this.initialBookmark = JSON.stringify(initialDest);
- this.pdfHistory.push({
- explicitDest: initialDest,
- pageNumber: null
- });
- }
- },
-
- _initializeAnnotationStorageCallbacks(pdfDocument) {
- if (pdfDocument !== this.pdfDocument) {
- return;
- }
-
- const {
- annotationStorage
- } = pdfDocument;
-
- annotationStorage.onSetModified = () => {
- window.addEventListener("beforeunload", beforeUnload);
- this._annotationStorageModified = true;
- };
-
- annotationStorage.onResetModified = () => {
- window.removeEventListener("beforeunload", beforeUnload);
- delete this._annotationStorageModified;
- };
-
- annotationStorage.onAnnotationEditor = typeStr => {
- this._hasAnnotationEditors = !!typeStr;
- this.setTitle();
-
- if (typeStr) {
- this.externalServices.reportTelemetry({
- type: "editing",
- data: {
- type: typeStr
- }
- });
- }
- };
- },
-
- setInitialView(storedHash, {
- rotation,
- sidebarView,
- scrollMode,
- spreadMode
- } = {}) {
- const setRotation = angle => {
- if ((0, _ui_utils.isValidRotation)(angle)) {
- this.pdfViewer.pagesRotation = angle;
- }
- };
-
- const setViewerModes = (scroll, spread) => {
- if ((0, _ui_utils.isValidScrollMode)(scroll)) {
- this.pdfViewer.scrollMode = scroll;
- }
-
- if ((0, _ui_utils.isValidSpreadMode)(spread)) {
- this.pdfViewer.spreadMode = spread;
- }
- };
-
- this.isInitialViewSet = true;
- this.pdfSidebar.setInitialView(sidebarView);
- setViewerModes(scrollMode, spreadMode);
-
- if (this.initialBookmark) {
- setRotation(this.initialRotation);
- delete this.initialRotation;
- this.pdfLinkService.setHash(this.initialBookmark);
- this.initialBookmark = null;
- } else if (storedHash) {
- setRotation(rotation);
- this.pdfLinkService.setHash(storedHash);
- }
-
- this.toolbar.setPageNumber(this.pdfViewer.currentPageNumber, this.pdfViewer.currentPageLabel);
- this.secondaryToolbar.setPageNumber(this.pdfViewer.currentPageNumber);
-
- if (!this.pdfViewer.currentScaleValue) {
- this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
- }
- },
-
- _cleanup() {
- if (!this.pdfDocument) {
- return;
- }
-
- this.pdfViewer.cleanup();
- this.pdfThumbnailViewer.cleanup();
- this.pdfDocument.cleanup(this.pdfViewer.renderer === _ui_utils.RendererType.SVG);
- },
-
- forceRendering() {
- this.pdfRenderingQueue.printing = !!this.printService;
- this.pdfRenderingQueue.isThumbnailViewEnabled = this.pdfSidebar.visibleView === _ui_utils.SidebarView.THUMBS;
- this.pdfRenderingQueue.renderHighestPriority();
- },
-
- beforePrint() {
- this._printAnnotationStoragePromise = this.pdfScriptingManager.dispatchWillPrint().catch(() => {}).then(() => {
- return this.pdfDocument?.annotationStorage.print;
- });
-
- if (this.printService) {
- return;
- }
-
- if (!this.supportsPrinting) {
- this.l10n.get("printing_not_supported").then(msg => {
- this._otherError(msg);
- });
- return;
- }
-
- if (!this.pdfViewer.pageViewsReady) {
- this.l10n.get("printing_not_ready").then(msg => {
- window.alert(msg);
- });
- return;
- }
-
- const pagesOverview = this.pdfViewer.getPagesOverview();
- const printContainer = this.appConfig.printContainer;
-
- const printResolution = _app_options.AppOptions.get("printResolution");
-
- const optionalContentConfigPromise = this.pdfViewer.optionalContentConfigPromise;
- const printService = PDFPrintServiceFactory.instance.createPrintService(this.pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, this._printAnnotationStoragePromise, this.l10n);
- this.printService = printService;
- this.forceRendering();
- printService.layout();
- this.externalServices.reportTelemetry({
- type: "print"
- });
-
- if (this._hasAnnotationEditors) {
- this.externalServices.reportTelemetry({
- type: "editing",
- data: {
- type: "print"
- }
- });
- }
- },
-
- afterPrint() {
- if (this._printAnnotationStoragePromise) {
- this._printAnnotationStoragePromise.then(() => {
- this.pdfScriptingManager.dispatchDidPrint();
- });
-
- this._printAnnotationStoragePromise = null;
- }
-
- if (this.printService) {
- this.printService.destroy();
- this.printService = null;
- this.pdfDocument?.annotationStorage.resetModified();
- }
-
- this.forceRendering();
- },
-
- rotatePages(delta) {
- this.pdfViewer.pagesRotation += delta;
- },
-
- requestPresentationMode() {
- this.pdfPresentationMode?.request();
- },
-
- triggerPrinting() {
- if (!this.supportsPrinting) {
- return;
- }
-
- window.print();
- },
-
- bindEvents() {
- const {
- eventBus,
- _boundEvents
- } = this;
- _boundEvents.beforePrint = this.beforePrint.bind(this);
- _boundEvents.afterPrint = this.afterPrint.bind(this);
-
- eventBus._on("resize", webViewerResize);
-
- eventBus._on("hashchange", webViewerHashchange);
-
- eventBus._on("beforeprint", _boundEvents.beforePrint);
-
- eventBus._on("afterprint", _boundEvents.afterPrint);
-
- eventBus._on("pagerendered", webViewerPageRendered);
-
- eventBus._on("updateviewarea", webViewerUpdateViewarea);
-
- eventBus._on("pagechanging", webViewerPageChanging);
-
- eventBus._on("scalechanging", webViewerScaleChanging);
-
- eventBus._on("rotationchanging", webViewerRotationChanging);
-
- eventBus._on("sidebarviewchanged", webViewerSidebarViewChanged);
-
- eventBus._on("pagemode", webViewerPageMode);
-
- eventBus._on("namedaction", webViewerNamedAction);
-
- eventBus._on("presentationmodechanged", webViewerPresentationModeChanged);
-
- eventBus._on("presentationmode", webViewerPresentationMode);
-
- eventBus._on("switchannotationeditormode", webViewerSwitchAnnotationEditorMode);
-
- eventBus._on("switchannotationeditorparams", webViewerSwitchAnnotationEditorParams);
-
- eventBus._on("print", webViewerPrint);
-
- eventBus._on("download", webViewerDownload);
-
- eventBus._on("firstpage", webViewerFirstPage);
-
- eventBus._on("lastpage", webViewerLastPage);
-
- eventBus._on("nextpage", webViewerNextPage);
-
- eventBus._on("previouspage", webViewerPreviousPage);
-
- eventBus._on("zoomin", webViewerZoomIn);
-
- eventBus._on("zoomout", webViewerZoomOut);
-
- eventBus._on("zoomreset", webViewerZoomReset);
-
- eventBus._on("pagenumberchanged", webViewerPageNumberChanged);
-
- eventBus._on("scalechanged", webViewerScaleChanged);
-
- eventBus._on("rotatecw", webViewerRotateCw);
-
- eventBus._on("rotateccw", webViewerRotateCcw);
-
- eventBus._on("optionalcontentconfig", webViewerOptionalContentConfig);
-
- eventBus._on("switchscrollmode", webViewerSwitchScrollMode);
-
- eventBus._on("scrollmodechanged", webViewerScrollModeChanged);
-
- eventBus._on("switchspreadmode", webViewerSwitchSpreadMode);
-
- eventBus._on("spreadmodechanged", webViewerSpreadModeChanged);
-
- eventBus._on("documentproperties", webViewerDocumentProperties);
-
- eventBus._on("findfromurlhash", webViewerFindFromUrlHash);
-
- eventBus._on("updatefindmatchescount", webViewerUpdateFindMatchesCount);
-
- eventBus._on("updatefindcontrolstate", webViewerUpdateFindControlState);
-
- if (_app_options.AppOptions.get("pdfBug")) {
- _boundEvents.reportPageStatsPDFBug = reportPageStatsPDFBug;
-
- eventBus._on("pagerendered", _boundEvents.reportPageStatsPDFBug);
-
- eventBus._on("pagechanging", _boundEvents.reportPageStatsPDFBug);
- }
-
- eventBus._on("fileinputchange", webViewerFileInputChange);
-
- eventBus._on("openfile", webViewerOpenFile);
- },
-
- bindWindowEvents() {
- const {
- eventBus,
- _boundEvents
- } = this;
-
- function addWindowResolutionChange(evt = null) {
- if (evt) {
- webViewerResolutionChange(evt);
- }
-
- const mediaQueryList = window.matchMedia(`(resolution: ${window.devicePixelRatio || 1}dppx)`);
- mediaQueryList.addEventListener("change", addWindowResolutionChange, {
- once: true
- });
-
- _boundEvents.removeWindowResolutionChange ||= function () {
- mediaQueryList.removeEventListener("change", addWindowResolutionChange);
- _boundEvents.removeWindowResolutionChange = null;
- };
- }
-
- addWindowResolutionChange();
-
- _boundEvents.windowResize = () => {
- eventBus.dispatch("resize", {
- source: window
- });
- };
-
- _boundEvents.windowHashChange = () => {
- eventBus.dispatch("hashchange", {
- source: window,
- hash: document.location.hash.substring(1)
- });
- };
-
- _boundEvents.windowBeforePrint = () => {
- eventBus.dispatch("beforeprint", {
- source: window
- });
- };
-
- _boundEvents.windowAfterPrint = () => {
- eventBus.dispatch("afterprint", {
- source: window
- });
- };
-
- _boundEvents.windowUpdateFromSandbox = event => {
- eventBus.dispatch("updatefromsandbox", {
- source: window,
- detail: event.detail
- });
- };
-
- window.addEventListener("visibilitychange", webViewerVisibilityChange);
- window.addEventListener("wheel", webViewerWheel, {
- passive: false
- });
- window.addEventListener("touchstart", webViewerTouchStart, {
- passive: false
- });
- window.addEventListener("click", webViewerClick);
- window.addEventListener("keydown", webViewerKeyDown);
- window.addEventListener("resize", _boundEvents.windowResize);
- window.addEventListener("hashchange", _boundEvents.windowHashChange);
- window.addEventListener("beforeprint", _boundEvents.windowBeforePrint);
- window.addEventListener("afterprint", _boundEvents.windowAfterPrint);
- window.addEventListener("updatefromsandbox", _boundEvents.windowUpdateFromSandbox);
- },
-
- unbindEvents() {
- const {
- eventBus,
- _boundEvents
- } = this;
-
- eventBus._off("resize", webViewerResize);
-
- eventBus._off("hashchange", webViewerHashchange);
-
- eventBus._off("beforeprint", _boundEvents.beforePrint);
-
- eventBus._off("afterprint", _boundEvents.afterPrint);
-
- eventBus._off("pagerendered", webViewerPageRendered);
-
- eventBus._off("updateviewarea", webViewerUpdateViewarea);
-
- eventBus._off("pagechanging", webViewerPageChanging);
-
- eventBus._off("scalechanging", webViewerScaleChanging);
-
- eventBus._off("rotationchanging", webViewerRotationChanging);
-
- eventBus._off("sidebarviewchanged", webViewerSidebarViewChanged);
-
- eventBus._off("pagemode", webViewerPageMode);
-
- eventBus._off("namedaction", webViewerNamedAction);
-
- eventBus._off("presentationmodechanged", webViewerPresentationModeChanged);
-
- eventBus._off("presentationmode", webViewerPresentationMode);
-
- eventBus._off("print", webViewerPrint);
-
- eventBus._off("download", webViewerDownload);
-
- eventBus._off("firstpage", webViewerFirstPage);
-
- eventBus._off("lastpage", webViewerLastPage);
-
- eventBus._off("nextpage", webViewerNextPage);
-
- eventBus._off("previouspage", webViewerPreviousPage);
-
- eventBus._off("zoomin", webViewerZoomIn);
-
- eventBus._off("zoomout", webViewerZoomOut);
-
- eventBus._off("zoomreset", webViewerZoomReset);
-
- eventBus._off("pagenumberchanged", webViewerPageNumberChanged);
-
- eventBus._off("scalechanged", webViewerScaleChanged);
-
- eventBus._off("rotatecw", webViewerRotateCw);
-
- eventBus._off("rotateccw", webViewerRotateCcw);
-
- eventBus._off("optionalcontentconfig", webViewerOptionalContentConfig);
-
- eventBus._off("switchscrollmode", webViewerSwitchScrollMode);
-
- eventBus._off("scrollmodechanged", webViewerScrollModeChanged);
-
- eventBus._off("switchspreadmode", webViewerSwitchSpreadMode);
-
- eventBus._off("spreadmodechanged", webViewerSpreadModeChanged);
-
- eventBus._off("documentproperties", webViewerDocumentProperties);
-
- eventBus._off("findfromurlhash", webViewerFindFromUrlHash);
-
- eventBus._off("updatefindmatchescount", webViewerUpdateFindMatchesCount);
-
- eventBus._off("updatefindcontrolstate", webViewerUpdateFindControlState);
-
- if (_boundEvents.reportPageStatsPDFBug) {
- eventBus._off("pagerendered", _boundEvents.reportPageStatsPDFBug);
-
- eventBus._off("pagechanging", _boundEvents.reportPageStatsPDFBug);
-
- _boundEvents.reportPageStatsPDFBug = null;
- }
-
- eventBus._off("fileinputchange", webViewerFileInputChange);
-
- eventBus._off("openfile", webViewerOpenFile);
-
- _boundEvents.beforePrint = null;
- _boundEvents.afterPrint = null;
- },
-
- unbindWindowEvents() {
- const {
- _boundEvents
- } = this;
- window.removeEventListener("visibilitychange", webViewerVisibilityChange);
- window.removeEventListener("wheel", webViewerWheel, {
- passive: false
- });
- window.removeEventListener("touchstart", webViewerTouchStart, {
- passive: false
- });
- window.removeEventListener("click", webViewerClick);
- window.removeEventListener("keydown", webViewerKeyDown);
- window.removeEventListener("resize", _boundEvents.windowResize);
- window.removeEventListener("hashchange", _boundEvents.windowHashChange);
- window.removeEventListener("beforeprint", _boundEvents.windowBeforePrint);
- window.removeEventListener("afterprint", _boundEvents.windowAfterPrint);
- window.removeEventListener("updatefromsandbox", _boundEvents.windowUpdateFromSandbox);
- _boundEvents.removeWindowResolutionChange?.();
- _boundEvents.windowResize = null;
- _boundEvents.windowHashChange = null;
- _boundEvents.windowBeforePrint = null;
- _boundEvents.windowAfterPrint = null;
- _boundEvents.windowUpdateFromSandbox = null;
- },
-
- accumulateWheelTicks(ticks) {
- if (this._wheelUnusedTicks > 0 && ticks < 0 || this._wheelUnusedTicks < 0 && ticks > 0) {
- this._wheelUnusedTicks = 0;
- }
-
- this._wheelUnusedTicks += ticks;
- const wholeTicks = Math.sign(this._wheelUnusedTicks) * Math.floor(Math.abs(this._wheelUnusedTicks));
- this._wheelUnusedTicks -= wholeTicks;
- return wholeTicks;
- },
-
- _unblockDocumentLoadEvent() {
- document.blockUnblockOnload?.(false);
-
- this._unblockDocumentLoadEvent = () => {};
- },
-
- _reportDocumentStatsTelemetry() {
- const {
- stats
- } = this.pdfDocument;
-
- if (stats !== this._docStats) {
- this._docStats = stats;
- this.externalServices.reportTelemetry({
- type: "documentStats",
- stats
- });
- }
- },
-
- get scriptingReady() {
- return this.pdfScriptingManager.ready;
- }
-
-};
-exports.PDFViewerApplication = PDFViewerApplication;
-let validateFileURL;
-{
- const HOSTED_VIEWER_ORIGINS = ["null", "http://mozilla.github.io", "https://mozilla.github.io"];
-
- validateFileURL = function (file) {
- if (!file) {
- return;
- }
-
- try {
- const viewerOrigin = new URL(window.location.href).origin || "null";
-
- if (HOSTED_VIEWER_ORIGINS.includes(viewerOrigin)) {
- return;
- }
-
- const fileOrigin = new URL(file, window.location.href).origin;
-
- if (fileOrigin !== viewerOrigin) {
- throw new Error("file origin does not match viewer's");
- }
- } catch (ex) {
- PDFViewerApplication.l10n.get("loading_error").then(msg => {
- PDFViewerApplication._documentError(msg, {
- message: ex?.message
- });
- });
- throw ex;
- }
- };
-}
-
-async function loadFakeWorker() {
- _pdfjsLib.GlobalWorkerOptions.workerSrc ||= _app_options.AppOptions.get("workerSrc");
- await (0, _pdfjsLib.loadScript)(_pdfjsLib.PDFWorker.workerSrc);
-}
-
-async function loadPDFBug(self) {
- const {
- debuggerScriptPath
- } = self.appConfig;
- const {
- PDFBug
- } = await import(debuggerScriptPath);
- self._PDFBug = PDFBug;
-}
-
-function reportPageStatsPDFBug({
- pageNumber
-}) {
- if (!globalThis.Stats?.enabled) {
- return;
- }
-
- const pageView = PDFViewerApplication.pdfViewer.getPageView(pageNumber - 1);
- globalThis.Stats.add(pageNumber, pageView?.pdfPage?.stats);
-}
-
-function webViewerInitialized() {
- const {
- appConfig,
- eventBus
- } = PDFViewerApplication;
- let file;
- const queryString = document.location.search.substring(1);
- const params = (0, _ui_utils.parseQueryString)(queryString);
- file = params.get("file") ?? _app_options.AppOptions.get("defaultUrl");
- validateFileURL(file);
- const fileInput = appConfig.openFileInput;
- fileInput.value = null;
- fileInput.addEventListener("change", function (evt) {
- const {
- files
- } = evt.target;
-
- if (!files || files.length === 0) {
- return;
- }
-
- eventBus.dispatch("fileinputchange", {
- source: this,
- fileInput: evt.target
- });
- });
- appConfig.mainContainer.addEventListener("dragover", function (evt) {
- evt.preventDefault();
- evt.dataTransfer.dropEffect = evt.dataTransfer.effectAllowed === "copy" ? "copy" : "move";
- });
- appConfig.mainContainer.addEventListener("drop", function (evt) {
- evt.preventDefault();
- const {
- files
- } = evt.dataTransfer;
-
- if (!files || files.length === 0) {
- return;
- }
-
- eventBus.dispatch("fileinputchange", {
- source: this,
- fileInput: evt.dataTransfer
- });
- });
-
- if (!PDFViewerApplication.supportsDocumentFonts) {
- _app_options.AppOptions.set("disableFontFace", true);
-
- PDFViewerApplication.l10n.get("web_fonts_disabled").then(msg => {
- console.warn(msg);
- });
- }
-
- if (!PDFViewerApplication.supportsPrinting) {
- appConfig.toolbar.print.classList.add("hidden");
- appConfig.secondaryToolbar.printButton.classList.add("hidden");
- }
-
- if (!PDFViewerApplication.supportsFullscreen) {
- appConfig.toolbar.presentationModeButton.classList.add("hidden");
- appConfig.secondaryToolbar.presentationModeButton.classList.add("hidden");
- }
-
- if (PDFViewerApplication.supportsIntegratedFind) {
- appConfig.toolbar.viewFind.classList.add("hidden");
- }
-
- appConfig.mainContainer.addEventListener("transitionend", function (evt) {
- if (evt.target === this) {
- eventBus.dispatch("resize", {
- source: this
- });
- }
- }, true);
-
- try {
- if (file) {
- PDFViewerApplication.open(file);
- } else {
- PDFViewerApplication._hideViewBookmark();
- }
- } catch (reason) {
- PDFViewerApplication.l10n.get("loading_error").then(msg => {
- PDFViewerApplication._documentError(msg, reason);
- });
- }
-}
-
-function webViewerPageRendered({
- pageNumber,
- error
-}) {
- if (pageNumber === PDFViewerApplication.page) {
- PDFViewerApplication.toolbar.updateLoadingIndicatorState(false);
- }
-
- if (PDFViewerApplication.pdfSidebar.visibleView === _ui_utils.SidebarView.THUMBS) {
- const pageView = PDFViewerApplication.pdfViewer.getPageView(pageNumber - 1);
- const thumbnailView = PDFViewerApplication.pdfThumbnailViewer.getThumbnail(pageNumber - 1);
-
- if (pageView && thumbnailView) {
- thumbnailView.setImage(pageView);
- }
- }
-
- if (error) {
- PDFViewerApplication.l10n.get("rendering_error").then(msg => {
- PDFViewerApplication._otherError(msg, error);
- });
- }
-
- PDFViewerApplication._reportDocumentStatsTelemetry();
-}
-
-function webViewerPageMode({
- mode
-}) {
- let view;
-
- switch (mode) {
- case "thumbs":
- view = _ui_utils.SidebarView.THUMBS;
- break;
-
- case "bookmarks":
- case "outline":
- view = _ui_utils.SidebarView.OUTLINE;
- break;
-
- case "attachments":
- view = _ui_utils.SidebarView.ATTACHMENTS;
- break;
-
- case "layers":
- view = _ui_utils.SidebarView.LAYERS;
- break;
-
- case "none":
- view = _ui_utils.SidebarView.NONE;
- break;
-
- default:
- console.error('Invalid "pagemode" hash parameter: ' + mode);
- return;
- }
-
- PDFViewerApplication.pdfSidebar.switchView(view, true);
-}
-
-function webViewerNamedAction(evt) {
- switch (evt.action) {
- case "GoToPage":
- PDFViewerApplication.appConfig.toolbar.pageNumber.select();
- break;
-
- case "Find":
- if (!PDFViewerApplication.supportsIntegratedFind) {
- PDFViewerApplication.findBar.toggle();
- }
-
- break;
-
- case "Print":
- PDFViewerApplication.triggerPrinting();
- break;
-
- case "SaveAs":
- PDFViewerApplication.downloadOrSave();
- break;
- }
-}
-
-function webViewerPresentationModeChanged(evt) {
- PDFViewerApplication.pdfViewer.presentationModeState = evt.state;
-}
-
-function webViewerSidebarViewChanged({
- view
-}) {
- PDFViewerApplication.pdfRenderingQueue.isThumbnailViewEnabled = view === _ui_utils.SidebarView.THUMBS;
-
- if (PDFViewerApplication.isInitialViewSet) {
- PDFViewerApplication.store?.set("sidebarView", view).catch(() => {});
- }
-}
-
-function webViewerUpdateViewarea({
- location
-}) {
- if (PDFViewerApplication.isInitialViewSet) {
- PDFViewerApplication.store?.setMultiple({
- page: location.pageNumber,
- zoom: location.scale,
- scrollLeft: location.left,
- scrollTop: location.top,
- rotation: location.rotation
- }).catch(() => {});
- }
-
- const href = PDFViewerApplication.pdfLinkService.getAnchorUrl(location.pdfOpenParams);
- PDFViewerApplication.appConfig.toolbar.viewBookmark.href = href;
- PDFViewerApplication.appConfig.secondaryToolbar.viewBookmarkButton.href = href;
- const currentPage = PDFViewerApplication.pdfViewer.getPageView(PDFViewerApplication.page - 1);
- const loading = currentPage?.renderingState !== _ui_utils.RenderingStates.FINISHED;
- PDFViewerApplication.toolbar.updateLoadingIndicatorState(loading);
-}
-
-function webViewerScrollModeChanged(evt) {
- if (PDFViewerApplication.isInitialViewSet) {
- PDFViewerApplication.store?.set("scrollMode", evt.mode).catch(() => {});
- }
-}
-
-function webViewerSpreadModeChanged(evt) {
- if (PDFViewerApplication.isInitialViewSet) {
- PDFViewerApplication.store?.set("spreadMode", evt.mode).catch(() => {});
- }
-}
-
-function webViewerResize() {
- const {
- pdfDocument,
- pdfViewer,
- pdfRenderingQueue
- } = PDFViewerApplication;
-
- if (pdfRenderingQueue.printing && window.matchMedia("print").matches) {
- return;
- }
-
- pdfViewer.updateContainerHeightCss();
-
- if (!pdfDocument) {
- return;
- }
-
- const currentScaleValue = pdfViewer.currentScaleValue;
-
- if (currentScaleValue === "auto" || currentScaleValue === "page-fit" || currentScaleValue === "page-width") {
- pdfViewer.currentScaleValue = currentScaleValue;
- }
-
- pdfViewer.update();
-}
-
-function webViewerHashchange(evt) {
- const hash = evt.hash;
-
- if (!hash) {
- return;
- }
-
- if (!PDFViewerApplication.isInitialViewSet) {
- PDFViewerApplication.initialBookmark = hash;
- } else if (!PDFViewerApplication.pdfHistory?.popStateInProgress) {
- PDFViewerApplication.pdfLinkService.setHash(hash);
- }
-}
-
-{
- var webViewerFileInputChange = function (evt) {
- if (PDFViewerApplication.pdfViewer?.isInPresentationMode) {
- return;
- }
-
- const file = evt.fileInput.files[0];
- let url = URL.createObjectURL(file);
-
- if (file.name) {
- url = {
- url,
- originalUrl: file.name
- };
- }
-
- PDFViewerApplication.open(url);
- };
-
- var webViewerOpenFile = function (evt) {
- const fileInput = PDFViewerApplication.appConfig.openFileInput;
- fileInput.click();
- };
-}
-
-function webViewerPresentationMode() {
- PDFViewerApplication.requestPresentationMode();
-}
-
-function webViewerSwitchAnnotationEditorMode(evt) {
- PDFViewerApplication.pdfViewer.annotationEditorMode = evt.mode;
-}
-
-function webViewerSwitchAnnotationEditorParams(evt) {
- PDFViewerApplication.pdfViewer.annotationEditorParams = evt;
-}
-
-function webViewerPrint() {
- PDFViewerApplication.triggerPrinting();
-}
-
-function webViewerDownload() {
- PDFViewerApplication.downloadOrSave();
-}
-
-function webViewerFirstPage() {
- if (PDFViewerApplication.pdfDocument) {
- PDFViewerApplication.page = 1;
- }
-}
-
-function webViewerLastPage() {
- if (PDFViewerApplication.pdfDocument) {
- PDFViewerApplication.page = PDFViewerApplication.pagesCount;
- }
-}
-
-function webViewerNextPage() {
- PDFViewerApplication.pdfViewer.nextPage();
-}
-
-function webViewerPreviousPage() {
- PDFViewerApplication.pdfViewer.previousPage();
-}
-
-function webViewerZoomIn() {
- PDFViewerApplication.zoomIn();
-}
-
-function webViewerZoomOut() {
- PDFViewerApplication.zoomOut();
-}
-
-function webViewerZoomReset() {
- PDFViewerApplication.zoomReset();
-}
-
-function webViewerPageNumberChanged(evt) {
- const pdfViewer = PDFViewerApplication.pdfViewer;
-
- if (evt.value !== "") {
- PDFViewerApplication.pdfLinkService.goToPage(evt.value);
- }
-
- if (evt.value !== pdfViewer.currentPageNumber.toString() && evt.value !== pdfViewer.currentPageLabel) {
- PDFViewerApplication.toolbar.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel);
- }
-}
-
-function webViewerScaleChanged(evt) {
- PDFViewerApplication.pdfViewer.currentScaleValue = evt.value;
-}
-
-function webViewerRotateCw() {
- PDFViewerApplication.rotatePages(90);
-}
-
-function webViewerRotateCcw() {
- PDFViewerApplication.rotatePages(-90);
-}
-
-function webViewerOptionalContentConfig(evt) {
- PDFViewerApplication.pdfViewer.optionalContentConfigPromise = evt.promise;
-}
-
-function webViewerSwitchScrollMode(evt) {
- PDFViewerApplication.pdfViewer.scrollMode = evt.mode;
-}
-
-function webViewerSwitchSpreadMode(evt) {
- PDFViewerApplication.pdfViewer.spreadMode = evt.mode;
-}
-
-function webViewerDocumentProperties() {
- PDFViewerApplication.pdfDocumentProperties.open();
-}
-
-function webViewerFindFromUrlHash(evt) {
- PDFViewerApplication.eventBus.dispatch("find", {
- source: evt.source,
- type: "",
- query: evt.query,
- phraseSearch: evt.phraseSearch,
- caseSensitive: false,
- entireWord: false,
- highlightAll: true,
- findPrevious: false,
- matchDiacritics: true
- });
-}
-
-function webViewerUpdateFindMatchesCount({
- matchesCount
-}) {
- if (PDFViewerApplication.supportsIntegratedFind) {
- PDFViewerApplication.externalServices.updateFindMatchesCount(matchesCount);
- } else {
- PDFViewerApplication.findBar.updateResultsCount(matchesCount);
- }
-}
-
-function webViewerUpdateFindControlState({
- state,
- previous,
- matchesCount,
- rawQuery
-}) {
- if (PDFViewerApplication.supportsIntegratedFind) {
- PDFViewerApplication.externalServices.updateFindControlState({
- result: state,
- findPrevious: previous,
- matchesCount,
- rawQuery
- });
- } else {
- PDFViewerApplication.findBar.updateUIState(state, previous, matchesCount);
- }
-}
-
-function webViewerScaleChanging(evt) {
- PDFViewerApplication.toolbar.setPageScale(evt.presetValue, evt.scale);
- PDFViewerApplication.pdfViewer.update();
-}
-
-function webViewerRotationChanging(evt) {
- PDFViewerApplication.pdfThumbnailViewer.pagesRotation = evt.pagesRotation;
- PDFViewerApplication.forceRendering();
- PDFViewerApplication.pdfViewer.currentPageNumber = evt.pageNumber;
-}
-
-function webViewerPageChanging({
- pageNumber,
- pageLabel
-}) {
- PDFViewerApplication.toolbar.setPageNumber(pageNumber, pageLabel);
- PDFViewerApplication.secondaryToolbar.setPageNumber(pageNumber);
-
- if (PDFViewerApplication.pdfSidebar.visibleView === _ui_utils.SidebarView.THUMBS) {
- PDFViewerApplication.pdfThumbnailViewer.scrollThumbnailIntoView(pageNumber);
- }
-}
-
-function webViewerResolutionChange(evt) {
- PDFViewerApplication.pdfViewer.refresh();
-}
-
-function webViewerVisibilityChange(evt) {
- if (document.visibilityState === "visible") {
- setZoomDisabledTimeout();
- }
-}
-
-let zoomDisabledTimeout = null;
-
-function setZoomDisabledTimeout() {
- if (zoomDisabledTimeout) {
- clearTimeout(zoomDisabledTimeout);
- }
-
- zoomDisabledTimeout = setTimeout(function () {
- zoomDisabledTimeout = null;
- }, WHEEL_ZOOM_DISABLED_TIMEOUT);
-}
-
-function webViewerWheel(evt) {
- const {
- pdfViewer,
- supportedMouseWheelZoomModifierKeys
- } = PDFViewerApplication;
-
- if (pdfViewer.isInPresentationMode) {
- return;
- }
-
- if (evt.ctrlKey && supportedMouseWheelZoomModifierKeys.ctrlKey || evt.metaKey && supportedMouseWheelZoomModifierKeys.metaKey) {
- evt.preventDefault();
-
- if (zoomDisabledTimeout || document.visibilityState === "hidden") {
- return;
- }
-
- const deltaMode = evt.deltaMode;
- const delta = (0, _ui_utils.normalizeWheelEventDirection)(evt);
- const previousScale = pdfViewer.currentScale;
- let ticks = 0;
-
- if (deltaMode === WheelEvent.DOM_DELTA_LINE || deltaMode === WheelEvent.DOM_DELTA_PAGE) {
- if (Math.abs(delta) >= 1) {
- ticks = Math.sign(delta);
- } else {
- ticks = PDFViewerApplication.accumulateWheelTicks(delta);
- }
- } else {
- const PIXELS_PER_LINE_SCALE = 30;
- ticks = PDFViewerApplication.accumulateWheelTicks(delta / PIXELS_PER_LINE_SCALE);
- }
-
- if (ticks < 0) {
- PDFViewerApplication.zoomOut(-ticks);
- } else if (ticks > 0) {
- PDFViewerApplication.zoomIn(ticks);
- }
-
- const currentScale = pdfViewer.currentScale;
-
- if (previousScale !== currentScale) {
- const scaleCorrectionFactor = currentScale / previousScale - 1;
- const rect = pdfViewer.container.getBoundingClientRect();
- const dx = evt.clientX - rect.left;
- const dy = evt.clientY - rect.top;
- pdfViewer.container.scrollLeft += dx * scaleCorrectionFactor;
- pdfViewer.container.scrollTop += dy * scaleCorrectionFactor;
- }
- } else {
- setZoomDisabledTimeout();
- }
-}
-
-function webViewerTouchStart(evt) {
- if (evt.touches.length > 1) {
- evt.preventDefault();
- }
-}
-
-function webViewerClick(evt) {
- if (!PDFViewerApplication.secondaryToolbar.isOpen) {
- return;
- }
-
- const appConfig = PDFViewerApplication.appConfig;
-
- if (PDFViewerApplication.pdfViewer.containsElement(evt.target) || appConfig.toolbar.container.contains(evt.target) && evt.target !== appConfig.secondaryToolbar.toggleButton) {
- PDFViewerApplication.secondaryToolbar.close();
- }
-}
-
-function webViewerKeyDown(evt) {
- if (PDFViewerApplication.overlayManager.active) {
- return;
- }
-
- const {
- eventBus,
- pdfViewer
- } = PDFViewerApplication;
- const isViewerInPresentationMode = pdfViewer.isInPresentationMode;
- let handled = false,
- ensureViewerFocused = false;
- const cmd = (evt.ctrlKey ? 1 : 0) | (evt.altKey ? 2 : 0) | (evt.shiftKey ? 4 : 0) | (evt.metaKey ? 8 : 0);
-
- if (cmd === 1 || cmd === 8 || cmd === 5 || cmd === 12) {
- switch (evt.keyCode) {
- case 70:
- if (!PDFViewerApplication.supportsIntegratedFind && !evt.shiftKey) {
- PDFViewerApplication.findBar.open();
- handled = true;
- }
-
- break;
-
- case 71:
- if (!PDFViewerApplication.supportsIntegratedFind) {
- const {
- state
- } = PDFViewerApplication.findController;
-
- if (state) {
- const eventState = Object.assign(Object.create(null), state, {
- source: window,
- type: "again",
- findPrevious: cmd === 5 || cmd === 12
- });
- eventBus.dispatch("find", eventState);
- }
-
- handled = true;
- }
-
- break;
-
- case 61:
- case 107:
- case 187:
- case 171:
- if (!isViewerInPresentationMode) {
- PDFViewerApplication.zoomIn();
- }
-
- handled = true;
- break;
-
- case 173:
- case 109:
- case 189:
- if (!isViewerInPresentationMode) {
- PDFViewerApplication.zoomOut();
- }
-
- handled = true;
- break;
-
- case 48:
- case 96:
- if (!isViewerInPresentationMode) {
- setTimeout(function () {
- PDFViewerApplication.zoomReset();
- });
- handled = false;
- }
-
- break;
-
- case 38:
- if (isViewerInPresentationMode || PDFViewerApplication.page > 1) {
- PDFViewerApplication.page = 1;
- handled = true;
- ensureViewerFocused = true;
- }
-
- break;
-
- case 40:
- if (isViewerInPresentationMode || PDFViewerApplication.page < PDFViewerApplication.pagesCount) {
- PDFViewerApplication.page = PDFViewerApplication.pagesCount;
- handled = true;
- ensureViewerFocused = true;
- }
-
- break;
- }
- }
-
- if (cmd === 1 || cmd === 8) {
- switch (evt.keyCode) {
- case 83:
- eventBus.dispatch("download", {
- source: window
- });
- handled = true;
- break;
-
- case 79:
- {
- eventBus.dispatch("openfile", {
- source: window
- });
- handled = true;
- }
- break;
- }
- }
-
- if (cmd === 3 || cmd === 10) {
- switch (evt.keyCode) {
- case 80:
- PDFViewerApplication.requestPresentationMode();
- handled = true;
- break;
-
- case 71:
- PDFViewerApplication.appConfig.toolbar.pageNumber.select();
- handled = true;
- break;
- }
- }
-
- if (handled) {
- if (ensureViewerFocused && !isViewerInPresentationMode) {
- pdfViewer.focus();
- }
-
- evt.preventDefault();
- return;
- }
-
- const curElement = (0, _ui_utils.getActiveOrFocusedElement)();
- const curElementTagName = curElement?.tagName.toUpperCase();
-
- if (curElementTagName === "INPUT" || curElementTagName === "TEXTAREA" || curElementTagName === "SELECT" || curElement?.isContentEditable) {
- if (evt.keyCode !== 27) {
- return;
- }
- }
-
- if (cmd === 0) {
- let turnPage = 0,
- turnOnlyIfPageFit = false;
-
- switch (evt.keyCode) {
- case 38:
- case 33:
- if (pdfViewer.isVerticalScrollbarEnabled) {
- turnOnlyIfPageFit = true;
- }
-
- turnPage = -1;
- break;
-
- case 8:
- if (!isViewerInPresentationMode) {
- turnOnlyIfPageFit = true;
- }
-
- turnPage = -1;
- break;
-
- case 37:
- if (pdfViewer.isHorizontalScrollbarEnabled) {
- turnOnlyIfPageFit = true;
- }
-
- case 75:
- case 80:
- turnPage = -1;
- break;
-
- case 27:
- if (PDFViewerApplication.secondaryToolbar.isOpen) {
- PDFViewerApplication.secondaryToolbar.close();
- handled = true;
- }
-
- if (!PDFViewerApplication.supportsIntegratedFind && PDFViewerApplication.findBar.opened) {
- PDFViewerApplication.findBar.close();
- handled = true;
- }
-
- break;
-
- case 40:
- case 34:
- if (pdfViewer.isVerticalScrollbarEnabled) {
- turnOnlyIfPageFit = true;
- }
-
- turnPage = 1;
- break;
-
- case 13:
- case 32:
- if (!isViewerInPresentationMode) {
- turnOnlyIfPageFit = true;
- }
-
- turnPage = 1;
- break;
-
- case 39:
- if (pdfViewer.isHorizontalScrollbarEnabled) {
- turnOnlyIfPageFit = true;
- }
-
- case 74:
- case 78:
- turnPage = 1;
- break;
-
- case 36:
- if (isViewerInPresentationMode || PDFViewerApplication.page > 1) {
- PDFViewerApplication.page = 1;
- handled = true;
- ensureViewerFocused = true;
- }
-
- break;
-
- case 35:
- if (isViewerInPresentationMode || PDFViewerApplication.page < PDFViewerApplication.pagesCount) {
- PDFViewerApplication.page = PDFViewerApplication.pagesCount;
- handled = true;
- ensureViewerFocused = true;
- }
-
- break;
-
- case 83:
- PDFViewerApplication.pdfCursorTools.switchTool(_pdf_cursor_tools.CursorTool.SELECT);
- break;
-
- case 72:
- PDFViewerApplication.pdfCursorTools.switchTool(_pdf_cursor_tools.CursorTool.HAND);
- break;
-
- case 82:
- PDFViewerApplication.rotatePages(90);
- break;
-
- case 115:
- PDFViewerApplication.pdfSidebar.toggle();
- break;
- }
-
- if (turnPage !== 0 && (!turnOnlyIfPageFit || pdfViewer.currentScaleValue === "page-fit")) {
- if (turnPage > 0) {
- pdfViewer.nextPage();
- } else {
- pdfViewer.previousPage();
- }
-
- handled = true;
- }
- }
-
- if (cmd === 4) {
- switch (evt.keyCode) {
- case 13:
- case 32:
- if (!isViewerInPresentationMode && pdfViewer.currentScaleValue !== "page-fit") {
- break;
- }
-
- pdfViewer.previousPage();
- handled = true;
- break;
-
- case 82:
- PDFViewerApplication.rotatePages(-90);
- break;
- }
- }
-
- if (!handled && !isViewerInPresentationMode) {
- if (evt.keyCode >= 33 && evt.keyCode <= 40 || evt.keyCode === 32 && curElementTagName !== "BUTTON") {
- ensureViewerFocused = true;
- }
- }
-
- if (ensureViewerFocused && !pdfViewer.containsElement(curElement)) {
- pdfViewer.focus();
- }
-
- if (handled) {
- evt.preventDefault();
- }
-}
-
-function beforeUnload(evt) {
- evt.preventDefault();
- evt.returnValue = "";
- return false;
-}
-
-function webViewerAnnotationEditorStatesChanged(data) {
- PDFViewerApplication.externalServices.updateEditorStates(data);
-}
-
-const PDFPrintServiceFactory = {
- instance: {
- supportsPrinting: false,
-
- createPrintService() {
- throw new Error("Not implemented: createPrintService");
- }
-
- }
-};
-exports.PDFPrintServiceFactory = PDFPrintServiceFactory;
-
-/***/ }),
-/* 5 */
-/***/ ((module) => {
-
-
-
-let pdfjsLib;
-
-if (typeof window !== "undefined" && window["pdfjs-dist/build/pdf"]) {
- pdfjsLib = window["pdfjs-dist/build/pdf"];
-} else {
- pdfjsLib = require("../build/pdf.js");
-}
-
-module.exports = pdfjsLib;
-
-/***/ }),
-/* 6 */
-/***/ ((__unused_webpack_module, exports) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.WaitOnType = exports.EventBus = exports.AutomationEventBus = void 0;
-exports.waitOnEventOrTimeout = waitOnEventOrTimeout;
-const WaitOnType = {
- EVENT: "event",
- TIMEOUT: "timeout"
-};
-exports.WaitOnType = WaitOnType;
-
-function waitOnEventOrTimeout({
- target,
- name,
- delay = 0
-}) {
- return new Promise(function (resolve, reject) {
- if (typeof target !== "object" || !(name && typeof name === "string") || !(Number.isInteger(delay) && delay >= 0)) {
- throw new Error("waitOnEventOrTimeout - invalid parameters.");
- }
-
- function handler(type) {
- if (target instanceof EventBus) {
- target._off(name, eventHandler);
- } else {
- target.removeEventListener(name, eventHandler);
- }
-
- if (timeout) {
- clearTimeout(timeout);
- }
-
- resolve(type);
- }
-
- const eventHandler = handler.bind(null, WaitOnType.EVENT);
-
- if (target instanceof EventBus) {
- target._on(name, eventHandler);
- } else {
- target.addEventListener(name, eventHandler);
- }
-
- const timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);
- const timeout = setTimeout(timeoutHandler, delay);
- });
-}
-
-class EventBus {
- constructor() {
- this._listeners = Object.create(null);
- }
-
- on(eventName, listener, options = null) {
- this._on(eventName, listener, {
- external: true,
- once: options?.once
- });
- }
-
- off(eventName, listener, options = null) {
- this._off(eventName, listener, {
- external: true,
- once: options?.once
- });
- }
-
- dispatch(eventName, data) {
- const eventListeners = this._listeners[eventName];
-
- if (!eventListeners || eventListeners.length === 0) {
- return;
- }
-
- let externalListeners;
-
- for (const {
- listener,
- external,
- once
- } of eventListeners.slice(0)) {
- if (once) {
- this._off(eventName, listener);
- }
-
- if (external) {
- (externalListeners ||= []).push(listener);
- continue;
- }
-
- listener(data);
- }
-
- if (externalListeners) {
- for (const listener of externalListeners) {
- listener(data);
- }
-
- externalListeners = null;
- }
- }
-
- _on(eventName, listener, options = null) {
- const eventListeners = this._listeners[eventName] ||= [];
- eventListeners.push({
- listener,
- external: options?.external === true,
- once: options?.once === true
- });
- }
-
- _off(eventName, listener, options = null) {
- const eventListeners = this._listeners[eventName];
-
- if (!eventListeners) {
- return;
- }
-
- for (let i = 0, ii = eventListeners.length; i < ii; i++) {
- if (eventListeners[i].listener === listener) {
- eventListeners.splice(i, 1);
- return;
- }
- }
- }
-
-}
-
-exports.EventBus = EventBus;
-
-class AutomationEventBus extends EventBus {
- dispatch(eventName, data) {
- throw new Error("Not implemented: AutomationEventBus.dispatch");
- }
-
-}
-
-exports.AutomationEventBus = AutomationEventBus;
-
-/***/ }),
-/* 7 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFCursorTools = exports.CursorTool = void 0;
-
-var _grab_to_pan = __webpack_require__(8);
-
-var _ui_utils = __webpack_require__(1);
-
-const CursorTool = {
- SELECT: 0,
- HAND: 1,
- ZOOM: 2
-};
-exports.CursorTool = CursorTool;
-
-class PDFCursorTools {
- constructor({
- container,
- eventBus,
- cursorToolOnLoad = CursorTool.SELECT
- }) {
- this.container = container;
- this.eventBus = eventBus;
- this.active = CursorTool.SELECT;
- this.activeBeforePresentationMode = null;
- this.handTool = new _grab_to_pan.GrabToPan({
- element: this.container
- });
- this.#addEventListeners();
- Promise.resolve().then(() => {
- this.switchTool(cursorToolOnLoad);
- });
- }
-
- get activeTool() {
- return this.active;
- }
-
- switchTool(tool) {
- if (this.activeBeforePresentationMode !== null) {
- return;
- }
-
- if (tool === this.active) {
- return;
- }
-
- const disableActiveTool = () => {
- switch (this.active) {
- case CursorTool.SELECT:
- break;
-
- case CursorTool.HAND:
- this.handTool.deactivate();
- break;
-
- case CursorTool.ZOOM:
- }
- };
-
- switch (tool) {
- case CursorTool.SELECT:
- disableActiveTool();
- break;
-
- case CursorTool.HAND:
- disableActiveTool();
- this.handTool.activate();
- break;
-
- case CursorTool.ZOOM:
- default:
- console.error(`switchTool: "${tool}" is an unsupported value.`);
- return;
- }
-
- this.active = tool;
- this.#dispatchEvent();
- }
-
- #dispatchEvent() {
- this.eventBus.dispatch("cursortoolchanged", {
- source: this,
- tool: this.active
- });
- }
-
- #addEventListeners() {
- this.eventBus._on("switchcursortool", evt => {
- this.switchTool(evt.tool);
- });
-
- this.eventBus._on("presentationmodechanged", evt => {
- switch (evt.state) {
- case _ui_utils.PresentationModeState.FULLSCREEN:
- {
- const previouslyActive = this.active;
- this.switchTool(CursorTool.SELECT);
- this.activeBeforePresentationMode = previouslyActive;
- break;
- }
-
- case _ui_utils.PresentationModeState.NORMAL:
- {
- const previouslyActive = this.activeBeforePresentationMode;
- this.activeBeforePresentationMode = null;
- this.switchTool(previouslyActive);
- break;
- }
- }
- });
- }
-
-}
-
-exports.PDFCursorTools = PDFCursorTools;
-
-/***/ }),
-/* 8 */
-/***/ ((__unused_webpack_module, exports) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.GrabToPan = void 0;
-const CSS_CLASS_GRAB = "grab-to-pan-grab";
-
-class GrabToPan {
- constructor(options) {
- this.element = options.element;
- this.document = options.element.ownerDocument;
-
- if (typeof options.ignoreTarget === "function") {
- this.ignoreTarget = options.ignoreTarget;
- }
-
- this.onActiveChanged = options.onActiveChanged;
- this.activate = this.activate.bind(this);
- this.deactivate = this.deactivate.bind(this);
- this.toggle = this.toggle.bind(this);
- this._onMouseDown = this.#onMouseDown.bind(this);
- this._onMouseMove = this.#onMouseMove.bind(this);
- this._endPan = this.#endPan.bind(this);
- const overlay = this.overlay = document.createElement("div");
- overlay.className = "grab-to-pan-grabbing";
- }
-
- activate() {
- if (!this.active) {
- this.active = true;
- this.element.addEventListener("mousedown", this._onMouseDown, true);
- this.element.classList.add(CSS_CLASS_GRAB);
- this.onActiveChanged?.(true);
- }
- }
-
- deactivate() {
- if (this.active) {
- this.active = false;
- this.element.removeEventListener("mousedown", this._onMouseDown, true);
-
- this._endPan();
-
- this.element.classList.remove(CSS_CLASS_GRAB);
- this.onActiveChanged?.(false);
- }
- }
-
- toggle() {
- if (this.active) {
- this.deactivate();
- } else {
- this.activate();
- }
- }
-
- ignoreTarget(node) {
- return node.matches("a[href], a[href] *, input, textarea, button, button *, select, option");
- }
-
- #onMouseDown(event) {
- if (event.button !== 0 || this.ignoreTarget(event.target)) {
- return;
- }
-
- if (event.originalTarget) {
- try {
- event.originalTarget.tagName;
- } catch (e) {
- return;
- }
- }
-
- this.scrollLeftStart = this.element.scrollLeft;
- this.scrollTopStart = this.element.scrollTop;
- this.clientXStart = event.clientX;
- this.clientYStart = event.clientY;
- this.document.addEventListener("mousemove", this._onMouseMove, true);
- this.document.addEventListener("mouseup", this._endPan, true);
- this.element.addEventListener("scroll", this._endPan, true);
- event.preventDefault();
- event.stopPropagation();
- const focusedElement = document.activeElement;
-
- if (focusedElement && !focusedElement.contains(event.target)) {
- focusedElement.blur();
- }
- }
-
- #onMouseMove(event) {
- this.element.removeEventListener("scroll", this._endPan, true);
-
- if (!(event.buttons & 1)) {
- this._endPan();
-
- return;
- }
-
- const xDiff = event.clientX - this.clientXStart;
- const yDiff = event.clientY - this.clientYStart;
- const scrollTop = this.scrollTopStart - yDiff;
- const scrollLeft = this.scrollLeftStart - xDiff;
-
- if (this.element.scrollTo) {
- this.element.scrollTo({
- top: scrollTop,
- left: scrollLeft,
- behavior: "instant"
- });
- } else {
- this.element.scrollTop = scrollTop;
- this.element.scrollLeft = scrollLeft;
- }
-
- if (!this.overlay.parentNode) {
- document.body.append(this.overlay);
- }
- }
-
- #endPan() {
- this.element.removeEventListener("scroll", this._endPan, true);
- this.document.removeEventListener("mousemove", this._onMouseMove, true);
- this.document.removeEventListener("mouseup", this._endPan, true);
- this.overlay.remove();
- }
-
-}
-
-exports.GrabToPan = GrabToPan;
-
-/***/ }),
-/* 9 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.AnnotationEditorParams = void 0;
-
-var _pdfjsLib = __webpack_require__(5);
-
-class AnnotationEditorParams {
- constructor(options, eventBus) {
- this.eventBus = eventBus;
- this.#bindListeners(options);
- }
-
- #bindListeners({
- editorFreeTextFontSize,
- editorFreeTextColor,
- editorInkColor,
- editorInkThickness,
- editorInkOpacity
- }) {
- editorFreeTextFontSize.addEventListener("input", evt => {
- this.eventBus.dispatch("switchannotationeditorparams", {
- source: this,
- type: _pdfjsLib.AnnotationEditorParamsType.FREETEXT_SIZE,
- value: editorFreeTextFontSize.valueAsNumber
- });
- });
- editorFreeTextColor.addEventListener("input", evt => {
- this.eventBus.dispatch("switchannotationeditorparams", {
- source: this,
- type: _pdfjsLib.AnnotationEditorParamsType.FREETEXT_COLOR,
- value: editorFreeTextColor.value
- });
- });
- editorInkColor.addEventListener("input", evt => {
- this.eventBus.dispatch("switchannotationeditorparams", {
- source: this,
- type: _pdfjsLib.AnnotationEditorParamsType.INK_COLOR,
- value: editorInkColor.value
- });
- });
- editorInkThickness.addEventListener("input", evt => {
- this.eventBus.dispatch("switchannotationeditorparams", {
- source: this,
- type: _pdfjsLib.AnnotationEditorParamsType.INK_THICKNESS,
- value: editorInkThickness.valueAsNumber
- });
- });
- editorInkOpacity.addEventListener("input", evt => {
- this.eventBus.dispatch("switchannotationeditorparams", {
- source: this,
- type: _pdfjsLib.AnnotationEditorParamsType.INK_OPACITY,
- value: editorInkOpacity.valueAsNumber
- });
- });
-
- this.eventBus._on("annotationeditorparamschanged", evt => {
- for (const [type, value] of evt.details) {
- switch (type) {
- case _pdfjsLib.AnnotationEditorParamsType.FREETEXT_SIZE:
- editorFreeTextFontSize.value = value;
- break;
-
- case _pdfjsLib.AnnotationEditorParamsType.FREETEXT_COLOR:
- editorFreeTextColor.value = value;
- break;
-
- case _pdfjsLib.AnnotationEditorParamsType.INK_COLOR:
- editorInkColor.value = value;
- break;
-
- case _pdfjsLib.AnnotationEditorParamsType.INK_THICKNESS:
- editorInkThickness.value = value;
- break;
-
- case _pdfjsLib.AnnotationEditorParamsType.INK_OPACITY:
- editorInkOpacity.value = value;
- break;
- }
- }
- });
- }
-
-}
-
-exports.AnnotationEditorParams = AnnotationEditorParams;
-
-/***/ }),
-/* 10 */
-/***/ ((__unused_webpack_module, exports) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.OverlayManager = void 0;
-
-class OverlayManager {
- #overlays = new WeakMap();
- #active = null;
-
- get active() {
- return this.#active;
- }
-
- async register(dialog, canForceClose = false) {
- if (typeof dialog !== "object") {
- throw new Error("Not enough parameters.");
- } else if (this.#overlays.has(dialog)) {
- throw new Error("The overlay is already registered.");
- }
-
- this.#overlays.set(dialog, {
- canForceClose
- });
- dialog.addEventListener("cancel", evt => {
- this.#active = null;
- });
- }
-
- async unregister(dialog) {
- if (!this.#overlays.has(dialog)) {
- throw new Error("The overlay does not exist.");
- } else if (this.#active === dialog) {
- throw new Error("The overlay cannot be removed while it is active.");
- }
-
- this.#overlays.delete(dialog);
- }
-
- async open(dialog) {
- if (!this.#overlays.has(dialog)) {
- throw new Error("The overlay does not exist.");
- } else if (this.#active) {
- if (this.#active === dialog) {
- throw new Error("The overlay is already active.");
- } else if (this.#overlays.get(dialog).canForceClose) {
- await this.close();
- } else {
- throw new Error("Another overlay is currently active.");
- }
- }
-
- this.#active = dialog;
- dialog.showModal();
- }
-
- async close(dialog = this.#active) {
- if (!this.#overlays.has(dialog)) {
- throw new Error("The overlay does not exist.");
- } else if (!this.#active) {
- throw new Error("The overlay is currently not active.");
- } else if (this.#active !== dialog) {
- throw new Error("Another overlay is currently active.");
- }
-
- dialog.close();
- this.#active = null;
- }
-
-}
-
-exports.OverlayManager = OverlayManager;
-
-/***/ }),
-/* 11 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PasswordPrompt = void 0;
-
-var _pdfjsLib = __webpack_require__(5);
-
-class PasswordPrompt {
- #activeCapability = null;
- #updateCallback = null;
- #reason = null;
-
- constructor(options, overlayManager, l10n, isViewerEmbedded = false) {
- this.dialog = options.dialog;
- this.label = options.label;
- this.input = options.input;
- this.submitButton = options.submitButton;
- this.cancelButton = options.cancelButton;
- this.overlayManager = overlayManager;
- this.l10n = l10n;
- this._isViewerEmbedded = isViewerEmbedded;
- this.submitButton.addEventListener("click", this.#verify.bind(this));
- this.cancelButton.addEventListener("click", this.close.bind(this));
- this.input.addEventListener("keydown", e => {
- if (e.keyCode === 13) {
- this.#verify();
- }
- });
- this.overlayManager.register(this.dialog, true);
- this.dialog.addEventListener("close", this.#cancel.bind(this));
- }
-
- async open() {
- if (this.#activeCapability) {
- await this.#activeCapability.promise;
- }
-
- this.#activeCapability = (0, _pdfjsLib.createPromiseCapability)();
-
- try {
- await this.overlayManager.open(this.dialog);
- } catch (ex) {
- this.#activeCapability = null;
- throw ex;
- }
-
- const passwordIncorrect = this.#reason === _pdfjsLib.PasswordResponses.INCORRECT_PASSWORD;
-
- if (!this._isViewerEmbedded || passwordIncorrect) {
- this.input.focus();
- }
-
- this.label.textContent = await this.l10n.get(`password_${passwordIncorrect ? "invalid" : "label"}`);
- }
-
- async close() {
- if (this.overlayManager.active === this.dialog) {
- this.overlayManager.close(this.dialog);
- }
- }
-
- #verify() {
- const password = this.input.value;
-
- if (password?.length > 0) {
- this.#invokeCallback(password);
- }
- }
-
- #cancel() {
- this.#invokeCallback(new Error("PasswordPrompt cancelled."));
- this.#activeCapability.resolve();
- }
-
- #invokeCallback(password) {
- if (!this.#updateCallback) {
- return;
- }
-
- this.close();
- this.input.value = "";
- this.#updateCallback(password);
- this.#updateCallback = null;
- }
-
- async setUpdateCallback(updateCallback, reason) {
- if (this.#activeCapability) {
- await this.#activeCapability.promise;
- }
-
- this.#updateCallback = updateCallback;
- this.#reason = reason;
- }
-
-}
-
-exports.PasswordPrompt = PasswordPrompt;
-
-/***/ }),
-/* 12 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFAttachmentViewer = void 0;
-
-var _pdfjsLib = __webpack_require__(5);
-
-var _base_tree_viewer = __webpack_require__(13);
-
-var _event_utils = __webpack_require__(6);
-
-class PDFAttachmentViewer extends _base_tree_viewer.BaseTreeViewer {
- constructor(options) {
- super(options);
- this.downloadManager = options.downloadManager;
-
- this.eventBus._on("fileattachmentannotation", this.#appendAttachment.bind(this));
- }
-
- reset(keepRenderedCapability = false) {
- super.reset();
- this._attachments = null;
-
- if (!keepRenderedCapability) {
- this._renderedCapability = (0, _pdfjsLib.createPromiseCapability)();
- }
-
- this._pendingDispatchEvent = false;
- }
-
- async _dispatchEvent(attachmentsCount) {
- this._renderedCapability.resolve();
-
- if (attachmentsCount === 0 && !this._pendingDispatchEvent) {
- this._pendingDispatchEvent = true;
- await (0, _event_utils.waitOnEventOrTimeout)({
- target: this.eventBus,
- name: "annotationlayerrendered",
- delay: 1000
- });
-
- if (!this._pendingDispatchEvent) {
- return;
- }
- }
-
- this._pendingDispatchEvent = false;
- this.eventBus.dispatch("attachmentsloaded", {
- source: this,
- attachmentsCount
- });
- }
-
- _bindLink(element, {
- content,
- filename
- }) {
- element.onclick = () => {
- this.downloadManager.openOrDownloadData(element, content, filename);
- return false;
- };
- }
-
- render({
- attachments,
- keepRenderedCapability = false
- }) {
- if (this._attachments) {
- this.reset(keepRenderedCapability);
- }
-
- this._attachments = attachments || null;
-
- if (!attachments) {
- this._dispatchEvent(0);
-
- return;
- }
-
- const names = Object.keys(attachments).sort(function (a, b) {
- return a.toLowerCase().localeCompare(b.toLowerCase());
- });
- const fragment = document.createDocumentFragment();
- let attachmentsCount = 0;
-
- for (const name of names) {
- const item = attachments[name];
- const content = item.content,
- filename = (0, _pdfjsLib.getFilenameFromUrl)(item.filename);
- const div = document.createElement("div");
- div.className = "treeItem";
- const element = document.createElement("a");
-
- this._bindLink(element, {
- content,
- filename
- });
-
- element.textContent = this._normalizeTextContent(filename);
- div.append(element);
- fragment.append(div);
- attachmentsCount++;
- }
-
- this._finishRendering(fragment, attachmentsCount);
- }
-
- #appendAttachment({
- filename,
- content
- }) {
- const renderedPromise = this._renderedCapability.promise;
- renderedPromise.then(() => {
- if (renderedPromise !== this._renderedCapability.promise) {
- return;
- }
-
- const attachments = this._attachments || Object.create(null);
-
- for (const name in attachments) {
- if (filename === name) {
- return;
- }
- }
-
- attachments[filename] = {
- filename,
- content
- };
- this.render({
- attachments,
- keepRenderedCapability: true
- });
- });
- }
-
-}
-
-exports.PDFAttachmentViewer = PDFAttachmentViewer;
-
-/***/ }),
-/* 13 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.BaseTreeViewer = void 0;
-
-var _ui_utils = __webpack_require__(1);
-
-const TREEITEM_OFFSET_TOP = -100;
-const TREEITEM_SELECTED_CLASS = "selected";
-
-class BaseTreeViewer {
- constructor(options) {
- if (this.constructor === BaseTreeViewer) {
- throw new Error("Cannot initialize BaseTreeViewer.");
- }
-
- this.container = options.container;
- this.eventBus = options.eventBus;
- this.reset();
- }
-
- reset() {
- this._pdfDocument = null;
- this._lastToggleIsShow = true;
- this._currentTreeItem = null;
- this.container.textContent = "";
- this.container.classList.remove("treeWithDeepNesting");
- }
-
- _dispatchEvent(count) {
- throw new Error("Not implemented: _dispatchEvent");
- }
-
- _bindLink(element, params) {
- throw new Error("Not implemented: _bindLink");
- }
-
- _normalizeTextContent(str) {
- return (0, _ui_utils.removeNullCharacters)(str, true) || "\u2013";
- }
-
- _addToggleButton(div, hidden = false) {
- const toggler = document.createElement("div");
- toggler.className = "treeItemToggler";
-
- if (hidden) {
- toggler.classList.add("treeItemsHidden");
- }
-
- toggler.onclick = evt => {
- evt.stopPropagation();
- toggler.classList.toggle("treeItemsHidden");
-
- if (evt.shiftKey) {
- const shouldShowAll = !toggler.classList.contains("treeItemsHidden");
-
- this._toggleTreeItem(div, shouldShowAll);
- }
- };
-
- div.prepend(toggler);
- }
-
- _toggleTreeItem(root, show = false) {
- this._lastToggleIsShow = show;
-
- for (const toggler of root.querySelectorAll(".treeItemToggler")) {
- toggler.classList.toggle("treeItemsHidden", !show);
- }
- }
-
- _toggleAllTreeItems() {
- this._toggleTreeItem(this.container, !this._lastToggleIsShow);
- }
-
- _finishRendering(fragment, count, hasAnyNesting = false) {
- if (hasAnyNesting) {
- this.container.classList.add("treeWithDeepNesting");
- this._lastToggleIsShow = !fragment.querySelector(".treeItemsHidden");
- }
-
- this.container.append(fragment);
-
- this._dispatchEvent(count);
- }
-
- render(params) {
- throw new Error("Not implemented: render");
- }
-
- _updateCurrentTreeItem(treeItem = null) {
- if (this._currentTreeItem) {
- this._currentTreeItem.classList.remove(TREEITEM_SELECTED_CLASS);
-
- this._currentTreeItem = null;
- }
-
- if (treeItem) {
- treeItem.classList.add(TREEITEM_SELECTED_CLASS);
- this._currentTreeItem = treeItem;
- }
- }
-
- _scrollToCurrentTreeItem(treeItem) {
- if (!treeItem) {
- return;
- }
-
- let currentNode = treeItem.parentNode;
-
- while (currentNode && currentNode !== this.container) {
- if (currentNode.classList.contains("treeItem")) {
- const toggler = currentNode.firstElementChild;
- toggler?.classList.remove("treeItemsHidden");
- }
-
- currentNode = currentNode.parentNode;
- }
-
- this._updateCurrentTreeItem(treeItem);
-
- this.container.scrollTo(treeItem.offsetLeft, treeItem.offsetTop + TREEITEM_OFFSET_TOP);
- }
-
-}
-
-exports.BaseTreeViewer = BaseTreeViewer;
-
-/***/ }),
-/* 14 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFDocumentProperties = void 0;
-
-var _pdfjsLib = __webpack_require__(5);
-
-var _ui_utils = __webpack_require__(1);
-
-const DEFAULT_FIELD_CONTENT = "-";
-const NON_METRIC_LOCALES = ["en-us", "en-lr", "my"];
-const US_PAGE_NAMES = {
- "8.5x11": "Letter",
- "8.5x14": "Legal"
-};
-const METRIC_PAGE_NAMES = {
- "297x420": "A3",
- "210x297": "A4"
-};
-
-function getPageName(size, isPortrait, pageNames) {
- const width = isPortrait ? size.width : size.height;
- const height = isPortrait ? size.height : size.width;
- return pageNames[`${width}x${height}`];
-}
-
-class PDFDocumentProperties {
- #fieldData = null;
-
- constructor({
- dialog,
- fields,
- closeButton
- }, overlayManager, eventBus, l10n, fileNameLookup) {
- this.dialog = dialog;
- this.fields = fields;
- this.overlayManager = overlayManager;
- this.l10n = l10n;
- this._fileNameLookup = fileNameLookup;
- this.#reset();
- closeButton.addEventListener("click", this.close.bind(this));
- this.overlayManager.register(this.dialog);
-
- eventBus._on("pagechanging", evt => {
- this._currentPageNumber = evt.pageNumber;
- });
-
- eventBus._on("rotationchanging", evt => {
- this._pagesRotation = evt.pagesRotation;
- });
-
- this._isNonMetricLocale = true;
- l10n.getLanguage().then(locale => {
- this._isNonMetricLocale = NON_METRIC_LOCALES.includes(locale);
- });
- }
-
- async open() {
- await Promise.all([this.overlayManager.open(this.dialog), this._dataAvailableCapability.promise]);
- const currentPageNumber = this._currentPageNumber;
- const pagesRotation = this._pagesRotation;
-
- if (this.#fieldData && currentPageNumber === this.#fieldData._currentPageNumber && pagesRotation === this.#fieldData._pagesRotation) {
- this.#updateUI();
- return;
- }
-
- const {
- info,
- contentLength
- } = await this.pdfDocument.getMetadata();
- const [fileName, fileSize, creationDate, modificationDate, pageSize, isLinearized] = await Promise.all([this._fileNameLookup(), this.#parseFileSize(contentLength), this.#parseDate(info.CreationDate), this.#parseDate(info.ModDate), this.pdfDocument.getPage(currentPageNumber).then(pdfPage => {
- return this.#parsePageSize((0, _ui_utils.getPageSizeInches)(pdfPage), pagesRotation);
- }), this.#parseLinearization(info.IsLinearized)]);
- this.#fieldData = Object.freeze({
- fileName,
- fileSize,
- title: info.Title,
- author: info.Author,
- subject: info.Subject,
- keywords: info.Keywords,
- creationDate,
- modificationDate,
- creator: info.Creator,
- producer: info.Producer,
- version: info.PDFFormatVersion,
- pageCount: this.pdfDocument.numPages,
- pageSize,
- linearized: isLinearized,
- _currentPageNumber: currentPageNumber,
- _pagesRotation: pagesRotation
- });
- this.#updateUI();
- const {
- length
- } = await this.pdfDocument.getDownloadInfo();
-
- if (contentLength === length) {
- return;
- }
-
- const data = Object.assign(Object.create(null), this.#fieldData);
- data.fileSize = await this.#parseFileSize(length);
- this.#fieldData = Object.freeze(data);
- this.#updateUI();
- }
-
- async close() {
- this.overlayManager.close(this.dialog);
- }
-
- setDocument(pdfDocument) {
- if (this.pdfDocument) {
- this.#reset();
- this.#updateUI(true);
- }
-
- if (!pdfDocument) {
- return;
- }
-
- this.pdfDocument = pdfDocument;
-
- this._dataAvailableCapability.resolve();
- }
-
- #reset() {
- this.pdfDocument = null;
- this.#fieldData = null;
- this._dataAvailableCapability = (0, _pdfjsLib.createPromiseCapability)();
- this._currentPageNumber = 1;
- this._pagesRotation = 0;
- }
-
- #updateUI(reset = false) {
- if (reset || !this.#fieldData) {
- for (const id in this.fields) {
- this.fields[id].textContent = DEFAULT_FIELD_CONTENT;
- }
-
- return;
- }
-
- if (this.overlayManager.active !== this.dialog) {
- return;
- }
-
- for (const id in this.fields) {
- const content = this.#fieldData[id];
- this.fields[id].textContent = content || content === 0 ? content : DEFAULT_FIELD_CONTENT;
- }
- }
-
- async #parseFileSize(fileSize = 0) {
- const kb = fileSize / 1024,
- mb = kb / 1024;
-
- if (!kb) {
- return undefined;
- }
-
- return this.l10n.get(`document_properties_${mb >= 1 ? "mb" : "kb"}`, {
- size_mb: mb >= 1 && (+mb.toPrecision(3)).toLocaleString(),
- size_kb: mb < 1 && (+kb.toPrecision(3)).toLocaleString(),
- size_b: fileSize.toLocaleString()
- });
- }
-
- async #parsePageSize(pageSizeInches, pagesRotation) {
- if (!pageSizeInches) {
- return undefined;
- }
-
- if (pagesRotation % 180 !== 0) {
- pageSizeInches = {
- width: pageSizeInches.height,
- height: pageSizeInches.width
- };
- }
-
- const isPortrait = (0, _ui_utils.isPortraitOrientation)(pageSizeInches);
- let sizeInches = {
- width: Math.round(pageSizeInches.width * 100) / 100,
- height: Math.round(pageSizeInches.height * 100) / 100
- };
- let sizeMillimeters = {
- width: Math.round(pageSizeInches.width * 25.4 * 10) / 10,
- height: Math.round(pageSizeInches.height * 25.4 * 10) / 10
- };
- let rawName = getPageName(sizeInches, isPortrait, US_PAGE_NAMES) || getPageName(sizeMillimeters, isPortrait, METRIC_PAGE_NAMES);
-
- if (!rawName && !(Number.isInteger(sizeMillimeters.width) && Number.isInteger(sizeMillimeters.height))) {
- const exactMillimeters = {
- width: pageSizeInches.width * 25.4,
- height: pageSizeInches.height * 25.4
- };
- const intMillimeters = {
- width: Math.round(sizeMillimeters.width),
- height: Math.round(sizeMillimeters.height)
- };
-
- if (Math.abs(exactMillimeters.width - intMillimeters.width) < 0.1 && Math.abs(exactMillimeters.height - intMillimeters.height) < 0.1) {
- rawName = getPageName(intMillimeters, isPortrait, METRIC_PAGE_NAMES);
-
- if (rawName) {
- sizeInches = {
- width: Math.round(intMillimeters.width / 25.4 * 100) / 100,
- height: Math.round(intMillimeters.height / 25.4 * 100) / 100
- };
- sizeMillimeters = intMillimeters;
- }
- }
- }
-
- const [{
- width,
- height
- }, unit, name, orientation] = await Promise.all([this._isNonMetricLocale ? sizeInches : sizeMillimeters, this.l10n.get(`document_properties_page_size_unit_${this._isNonMetricLocale ? "inches" : "millimeters"}`), rawName && this.l10n.get(`document_properties_page_size_name_${rawName.toLowerCase()}`), this.l10n.get(`document_properties_page_size_orientation_${isPortrait ? "portrait" : "landscape"}`)]);
- return this.l10n.get(`document_properties_page_size_dimension_${name ? "name_" : ""}string`, {
- width: width.toLocaleString(),
- height: height.toLocaleString(),
- unit,
- name,
- orientation
- });
- }
-
- async #parseDate(inputDate) {
- const dateObject = _pdfjsLib.PDFDateString.toDateObject(inputDate);
-
- if (!dateObject) {
- return undefined;
- }
-
- return this.l10n.get("document_properties_date_string", {
- date: dateObject.toLocaleDateString(),
- time: dateObject.toLocaleTimeString()
- });
- }
-
- #parseLinearization(isLinearized) {
- return this.l10n.get(`document_properties_linearized_${isLinearized ? "yes" : "no"}`);
- }
-
-}
-
-exports.PDFDocumentProperties = PDFDocumentProperties;
-
-/***/ }),
-/* 15 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFFindBar = void 0;
-
-var _pdf_find_controller = __webpack_require__(16);
-
-const MATCHES_COUNT_LIMIT = 1000;
-
-class PDFFindBar {
- constructor(options, eventBus, l10n) {
- this.opened = false;
- this.bar = options.bar;
- this.toggleButton = options.toggleButton;
- this.findField = options.findField;
- this.highlightAll = options.highlightAllCheckbox;
- this.caseSensitive = options.caseSensitiveCheckbox;
- this.matchDiacritics = options.matchDiacriticsCheckbox;
- this.entireWord = options.entireWordCheckbox;
- this.findMsg = options.findMsg;
- this.findResultsCount = options.findResultsCount;
- this.findPreviousButton = options.findPreviousButton;
- this.findNextButton = options.findNextButton;
- this.eventBus = eventBus;
- this.l10n = l10n;
- this.toggleButton.addEventListener("click", () => {
- this.toggle();
- });
- this.findField.addEventListener("input", () => {
- this.dispatchEvent("");
- });
- this.bar.addEventListener("keydown", e => {
- switch (e.keyCode) {
- case 13:
- if (e.target === this.findField) {
- this.dispatchEvent("again", e.shiftKey);
- }
-
- break;
-
- case 27:
- this.close();
- break;
- }
- });
- this.findPreviousButton.addEventListener("click", () => {
- this.dispatchEvent("again", true);
- });
- this.findNextButton.addEventListener("click", () => {
- this.dispatchEvent("again", false);
- });
- this.highlightAll.addEventListener("click", () => {
- this.dispatchEvent("highlightallchange");
- });
- this.caseSensitive.addEventListener("click", () => {
- this.dispatchEvent("casesensitivitychange");
- });
- this.entireWord.addEventListener("click", () => {
- this.dispatchEvent("entirewordchange");
- });
- this.matchDiacritics.addEventListener("click", () => {
- this.dispatchEvent("diacriticmatchingchange");
- });
-
- this.eventBus._on("resize", this.#adjustWidth.bind(this));
- }
-
- reset() {
- this.updateUIState();
- }
-
- dispatchEvent(type, findPrev = false) {
- this.eventBus.dispatch("find", {
- source: this,
- type,
- query: this.findField.value,
- phraseSearch: true,
- caseSensitive: this.caseSensitive.checked,
- entireWord: this.entireWord.checked,
- highlightAll: this.highlightAll.checked,
- findPrevious: findPrev,
- matchDiacritics: this.matchDiacritics.checked
- });
- }
-
- updateUIState(state, previous, matchesCount) {
- let findMsg = Promise.resolve("");
- let status = "";
-
- switch (state) {
- case _pdf_find_controller.FindState.FOUND:
- break;
-
- case _pdf_find_controller.FindState.PENDING:
- status = "pending";
- break;
-
- case _pdf_find_controller.FindState.NOT_FOUND:
- findMsg = this.l10n.get("find_not_found");
- status = "notFound";
- break;
-
- case _pdf_find_controller.FindState.WRAPPED:
- findMsg = this.l10n.get(`find_reached_${previous ? "top" : "bottom"}`);
- break;
- }
-
- this.findField.setAttribute("data-status", status);
- this.findField.setAttribute("aria-invalid", state === _pdf_find_controller.FindState.NOT_FOUND);
- findMsg.then(msg => {
- this.findMsg.textContent = msg;
- this.#adjustWidth();
- });
- this.updateResultsCount(matchesCount);
- }
-
- updateResultsCount({
- current = 0,
- total = 0
- } = {}) {
- const limit = MATCHES_COUNT_LIMIT;
- let matchCountMsg = Promise.resolve("");
-
- if (total > 0) {
- if (total > limit) {
- let key = "find_match_count_limit";
- matchCountMsg = this.l10n.get(key, {
- limit
- });
- } else {
- let key = "find_match_count";
- matchCountMsg = this.l10n.get(key, {
- current,
- total
- });
- }
- }
-
- matchCountMsg.then(msg => {
- this.findResultsCount.textContent = msg;
- this.#adjustWidth();
- });
- }
-
- open() {
- if (!this.opened) {
- this.opened = true;
- this.toggleButton.classList.add("toggled");
- this.toggleButton.setAttribute("aria-expanded", "true");
- this.bar.classList.remove("hidden");
- }
-
- this.findField.select();
- this.findField.focus();
- this.#adjustWidth();
- }
-
- close() {
- if (!this.opened) {
- return;
- }
-
- this.opened = false;
- this.toggleButton.classList.remove("toggled");
- this.toggleButton.setAttribute("aria-expanded", "false");
- this.bar.classList.add("hidden");
- this.eventBus.dispatch("findbarclose", {
- source: this
- });
- }
-
- toggle() {
- if (this.opened) {
- this.close();
- } else {
- this.open();
- }
- }
-
- #adjustWidth() {
- if (!this.opened) {
- return;
- }
-
- this.bar.classList.remove("wrapContainers");
- const findbarHeight = this.bar.clientHeight;
- const inputContainerHeight = this.bar.firstElementChild.clientHeight;
-
- if (findbarHeight > inputContainerHeight) {
- this.bar.classList.add("wrapContainers");
- }
- }
-
-}
-
-exports.PDFFindBar = PDFFindBar;
-
-/***/ }),
-/* 16 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFFindController = exports.FindState = void 0;
-
-var _ui_utils = __webpack_require__(1);
-
-var _pdfjsLib = __webpack_require__(5);
-
-var _pdf_find_utils = __webpack_require__(17);
-
-const FindState = {
- FOUND: 0,
- NOT_FOUND: 1,
- WRAPPED: 2,
- PENDING: 3
-};
-exports.FindState = FindState;
-const FIND_TIMEOUT = 250;
-const MATCH_SCROLL_OFFSET_TOP = -50;
-const MATCH_SCROLL_OFFSET_LEFT = -400;
-const CHARACTERS_TO_NORMALIZE = {
- "\u2010": "-",
- "\u2018": "'",
- "\u2019": "'",
- "\u201A": "'",
- "\u201B": "'",
- "\u201C": '"',
- "\u201D": '"',
- "\u201E": '"',
- "\u201F": '"',
- "\u00BC": "1/4",
- "\u00BD": "1/2",
- "\u00BE": "3/4"
-};
-const DIACRITICS_EXCEPTION = new Set([0x3099, 0x309a, 0x094d, 0x09cd, 0x0a4d, 0x0acd, 0x0b4d, 0x0bcd, 0x0c4d, 0x0ccd, 0x0d3b, 0x0d3c, 0x0d4d, 0x0dca, 0x0e3a, 0x0eba, 0x0f84, 0x1039, 0x103a, 0x1714, 0x1734, 0x17d2, 0x1a60, 0x1b44, 0x1baa, 0x1bab, 0x1bf2, 0x1bf3, 0x2d7f, 0xa806, 0xa82c, 0xa8c4, 0xa953, 0xa9c0, 0xaaf6, 0xabed, 0x0c56, 0x0f71, 0x0f72, 0x0f7a, 0x0f7b, 0x0f7c, 0x0f7d, 0x0f80, 0x0f74]);
-const DIACRITICS_EXCEPTION_STR = [...DIACRITICS_EXCEPTION.values()].map(x => String.fromCharCode(x)).join("");
-const DIACRITICS_REG_EXP = /\p{M}+/gu;
-const SPECIAL_CHARS_REG_EXP = /([.*+?^${}()|[\]\\])|(\p{P})|(\s+)|(\p{M})|(\p{L})/gu;
-const NOT_DIACRITIC_FROM_END_REG_EXP = /([^\p{M}])\p{M}*$/u;
-const NOT_DIACRITIC_FROM_START_REG_EXP = /^\p{M}*([^\p{M}])/u;
-const SYLLABLES_REG_EXP = /[\uAC00-\uD7AF\uFA6C\uFACF-\uFAD1\uFAD5-\uFAD7]+/g;
-const SYLLABLES_LENGTHS = new Map();
-const FIRST_CHAR_SYLLABLES_REG_EXP = "[\\u1100-\\u1112\\ud7a4-\\ud7af\\ud84a\\ud84c\\ud850\\ud854\\ud857\\ud85f]";
-let noSyllablesRegExp = null;
-let withSyllablesRegExp = null;
-
-function normalize(text) {
- const syllablePositions = [];
- let m;
-
- while ((m = SYLLABLES_REG_EXP.exec(text)) !== null) {
- let {
- index
- } = m;
-
- for (const char of m[0]) {
- let len = SYLLABLES_LENGTHS.get(char);
-
- if (!len) {
- len = char.normalize("NFD").length;
- SYLLABLES_LENGTHS.set(char, len);
- }
-
- syllablePositions.push([len, index++]);
- }
- }
-
- let normalizationRegex;
-
- if (syllablePositions.length === 0 && noSyllablesRegExp) {
- normalizationRegex = noSyllablesRegExp;
- } else if (syllablePositions.length > 0 && withSyllablesRegExp) {
- normalizationRegex = withSyllablesRegExp;
- } else {
- const replace = Object.keys(CHARACTERS_TO_NORMALIZE).join("");
- const regexp = `([${replace}])|(\\p{M}+(?:-\\n)?)|(\\S-\\n)|(\\n)`;
-
- if (syllablePositions.length === 0) {
- normalizationRegex = noSyllablesRegExp = new RegExp(regexp + "|(\\u0000)", "gum");
- } else {
- normalizationRegex = withSyllablesRegExp = new RegExp(regexp + `|(${FIRST_CHAR_SYLLABLES_REG_EXP})`, "gum");
- }
- }
-
- const rawDiacriticsPositions = [];
-
- while ((m = DIACRITICS_REG_EXP.exec(text)) !== null) {
- rawDiacriticsPositions.push([m[0].length, m.index]);
- }
-
- let normalized = text.normalize("NFD");
- const positions = [[0, 0]];
- let rawDiacriticsIndex = 0;
- let syllableIndex = 0;
- let shift = 0;
- let shiftOrigin = 0;
- let eol = 0;
- let hasDiacritics = false;
- normalized = normalized.replace(normalizationRegex, (match, p1, p2, p3, p4, p5, i) => {
- i -= shiftOrigin;
-
- if (p1) {
- const replacement = CHARACTERS_TO_NORMALIZE[match];
- const jj = replacement.length;
-
- for (let j = 1; j < jj; j++) {
- positions.push([i - shift + j, shift - j]);
- }
-
- shift -= jj - 1;
- return replacement;
- }
-
- if (p2) {
- const hasTrailingDashEOL = p2.endsWith("\n");
- const len = hasTrailingDashEOL ? p2.length - 2 : p2.length;
- hasDiacritics = true;
- let jj = len;
-
- if (i + eol === rawDiacriticsPositions[rawDiacriticsIndex]?.[1]) {
- jj -= rawDiacriticsPositions[rawDiacriticsIndex][0];
- ++rawDiacriticsIndex;
- }
-
- for (let j = 1; j <= jj; j++) {
- positions.push([i - 1 - shift + j, shift - j]);
- }
-
- shift -= jj;
- shiftOrigin += jj;
-
- if (hasTrailingDashEOL) {
- i += len - 1;
- positions.push([i - shift + 1, 1 + shift]);
- shift += 1;
- shiftOrigin += 1;
- eol += 1;
- return p2.slice(0, len);
- }
-
- return p2;
- }
-
- if (p3) {
- positions.push([i - shift + 1, 1 + shift]);
- shift += 1;
- shiftOrigin += 1;
- eol += 1;
- return p3.charAt(0);
- }
-
- if (p4) {
- positions.push([i - shift + 1, shift - 1]);
- shift -= 1;
- shiftOrigin += 1;
- eol += 1;
- return " ";
- }
-
- if (i + eol === syllablePositions[syllableIndex]?.[1]) {
- const newCharLen = syllablePositions[syllableIndex][0] - 1;
- ++syllableIndex;
-
- for (let j = 1; j <= newCharLen; j++) {
- positions.push([i - (shift - j), shift - j]);
- }
-
- shift -= newCharLen;
- shiftOrigin += newCharLen;
- }
-
- return p5;
- });
- positions.push([normalized.length, shift]);
- return [normalized, positions, hasDiacritics];
-}
-
-function getOriginalIndex(diffs, pos, len) {
- if (!diffs) {
- return [pos, len];
- }
-
- const start = pos;
- const end = pos + len;
- let i = (0, _ui_utils.binarySearchFirstItem)(diffs, x => x[0] >= start);
-
- if (diffs[i][0] > start) {
- --i;
- }
-
- let j = (0, _ui_utils.binarySearchFirstItem)(diffs, x => x[0] >= end, i);
-
- if (diffs[j][0] > end) {
- --j;
- }
-
- return [start + diffs[i][1], len + diffs[j][1] - diffs[i][1]];
-}
-
-class PDFFindController {
- constructor({
- linkService,
- eventBus
- }) {
- this._linkService = linkService;
- this._eventBus = eventBus;
- this.#reset();
-
- eventBus._on("find", this.#onFind.bind(this));
-
- eventBus._on("findbarclose", this.#onFindBarClose.bind(this));
- }
-
- get highlightMatches() {
- return this._highlightMatches;
- }
-
- get pageMatches() {
- return this._pageMatches;
- }
-
- get pageMatchesLength() {
- return this._pageMatchesLength;
- }
-
- get selected() {
- return this._selected;
- }
-
- get state() {
- return this._state;
- }
-
- setDocument(pdfDocument) {
- if (this._pdfDocument) {
- this.#reset();
- }
-
- if (!pdfDocument) {
- return;
- }
-
- this._pdfDocument = pdfDocument;
-
- this._firstPageCapability.resolve();
- }
-
- #onFind(state) {
- if (!state) {
- return;
- }
-
- const pdfDocument = this._pdfDocument;
- const {
- type
- } = state;
-
- if (this._state === null || this.#shouldDirtyMatch(state)) {
- this._dirtyMatch = true;
- }
-
- this._state = state;
-
- if (type !== "highlightallchange") {
- this.#updateUIState(FindState.PENDING);
- }
-
- this._firstPageCapability.promise.then(() => {
- if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) {
- return;
- }
-
- this.#extractText();
- const findbarClosed = !this._highlightMatches;
- const pendingTimeout = !!this._findTimeout;
-
- if (this._findTimeout) {
- clearTimeout(this._findTimeout);
- this._findTimeout = null;
- }
-
- if (!type) {
- this._findTimeout = setTimeout(() => {
- this.#nextMatch();
- this._findTimeout = null;
- }, FIND_TIMEOUT);
- } else if (this._dirtyMatch) {
- this.#nextMatch();
- } else if (type === "again") {
- this.#nextMatch();
-
- if (findbarClosed && this._state.highlightAll) {
- this.#updateAllPages();
- }
- } else if (type === "highlightallchange") {
- if (pendingTimeout) {
- this.#nextMatch();
- } else {
- this._highlightMatches = true;
- }
-
- this.#updateAllPages();
- } else {
- this.#nextMatch();
- }
- });
- }
-
- scrollMatchIntoView({
- element = null,
- selectedLeft = 0,
- pageIndex = -1,
- matchIndex = -1
- }) {
- if (!this._scrollMatches || !element) {
- return;
- } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {
- return;
- } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {
- return;
- }
-
- this._scrollMatches = false;
- const spot = {
- top: MATCH_SCROLL_OFFSET_TOP,
- left: selectedLeft + MATCH_SCROLL_OFFSET_LEFT
- };
- (0, _ui_utils.scrollIntoView)(element, spot, true);
- }
-
- #reset() {
- this._highlightMatches = false;
- this._scrollMatches = false;
- this._pdfDocument = null;
- this._pageMatches = [];
- this._pageMatchesLength = [];
- this._state = null;
- this._selected = {
- pageIdx: -1,
- matchIdx: -1
- };
- this._offset = {
- pageIdx: null,
- matchIdx: null,
- wrapped: false
- };
- this._extractTextPromises = [];
- this._pageContents = [];
- this._pageDiffs = [];
- this._hasDiacritics = [];
- this._matchesCountTotal = 0;
- this._pagesToSearch = null;
- this._pendingFindMatches = new Set();
- this._resumePageIdx = null;
- this._dirtyMatch = false;
- clearTimeout(this._findTimeout);
- this._findTimeout = null;
- this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();
- }
-
- get #query() {
- if (this._state.query !== this._rawQuery) {
- this._rawQuery = this._state.query;
- [this._normalizedQuery] = normalize(this._state.query);
- }
-
- return this._normalizedQuery;
- }
-
- #shouldDirtyMatch(state) {
- if (state.query !== this._state.query) {
- return true;
- }
-
- switch (state.type) {
- case "again":
- const pageNumber = this._selected.pageIdx + 1;
- const linkService = this._linkService;
-
- if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) {
- return true;
- }
-
- return false;
-
- case "highlightallchange":
- return false;
- }
-
- return true;
- }
-
- #isEntireWord(content, startIdx, length) {
- let match = content.slice(0, startIdx).match(NOT_DIACRITIC_FROM_END_REG_EXP);
-
- if (match) {
- const first = content.charCodeAt(startIdx);
- const limit = match[1].charCodeAt(0);
-
- if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {
- return false;
- }
- }
-
- match = content.slice(startIdx + length).match(NOT_DIACRITIC_FROM_START_REG_EXP);
-
- if (match) {
- const last = content.charCodeAt(startIdx + length - 1);
- const limit = match[1].charCodeAt(0);
-
- if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(limit)) {
- return false;
- }
- }
-
- return true;
- }
-
- #calculateRegExpMatch(query, entireWord, pageIndex, pageContent) {
- const matches = [],
- matchesLength = [];
- const diffs = this._pageDiffs[pageIndex];
- let match;
-
- while ((match = query.exec(pageContent)) !== null) {
- if (entireWord && !this.#isEntireWord(pageContent, match.index, match[0].length)) {
- continue;
- }
-
- const [matchPos, matchLen] = getOriginalIndex(diffs, match.index, match[0].length);
-
- if (matchLen) {
- matches.push(matchPos);
- matchesLength.push(matchLen);
- }
- }
-
- this._pageMatches[pageIndex] = matches;
- this._pageMatchesLength[pageIndex] = matchesLength;
- }
-
- #convertToRegExpString(query, hasDiacritics) {
- const {
- matchDiacritics
- } = this._state;
- let isUnicode = false;
- query = query.replace(SPECIAL_CHARS_REG_EXP, (match, p1, p2, p3, p4, p5) => {
- if (p1) {
- return `[ ]*\\${p1}[ ]*`;
- }
-
- if (p2) {
- return `[ ]*${p2}[ ]*`;
- }
-
- if (p3) {
- return "[ ]+";
- }
-
- if (matchDiacritics) {
- return p4 || p5;
- }
-
- if (p4) {
- return DIACRITICS_EXCEPTION.has(p4.charCodeAt(0)) ? p4 : "";
- }
-
- if (hasDiacritics) {
- isUnicode = true;
- return `${p5}\\p{M}*`;
- }
-
- return p5;
- });
- const trailingSpaces = "[ ]*";
-
- if (query.endsWith(trailingSpaces)) {
- query = query.slice(0, query.length - trailingSpaces.length);
- }
-
- if (matchDiacritics) {
- if (hasDiacritics) {
- isUnicode = true;
- query = `${query}(?=[${DIACRITICS_EXCEPTION_STR}]|[^\\p{M}]|$)`;
- }
- }
-
- return [isUnicode, query];
- }
-
- #calculateMatch(pageIndex) {
- let query = this.#query;
-
- if (query.length === 0) {
- return;
- }
-
- const {
- caseSensitive,
- entireWord,
- phraseSearch
- } = this._state;
- const pageContent = this._pageContents[pageIndex];
- const hasDiacritics = this._hasDiacritics[pageIndex];
- let isUnicode = false;
-
- if (phraseSearch) {
- [isUnicode, query] = this.#convertToRegExpString(query, hasDiacritics);
- } else {
- const match = query.match(/\S+/g);
-
- if (match) {
- query = match.sort().reverse().map(q => {
- const [isUnicodePart, queryPart] = this.#convertToRegExpString(q, hasDiacritics);
- isUnicode ||= isUnicodePart;
- return `(${queryPart})`;
- }).join("|");
- }
- }
-
- const flags = `g${isUnicode ? "u" : ""}${caseSensitive ? "" : "i"}`;
- query = new RegExp(query, flags);
- this.#calculateRegExpMatch(query, entireWord, pageIndex, pageContent);
-
- if (this._state.highlightAll) {
- this.#updatePage(pageIndex);
- }
-
- if (this._resumePageIdx === pageIndex) {
- this._resumePageIdx = null;
- this.#nextPageMatch();
- }
-
- const pageMatchesCount = this._pageMatches[pageIndex].length;
-
- if (pageMatchesCount > 0) {
- this._matchesCountTotal += pageMatchesCount;
- this.#updateUIResultsCount();
- }
- }
-
- #extractText() {
- if (this._extractTextPromises.length > 0) {
- return;
- }
-
- let promise = Promise.resolve();
-
- for (let i = 0, ii = this._linkService.pagesCount; i < ii; i++) {
- const extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();
- this._extractTextPromises[i] = extractTextCapability.promise;
- promise = promise.then(() => {
- return this._pdfDocument.getPage(i + 1).then(pdfPage => {
- return pdfPage.getTextContent();
- }).then(textContent => {
- const strBuf = [];
-
- for (const textItem of textContent.items) {
- strBuf.push(textItem.str);
-
- if (textItem.hasEOL) {
- strBuf.push("\n");
- }
- }
-
- [this._pageContents[i], this._pageDiffs[i], this._hasDiacritics[i]] = normalize(strBuf.join(""));
- extractTextCapability.resolve();
- }, reason => {
- console.error(`Unable to get text content for page ${i + 1}`, reason);
- this._pageContents[i] = "";
- this._pageDiffs[i] = null;
- this._hasDiacritics[i] = false;
- extractTextCapability.resolve();
- });
- });
- }
- }
-
- #updatePage(index) {
- if (this._scrollMatches && this._selected.pageIdx === index) {
- this._linkService.page = index + 1;
- }
-
- this._eventBus.dispatch("updatetextlayermatches", {
- source: this,
- pageIndex: index
- });
- }
-
- #updateAllPages() {
- this._eventBus.dispatch("updatetextlayermatches", {
- source: this,
- pageIndex: -1
- });
- }
-
- #nextMatch() {
- const previous = this._state.findPrevious;
- const currentPageIndex = this._linkService.page - 1;
- const numPages = this._linkService.pagesCount;
- this._highlightMatches = true;
-
- if (this._dirtyMatch) {
- this._dirtyMatch = false;
- this._selected.pageIdx = this._selected.matchIdx = -1;
- this._offset.pageIdx = currentPageIndex;
- this._offset.matchIdx = null;
- this._offset.wrapped = false;
- this._resumePageIdx = null;
- this._pageMatches.length = 0;
- this._pageMatchesLength.length = 0;
- this._matchesCountTotal = 0;
- this.#updateAllPages();
-
- for (let i = 0; i < numPages; i++) {
- if (this._pendingFindMatches.has(i)) {
- continue;
- }
-
- this._pendingFindMatches.add(i);
-
- this._extractTextPromises[i].then(() => {
- this._pendingFindMatches.delete(i);
-
- this.#calculateMatch(i);
- });
- }
- }
-
- if (this.#query === "") {
- this.#updateUIState(FindState.FOUND);
- return;
- }
-
- if (this._resumePageIdx) {
- return;
- }
-
- const offset = this._offset;
- this._pagesToSearch = numPages;
-
- if (offset.matchIdx !== null) {
- const numPageMatches = this._pageMatches[offset.pageIdx].length;
-
- if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {
- offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;
- this.#updateMatch(true);
- return;
- }
-
- this.#advanceOffsetPage(previous);
- }
-
- this.#nextPageMatch();
- }
-
- #matchesReady(matches) {
- const offset = this._offset;
- const numMatches = matches.length;
- const previous = this._state.findPrevious;
-
- if (numMatches) {
- offset.matchIdx = previous ? numMatches - 1 : 0;
- this.#updateMatch(true);
- return true;
- }
-
- this.#advanceOffsetPage(previous);
-
- if (offset.wrapped) {
- offset.matchIdx = null;
-
- if (this._pagesToSearch < 0) {
- this.#updateMatch(false);
- return true;
- }
- }
-
- return false;
- }
-
- #nextPageMatch() {
- if (this._resumePageIdx !== null) {
- console.error("There can only be one pending page.");
- }
-
- let matches = null;
-
- do {
- const pageIdx = this._offset.pageIdx;
- matches = this._pageMatches[pageIdx];
-
- if (!matches) {
- this._resumePageIdx = pageIdx;
- break;
- }
- } while (!this.#matchesReady(matches));
- }
-
- #advanceOffsetPage(previous) {
- const offset = this._offset;
- const numPages = this._linkService.pagesCount;
- offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;
- offset.matchIdx = null;
- this._pagesToSearch--;
-
- if (offset.pageIdx >= numPages || offset.pageIdx < 0) {
- offset.pageIdx = previous ? numPages - 1 : 0;
- offset.wrapped = true;
- }
- }
-
- #updateMatch(found = false) {
- let state = FindState.NOT_FOUND;
- const wrapped = this._offset.wrapped;
- this._offset.wrapped = false;
-
- if (found) {
- const previousPage = this._selected.pageIdx;
- this._selected.pageIdx = this._offset.pageIdx;
- this._selected.matchIdx = this._offset.matchIdx;
- state = wrapped ? FindState.WRAPPED : FindState.FOUND;
-
- if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {
- this.#updatePage(previousPage);
- }
- }
-
- this.#updateUIState(state, this._state.findPrevious);
-
- if (this._selected.pageIdx !== -1) {
- this._scrollMatches = true;
- this.#updatePage(this._selected.pageIdx);
- }
- }
-
- #onFindBarClose(evt) {
- const pdfDocument = this._pdfDocument;
-
- this._firstPageCapability.promise.then(() => {
- if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) {
- return;
- }
-
- if (this._findTimeout) {
- clearTimeout(this._findTimeout);
- this._findTimeout = null;
- }
-
- if (this._resumePageIdx) {
- this._resumePageIdx = null;
- this._dirtyMatch = true;
- }
-
- this.#updateUIState(FindState.FOUND);
- this._highlightMatches = false;
- this.#updateAllPages();
- });
- }
-
- #requestMatchesCount() {
- const {
- pageIdx,
- matchIdx
- } = this._selected;
- let current = 0,
- total = this._matchesCountTotal;
-
- if (matchIdx !== -1) {
- for (let i = 0; i < pageIdx; i++) {
- current += this._pageMatches[i]?.length || 0;
- }
-
- current += matchIdx + 1;
- }
-
- if (current < 1 || current > total) {
- current = total = 0;
- }
-
- return {
- current,
- total
- };
- }
-
- #updateUIResultsCount() {
- this._eventBus.dispatch("updatefindmatchescount", {
- source: this,
- matchesCount: this.#requestMatchesCount()
- });
- }
-
- #updateUIState(state, previous = false) {
- this._eventBus.dispatch("updatefindcontrolstate", {
- source: this,
- state,
- previous,
- matchesCount: this.#requestMatchesCount(),
- rawQuery: this._state?.query ?? null
- });
- }
-
-}
-
-exports.PDFFindController = PDFFindController;
-
-/***/ }),
-/* 17 */
-/***/ ((__unused_webpack_module, exports) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.CharacterType = void 0;
-exports.getCharacterType = getCharacterType;
-const CharacterType = {
- SPACE: 0,
- ALPHA_LETTER: 1,
- PUNCT: 2,
- HAN_LETTER: 3,
- KATAKANA_LETTER: 4,
- HIRAGANA_LETTER: 5,
- HALFWIDTH_KATAKANA_LETTER: 6,
- THAI_LETTER: 7
-};
-exports.CharacterType = CharacterType;
-
-function isAlphabeticalScript(charCode) {
- return charCode < 0x2e80;
-}
-
-function isAscii(charCode) {
- return (charCode & 0xff80) === 0;
-}
-
-function isAsciiAlpha(charCode) {
- return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;
-}
-
-function isAsciiDigit(charCode) {
- return charCode >= 0x30 && charCode <= 0x39;
-}
-
-function isAsciiSpace(charCode) {
- return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;
-}
-
-function isHan(charCode) {
- return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;
-}
-
-function isKatakana(charCode) {
- return charCode >= 0x30a0 && charCode <= 0x30ff;
-}
-
-function isHiragana(charCode) {
- return charCode >= 0x3040 && charCode <= 0x309f;
-}
-
-function isHalfwidthKatakana(charCode) {
- return charCode >= 0xff60 && charCode <= 0xff9f;
-}
-
-function isThai(charCode) {
- return (charCode & 0xff80) === 0x0e00;
-}
-
-function getCharacterType(charCode) {
- if (isAlphabeticalScript(charCode)) {
- if (isAscii(charCode)) {
- if (isAsciiSpace(charCode)) {
- return CharacterType.SPACE;
- } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {
- return CharacterType.ALPHA_LETTER;
- }
-
- return CharacterType.PUNCT;
- } else if (isThai(charCode)) {
- return CharacterType.THAI_LETTER;
- } else if (charCode === 0xa0) {
- return CharacterType.SPACE;
- }
-
- return CharacterType.ALPHA_LETTER;
- }
-
- if (isHan(charCode)) {
- return CharacterType.HAN_LETTER;
- } else if (isKatakana(charCode)) {
- return CharacterType.KATAKANA_LETTER;
- } else if (isHiragana(charCode)) {
- return CharacterType.HIRAGANA_LETTER;
- } else if (isHalfwidthKatakana(charCode)) {
- return CharacterType.HALFWIDTH_KATAKANA_LETTER;
- }
-
- return CharacterType.ALPHA_LETTER;
-}
-
-/***/ }),
-/* 18 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFHistory = void 0;
-exports.isDestArraysEqual = isDestArraysEqual;
-exports.isDestHashesEqual = isDestHashesEqual;
-
-var _ui_utils = __webpack_require__(1);
-
-var _event_utils = __webpack_require__(6);
-
-const HASH_CHANGE_TIMEOUT = 1000;
-const POSITION_UPDATED_THRESHOLD = 50;
-const UPDATE_VIEWAREA_TIMEOUT = 1000;
-
-function getCurrentHash() {
- return document.location.hash;
-}
-
-class PDFHistory {
- constructor({
- linkService,
- eventBus
- }) {
- this.linkService = linkService;
- this.eventBus = eventBus;
- this._initialized = false;
- this._fingerprint = "";
- this.reset();
- this._boundEvents = null;
-
- this.eventBus._on("pagesinit", () => {
- this._isPagesLoaded = false;
-
- this.eventBus._on("pagesloaded", evt => {
- this._isPagesLoaded = !!evt.pagesCount;
- }, {
- once: true
- });
- });
- }
-
- initialize({
- fingerprint,
- resetHistory = false,
- updateUrl = false
- }) {
- if (!fingerprint || typeof fingerprint !== "string") {
- console.error('PDFHistory.initialize: The "fingerprint" must be a non-empty string.');
- return;
- }
-
- if (this._initialized) {
- this.reset();
- }
-
- const reInitialized = this._fingerprint !== "" && this._fingerprint !== fingerprint;
- this._fingerprint = fingerprint;
- this._updateUrl = updateUrl === true;
- this._initialized = true;
-
- this._bindEvents();
-
- const state = window.history.state;
- this._popStateInProgress = false;
- this._blockHashChange = 0;
- this._currentHash = getCurrentHash();
- this._numPositionUpdates = 0;
- this._uid = this._maxUid = 0;
- this._destination = null;
- this._position = null;
-
- if (!this._isValidState(state, true) || resetHistory) {
- const {
- hash,
- page,
- rotation
- } = this._parseCurrentHash(true);
-
- if (!hash || reInitialized || resetHistory) {
- this._pushOrReplaceState(null, true);
-
- return;
- }
-
- this._pushOrReplaceState({
- hash,
- page,
- rotation
- }, true);
-
- return;
- }
-
- const destination = state.destination;
-
- this._updateInternalState(destination, state.uid, true);
-
- if (destination.rotation !== undefined) {
- this._initialRotation = destination.rotation;
- }
-
- if (destination.dest) {
- this._initialBookmark = JSON.stringify(destination.dest);
- this._destination.page = null;
- } else if (destination.hash) {
- this._initialBookmark = destination.hash;
- } else if (destination.page) {
- this._initialBookmark = `page=${destination.page}`;
- }
- }
-
- reset() {
- if (this._initialized) {
- this._pageHide();
-
- this._initialized = false;
-
- this._unbindEvents();
- }
-
- if (this._updateViewareaTimeout) {
- clearTimeout(this._updateViewareaTimeout);
- this._updateViewareaTimeout = null;
- }
-
- this._initialBookmark = null;
- this._initialRotation = null;
- }
-
- push({
- namedDest = null,
- explicitDest,
- pageNumber
- }) {
- if (!this._initialized) {
- return;
- }
-
- if (namedDest && typeof namedDest !== "string") {
- console.error("PDFHistory.push: " + `"${namedDest}" is not a valid namedDest parameter.`);
- return;
- } else if (!Array.isArray(explicitDest)) {
- console.error("PDFHistory.push: " + `"${explicitDest}" is not a valid explicitDest parameter.`);
- return;
- } else if (!this._isValidPage(pageNumber)) {
- if (pageNumber !== null || this._destination) {
- console.error("PDFHistory.push: " + `"${pageNumber}" is not a valid pageNumber parameter.`);
- return;
- }
- }
-
- const hash = namedDest || JSON.stringify(explicitDest);
-
- if (!hash) {
- return;
- }
-
- let forceReplace = false;
-
- if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {
- if (this._destination.page) {
- return;
- }
-
- forceReplace = true;
- }
-
- if (this._popStateInProgress && !forceReplace) {
- return;
- }
-
- this._pushOrReplaceState({
- dest: explicitDest,
- hash,
- page: pageNumber,
- rotation: this.linkService.rotation
- }, forceReplace);
-
- if (!this._popStateInProgress) {
- this._popStateInProgress = true;
- Promise.resolve().then(() => {
- this._popStateInProgress = false;
- });
- }
- }
-
- pushPage(pageNumber) {
- if (!this._initialized) {
- return;
- }
-
- if (!this._isValidPage(pageNumber)) {
- console.error(`PDFHistory.pushPage: "${pageNumber}" is not a valid page number.`);
- return;
- }
-
- if (this._destination?.page === pageNumber) {
- return;
- }
-
- if (this._popStateInProgress) {
- return;
- }
-
- this._pushOrReplaceState({
- dest: null,
- hash: `page=${pageNumber}`,
- page: pageNumber,
- rotation: this.linkService.rotation
- });
-
- if (!this._popStateInProgress) {
- this._popStateInProgress = true;
- Promise.resolve().then(() => {
- this._popStateInProgress = false;
- });
- }
- }
-
- pushCurrentPosition() {
- if (!this._initialized || this._popStateInProgress) {
- return;
- }
-
- this._tryPushCurrentPosition();
- }
-
- back() {
- if (!this._initialized || this._popStateInProgress) {
- return;
- }
-
- const state = window.history.state;
-
- if (this._isValidState(state) && state.uid > 0) {
- window.history.back();
- }
- }
-
- forward() {
- if (!this._initialized || this._popStateInProgress) {
- return;
- }
-
- const state = window.history.state;
-
- if (this._isValidState(state) && state.uid < this._maxUid) {
- window.history.forward();
- }
- }
-
- get popStateInProgress() {
- return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);
- }
-
- get initialBookmark() {
- return this._initialized ? this._initialBookmark : null;
- }
-
- get initialRotation() {
- return this._initialized ? this._initialRotation : null;
- }
-
- _pushOrReplaceState(destination, forceReplace = false) {
- const shouldReplace = forceReplace || !this._destination;
- const newState = {
- fingerprint: this._fingerprint,
- uid: shouldReplace ? this._uid : this._uid + 1,
- destination
- };
-
- this._updateInternalState(destination, newState.uid);
-
- let newUrl;
-
- if (this._updateUrl && destination?.hash) {
- const baseUrl = document.location.href.split("#")[0];
-
- if (!baseUrl.startsWith("file://")) {
- newUrl = `${baseUrl}#${destination.hash}`;
- }
- }
-
- if (shouldReplace) {
- window.history.replaceState(newState, "", newUrl);
- } else {
- window.history.pushState(newState, "", newUrl);
- }
- }
-
- _tryPushCurrentPosition(temporary = false) {
- if (!this._position) {
- return;
- }
-
- let position = this._position;
-
- if (temporary) {
- position = Object.assign(Object.create(null), this._position);
- position.temporary = true;
- }
-
- if (!this._destination) {
- this._pushOrReplaceState(position);
-
- return;
- }
-
- if (this._destination.temporary) {
- this._pushOrReplaceState(position, true);
-
- return;
- }
-
- if (this._destination.hash === position.hash) {
- return;
- }
-
- if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {
- return;
- }
-
- let forceReplace = false;
-
- if (this._destination.page >= position.first && this._destination.page <= position.page) {
- if (this._destination.dest !== undefined || !this._destination.first) {
- return;
- }
-
- forceReplace = true;
- }
-
- this._pushOrReplaceState(position, forceReplace);
- }
-
- _isValidPage(val) {
- return Number.isInteger(val) && val > 0 && val <= this.linkService.pagesCount;
- }
-
- _isValidState(state, checkReload = false) {
- if (!state) {
- return false;
- }
-
- if (state.fingerprint !== this._fingerprint) {
- if (checkReload) {
- if (typeof state.fingerprint !== "string" || state.fingerprint.length !== this._fingerprint.length) {
- return false;
- }
-
- const [perfEntry] = performance.getEntriesByType("navigation");
-
- if (perfEntry?.type !== "reload") {
- return false;
- }
- } else {
- return false;
- }
- }
-
- if (!Number.isInteger(state.uid) || state.uid < 0) {
- return false;
- }
-
- if (state.destination === null || typeof state.destination !== "object") {
- return false;
- }
-
- return true;
- }
-
- _updateInternalState(destination, uid, removeTemporary = false) {
- if (this._updateViewareaTimeout) {
- clearTimeout(this._updateViewareaTimeout);
- this._updateViewareaTimeout = null;
- }
-
- if (removeTemporary && destination?.temporary) {
- delete destination.temporary;
- }
-
- this._destination = destination;
- this._uid = uid;
- this._maxUid = Math.max(this._maxUid, uid);
- this._numPositionUpdates = 0;
- }
-
- _parseCurrentHash(checkNameddest = false) {
- const hash = unescape(getCurrentHash()).substring(1);
- const params = (0, _ui_utils.parseQueryString)(hash);
- const nameddest = params.get("nameddest") || "";
- let page = params.get("page") | 0;
-
- if (!this._isValidPage(page) || checkNameddest && nameddest.length > 0) {
- page = null;
- }
-
- return {
- hash,
- page,
- rotation: this.linkService.rotation
- };
- }
-
- _updateViewarea({
- location
- }) {
- if (this._updateViewareaTimeout) {
- clearTimeout(this._updateViewareaTimeout);
- this._updateViewareaTimeout = null;
- }
-
- this._position = {
- hash: location.pdfOpenParams.substring(1),
- page: this.linkService.page,
- first: location.pageNumber,
- rotation: location.rotation
- };
-
- if (this._popStateInProgress) {
- return;
- }
-
- if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {
- this._numPositionUpdates++;
- }
-
- if (UPDATE_VIEWAREA_TIMEOUT > 0) {
- this._updateViewareaTimeout = setTimeout(() => {
- if (!this._popStateInProgress) {
- this._tryPushCurrentPosition(true);
- }
-
- this._updateViewareaTimeout = null;
- }, UPDATE_VIEWAREA_TIMEOUT);
- }
- }
-
- _popState({
- state
- }) {
- const newHash = getCurrentHash(),
- hashChanged = this._currentHash !== newHash;
- this._currentHash = newHash;
-
- if (!state) {
- this._uid++;
-
- const {
- hash,
- page,
- rotation
- } = this._parseCurrentHash();
-
- this._pushOrReplaceState({
- hash,
- page,
- rotation
- }, true);
-
- return;
- }
-
- if (!this._isValidState(state)) {
- return;
- }
-
- this._popStateInProgress = true;
-
- if (hashChanged) {
- this._blockHashChange++;
- (0, _event_utils.waitOnEventOrTimeout)({
- target: window,
- name: "hashchange",
- delay: HASH_CHANGE_TIMEOUT
- }).then(() => {
- this._blockHashChange--;
- });
- }
-
- const destination = state.destination;
-
- this._updateInternalState(destination, state.uid, true);
-
- if ((0, _ui_utils.isValidRotation)(destination.rotation)) {
- this.linkService.rotation = destination.rotation;
- }
-
- if (destination.dest) {
- this.linkService.goToDestination(destination.dest);
- } else if (destination.hash) {
- this.linkService.setHash(destination.hash);
- } else if (destination.page) {
- this.linkService.page = destination.page;
- }
-
- Promise.resolve().then(() => {
- this._popStateInProgress = false;
- });
- }
-
- _pageHide() {
- if (!this._destination || this._destination.temporary) {
- this._tryPushCurrentPosition();
- }
- }
-
- _bindEvents() {
- if (this._boundEvents) {
- return;
- }
-
- this._boundEvents = {
- updateViewarea: this._updateViewarea.bind(this),
- popState: this._popState.bind(this),
- pageHide: this._pageHide.bind(this)
- };
-
- this.eventBus._on("updateviewarea", this._boundEvents.updateViewarea);
-
- window.addEventListener("popstate", this._boundEvents.popState);
- window.addEventListener("pagehide", this._boundEvents.pageHide);
- }
-
- _unbindEvents() {
- if (!this._boundEvents) {
- return;
- }
-
- this.eventBus._off("updateviewarea", this._boundEvents.updateViewarea);
-
- window.removeEventListener("popstate", this._boundEvents.popState);
- window.removeEventListener("pagehide", this._boundEvents.pageHide);
- this._boundEvents = null;
- }
-
-}
-
-exports.PDFHistory = PDFHistory;
-
-function isDestHashesEqual(destHash, pushHash) {
- if (typeof destHash !== "string" || typeof pushHash !== "string") {
- return false;
- }
-
- if (destHash === pushHash) {
- return true;
- }
-
- const nameddest = (0, _ui_utils.parseQueryString)(destHash).get("nameddest");
-
- if (nameddest === pushHash) {
- return true;
- }
-
- return false;
-}
-
-function isDestArraysEqual(firstDest, secondDest) {
- function isEntryEqual(first, second) {
- if (typeof first !== typeof second) {
- return false;
- }
-
- if (Array.isArray(first) || Array.isArray(second)) {
- return false;
- }
-
- if (first !== null && typeof first === "object" && second !== null) {
- if (Object.keys(first).length !== Object.keys(second).length) {
- return false;
- }
-
- for (const key in first) {
- if (!isEntryEqual(first[key], second[key])) {
- return false;
- }
- }
-
- return true;
- }
-
- return first === second || Number.isNaN(first) && Number.isNaN(second);
- }
-
- if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {
- return false;
- }
-
- if (firstDest.length !== secondDest.length) {
- return false;
- }
-
- for (let i = 0, ii = firstDest.length; i < ii; i++) {
- if (!isEntryEqual(firstDest[i], secondDest[i])) {
- return false;
- }
- }
-
- return true;
-}
-
-/***/ }),
-/* 19 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFLayerViewer = void 0;
-
-var _base_tree_viewer = __webpack_require__(13);
-
-class PDFLayerViewer extends _base_tree_viewer.BaseTreeViewer {
- constructor(options) {
- super(options);
- this.l10n = options.l10n;
-
- this.eventBus._on("resetlayers", this._resetLayers.bind(this));
-
- this.eventBus._on("togglelayerstree", this._toggleAllTreeItems.bind(this));
- }
-
- reset() {
- super.reset();
- this._optionalContentConfig = null;
- }
-
- _dispatchEvent(layersCount) {
- this.eventBus.dispatch("layersloaded", {
- source: this,
- layersCount
- });
- }
-
- _bindLink(element, {
- groupId,
- input
- }) {
- const setVisibility = () => {
- this._optionalContentConfig.setVisibility(groupId, input.checked);
-
- this.eventBus.dispatch("optionalcontentconfig", {
- source: this,
- promise: Promise.resolve(this._optionalContentConfig)
- });
- };
-
- element.onclick = evt => {
- if (evt.target === input) {
- setVisibility();
- return true;
- } else if (evt.target !== element) {
- return true;
- }
-
- input.checked = !input.checked;
- setVisibility();
- return false;
- };
- }
-
- async _setNestedName(element, {
- name = null
- }) {
- if (typeof name === "string") {
- element.textContent = this._normalizeTextContent(name);
- return;
- }
-
- element.textContent = await this.l10n.get("additional_layers");
- element.style.fontStyle = "italic";
- }
-
- _addToggleButton(div, {
- name = null
- }) {
- super._addToggleButton(div, name === null);
- }
-
- _toggleAllTreeItems() {
- if (!this._optionalContentConfig) {
- return;
- }
-
- super._toggleAllTreeItems();
- }
-
- render({
- optionalContentConfig,
- pdfDocument
- }) {
- if (this._optionalContentConfig) {
- this.reset();
- }
-
- this._optionalContentConfig = optionalContentConfig || null;
- this._pdfDocument = pdfDocument || null;
- const groups = optionalContentConfig?.getOrder();
-
- if (!groups) {
- this._dispatchEvent(0);
-
- return;
- }
-
- const fragment = document.createDocumentFragment(),
- queue = [{
- parent: fragment,
- groups
- }];
- let layersCount = 0,
- hasAnyNesting = false;
-
- while (queue.length > 0) {
- const levelData = queue.shift();
-
- for (const groupId of levelData.groups) {
- const div = document.createElement("div");
- div.className = "treeItem";
- const element = document.createElement("a");
- div.append(element);
-
- if (typeof groupId === "object") {
- hasAnyNesting = true;
-
- this._addToggleButton(div, groupId);
-
- this._setNestedName(element, groupId);
-
- const itemsDiv = document.createElement("div");
- itemsDiv.className = "treeItems";
- div.append(itemsDiv);
- queue.push({
- parent: itemsDiv,
- groups: groupId.order
- });
- } else {
- const group = optionalContentConfig.getGroup(groupId);
- const input = document.createElement("input");
-
- this._bindLink(element, {
- groupId,
- input
- });
-
- input.type = "checkbox";
- input.checked = group.visible;
- const label = document.createElement("label");
- label.textContent = this._normalizeTextContent(group.name);
- label.append(input);
- element.append(label);
- layersCount++;
- }
-
- levelData.parent.append(div);
- }
- }
-
- this._finishRendering(fragment, layersCount, hasAnyNesting);
- }
-
- async _resetLayers() {
- if (!this._optionalContentConfig) {
- return;
- }
-
- const optionalContentConfig = await this._pdfDocument.getOptionalContentConfig();
- this.eventBus.dispatch("optionalcontentconfig", {
- source: this,
- promise: Promise.resolve(optionalContentConfig)
- });
- this.render({
- optionalContentConfig,
- pdfDocument: this._pdfDocument
- });
- }
-
-}
-
-exports.PDFLayerViewer = PDFLayerViewer;
-
-/***/ }),
-/* 20 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFOutlineViewer = void 0;
-
-var _base_tree_viewer = __webpack_require__(13);
-
-var _pdfjsLib = __webpack_require__(5);
-
-var _ui_utils = __webpack_require__(1);
-
-class PDFOutlineViewer extends _base_tree_viewer.BaseTreeViewer {
- constructor(options) {
- super(options);
- this.linkService = options.linkService;
-
- this.eventBus._on("toggleoutlinetree", this._toggleAllTreeItems.bind(this));
-
- this.eventBus._on("currentoutlineitem", this._currentOutlineItem.bind(this));
-
- this.eventBus._on("pagechanging", evt => {
- this._currentPageNumber = evt.pageNumber;
- });
-
- this.eventBus._on("pagesloaded", evt => {
- this._isPagesLoaded = !!evt.pagesCount;
-
- if (this._currentOutlineItemCapability && !this._currentOutlineItemCapability.settled) {
- this._currentOutlineItemCapability.resolve(this._isPagesLoaded);
- }
- });
-
- this.eventBus._on("sidebarviewchanged", evt => {
- this._sidebarView = evt.view;
- });
- }
-
- reset() {
- super.reset();
- this._outline = null;
- this._pageNumberToDestHashCapability = null;
- this._currentPageNumber = 1;
- this._isPagesLoaded = null;
-
- if (this._currentOutlineItemCapability && !this._currentOutlineItemCapability.settled) {
- this._currentOutlineItemCapability.resolve(false);
- }
-
- this._currentOutlineItemCapability = null;
- }
-
- _dispatchEvent(outlineCount) {
- this._currentOutlineItemCapability = (0, _pdfjsLib.createPromiseCapability)();
-
- if (outlineCount === 0 || this._pdfDocument?.loadingParams.disableAutoFetch) {
- this._currentOutlineItemCapability.resolve(false);
- } else if (this._isPagesLoaded !== null) {
- this._currentOutlineItemCapability.resolve(this._isPagesLoaded);
- }
-
- this.eventBus.dispatch("outlineloaded", {
- source: this,
- outlineCount,
- currentOutlineItemPromise: this._currentOutlineItemCapability.promise
- });
- }
-
- _bindLink(element, {
- url,
- newWindow,
- dest
- }) {
- const {
- linkService
- } = this;
-
- if (url) {
- linkService.addLinkAttributes(element, url, newWindow);
- return;
- }
-
- element.href = linkService.getDestinationHash(dest);
-
- element.onclick = evt => {
- this._updateCurrentTreeItem(evt.target.parentNode);
-
- if (dest) {
- linkService.goToDestination(dest);
- }
-
- return false;
- };
- }
-
- _setStyles(element, {
- bold,
- italic
- }) {
- if (bold) {
- element.style.fontWeight = "bold";
- }
-
- if (italic) {
- element.style.fontStyle = "italic";
- }
- }
-
- _addToggleButton(div, {
- count,
- items
- }) {
- let hidden = false;
-
- if (count < 0) {
- let totalCount = items.length;
-
- if (totalCount > 0) {
- const queue = [...items];
-
- while (queue.length > 0) {
- const {
- count: nestedCount,
- items: nestedItems
- } = queue.shift();
-
- if (nestedCount > 0 && nestedItems.length > 0) {
- totalCount += nestedItems.length;
- queue.push(...nestedItems);
- }
- }
- }
-
- if (Math.abs(count) === totalCount) {
- hidden = true;
- }
- }
-
- super._addToggleButton(div, hidden);
- }
-
- _toggleAllTreeItems() {
- if (!this._outline) {
- return;
- }
-
- super._toggleAllTreeItems();
- }
-
- render({
- outline,
- pdfDocument
- }) {
- if (this._outline) {
- this.reset();
- }
-
- this._outline = outline || null;
- this._pdfDocument = pdfDocument || null;
-
- if (!outline) {
- this._dispatchEvent(0);
-
- return;
- }
-
- const fragment = document.createDocumentFragment();
- const queue = [{
- parent: fragment,
- items: outline
- }];
- let outlineCount = 0,
- hasAnyNesting = false;
-
- while (queue.length > 0) {
- const levelData = queue.shift();
-
- for (const item of levelData.items) {
- const div = document.createElement("div");
- div.className = "treeItem";
- const element = document.createElement("a");
-
- this._bindLink(element, item);
-
- this._setStyles(element, item);
-
- element.textContent = this._normalizeTextContent(item.title);
- div.append(element);
-
- if (item.items.length > 0) {
- hasAnyNesting = true;
-
- this._addToggleButton(div, item);
-
- const itemsDiv = document.createElement("div");
- itemsDiv.className = "treeItems";
- div.append(itemsDiv);
- queue.push({
- parent: itemsDiv,
- items: item.items
- });
- }
-
- levelData.parent.append(div);
- outlineCount++;
- }
- }
-
- this._finishRendering(fragment, outlineCount, hasAnyNesting);
- }
-
- async _currentOutlineItem() {
- if (!this._isPagesLoaded) {
- throw new Error("_currentOutlineItem: All pages have not been loaded.");
- }
-
- if (!this._outline || !this._pdfDocument) {
- return;
- }
-
- const pageNumberToDestHash = await this._getPageNumberToDestHash(this._pdfDocument);
-
- if (!pageNumberToDestHash) {
- return;
- }
-
- this._updateCurrentTreeItem(null);
-
- if (this._sidebarView !== _ui_utils.SidebarView.OUTLINE) {
- return;
- }
-
- for (let i = this._currentPageNumber; i > 0; i--) {
- const destHash = pageNumberToDestHash.get(i);
-
- if (!destHash) {
- continue;
- }
-
- const linkElement = this.container.querySelector(`a[href="${destHash}"]`);
-
- if (!linkElement) {
- continue;
- }
-
- this._scrollToCurrentTreeItem(linkElement.parentNode);
-
- break;
- }
- }
-
- async _getPageNumberToDestHash(pdfDocument) {
- if (this._pageNumberToDestHashCapability) {
- return this._pageNumberToDestHashCapability.promise;
- }
-
- this._pageNumberToDestHashCapability = (0, _pdfjsLib.createPromiseCapability)();
- const pageNumberToDestHash = new Map(),
- pageNumberNesting = new Map();
- const queue = [{
- nesting: 0,
- items: this._outline
- }];
-
- while (queue.length > 0) {
- const levelData = queue.shift(),
- currentNesting = levelData.nesting;
-
- for (const {
- dest,
- items
- } of levelData.items) {
- let explicitDest, pageNumber;
-
- if (typeof dest === "string") {
- explicitDest = await pdfDocument.getDestination(dest);
-
- if (pdfDocument !== this._pdfDocument) {
- return null;
- }
- } else {
- explicitDest = dest;
- }
-
- if (Array.isArray(explicitDest)) {
- const [destRef] = explicitDest;
-
- if (typeof destRef === "object" && destRef !== null) {
- pageNumber = this.linkService._cachedPageNumber(destRef);
-
- if (!pageNumber) {
- try {
- pageNumber = (await pdfDocument.getPageIndex(destRef)) + 1;
-
- if (pdfDocument !== this._pdfDocument) {
- return null;
- }
-
- this.linkService.cachePageRef(pageNumber, destRef);
- } catch (ex) {}
- }
- } else if (Number.isInteger(destRef)) {
- pageNumber = destRef + 1;
- }
-
- if (Number.isInteger(pageNumber) && (!pageNumberToDestHash.has(pageNumber) || currentNesting > pageNumberNesting.get(pageNumber))) {
- const destHash = this.linkService.getDestinationHash(dest);
- pageNumberToDestHash.set(pageNumber, destHash);
- pageNumberNesting.set(pageNumber, currentNesting);
- }
- }
-
- if (items.length > 0) {
- queue.push({
- nesting: currentNesting + 1,
- items
- });
- }
- }
- }
-
- this._pageNumberToDestHashCapability.resolve(pageNumberToDestHash.size > 0 ? pageNumberToDestHash : null);
-
- return this._pageNumberToDestHashCapability.promise;
- }
-
-}
-
-exports.PDFOutlineViewer = PDFOutlineViewer;
-
-/***/ }),
-/* 21 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFPresentationMode = void 0;
-
-var _ui_utils = __webpack_require__(1);
-
-var _pdfjsLib = __webpack_require__(5);
-
-const DELAY_BEFORE_HIDING_CONTROLS = 3000;
-const ACTIVE_SELECTOR = "pdfPresentationMode";
-const CONTROLS_SELECTOR = "pdfPresentationModeControls";
-const MOUSE_SCROLL_COOLDOWN_TIME = 50;
-const PAGE_SWITCH_THRESHOLD = 0.1;
-const SWIPE_MIN_DISTANCE_THRESHOLD = 50;
-const SWIPE_ANGLE_THRESHOLD = Math.PI / 6;
-
-class PDFPresentationMode {
- #state = _ui_utils.PresentationModeState.UNKNOWN;
- #args = null;
-
- constructor({
- container,
- pdfViewer,
- eventBus
- }) {
- this.container = container;
- this.pdfViewer = pdfViewer;
- this.eventBus = eventBus;
- this.contextMenuOpen = false;
- this.mouseScrollTimeStamp = 0;
- this.mouseScrollDelta = 0;
- this.touchSwipeState = null;
- }
-
- async request() {
- const {
- container,
- pdfViewer
- } = this;
-
- if (this.active || !pdfViewer.pagesCount || !container.requestFullscreen) {
- return false;
- }
-
- this.#addFullscreenChangeListeners();
- this.#notifyStateChange(_ui_utils.PresentationModeState.CHANGING);
- const promise = container.requestFullscreen();
- this.#args = {
- pageNumber: pdfViewer.currentPageNumber,
- scaleValue: pdfViewer.currentScaleValue,
- scrollMode: pdfViewer.scrollMode,
- spreadMode: null,
- annotationEditorMode: null
- };
-
- if (pdfViewer.spreadMode !== _ui_utils.SpreadMode.NONE && !(pdfViewer.pageViewsReady && pdfViewer.hasEqualPageSizes)) {
- console.warn("Ignoring Spread modes when entering PresentationMode, " + "since the document may contain varying page sizes.");
- this.#args.spreadMode = pdfViewer.spreadMode;
- }
-
- if (pdfViewer.annotationEditorMode !== _pdfjsLib.AnnotationEditorType.DISABLE) {
- this.#args.annotationEditorMode = pdfViewer.annotationEditorMode;
- }
-
- try {
- await promise;
- pdfViewer.focus();
- return true;
- } catch (reason) {
- this.#removeFullscreenChangeListeners();
- this.#notifyStateChange(_ui_utils.PresentationModeState.NORMAL);
- }
-
- return false;
- }
-
- get active() {
- return this.#state === _ui_utils.PresentationModeState.CHANGING || this.#state === _ui_utils.PresentationModeState.FULLSCREEN;
- }
-
- #mouseWheel(evt) {
- if (!this.active) {
- return;
- }
-
- evt.preventDefault();
- const delta = (0, _ui_utils.normalizeWheelEventDelta)(evt);
- const currentTime = Date.now();
- const storedTime = this.mouseScrollTimeStamp;
-
- if (currentTime > storedTime && currentTime - storedTime < MOUSE_SCROLL_COOLDOWN_TIME) {
- return;
- }
-
- if (this.mouseScrollDelta > 0 && delta < 0 || this.mouseScrollDelta < 0 && delta > 0) {
- this.#resetMouseScrollState();
- }
-
- this.mouseScrollDelta += delta;
-
- if (Math.abs(this.mouseScrollDelta) >= PAGE_SWITCH_THRESHOLD) {
- const totalDelta = this.mouseScrollDelta;
- this.#resetMouseScrollState();
- const success = totalDelta > 0 ? this.pdfViewer.previousPage() : this.pdfViewer.nextPage();
-
- if (success) {
- this.mouseScrollTimeStamp = currentTime;
- }
- }
- }
-
- #notifyStateChange(state) {
- this.#state = state;
- this.eventBus.dispatch("presentationmodechanged", {
- source: this,
- state
- });
- }
-
- #enter() {
- this.#notifyStateChange(_ui_utils.PresentationModeState.FULLSCREEN);
- this.container.classList.add(ACTIVE_SELECTOR);
- setTimeout(() => {
- this.pdfViewer.scrollMode = _ui_utils.ScrollMode.PAGE;
-
- if (this.#args.spreadMode !== null) {
- this.pdfViewer.spreadMode = _ui_utils.SpreadMode.NONE;
- }
-
- this.pdfViewer.currentPageNumber = this.#args.pageNumber;
- this.pdfViewer.currentScaleValue = "page-fit";
-
- if (this.#args.annotationEditorMode !== null) {
- this.pdfViewer.annotationEditorMode = _pdfjsLib.AnnotationEditorType.NONE;
- }
- }, 0);
- this.#addWindowListeners();
- this.#showControls();
- this.contextMenuOpen = false;
- window.getSelection().removeAllRanges();
- }
-
- #exit() {
- const pageNumber = this.pdfViewer.currentPageNumber;
- this.container.classList.remove(ACTIVE_SELECTOR);
- setTimeout(() => {
- this.#removeFullscreenChangeListeners();
- this.#notifyStateChange(_ui_utils.PresentationModeState.NORMAL);
- this.pdfViewer.scrollMode = this.#args.scrollMode;
-
- if (this.#args.spreadMode !== null) {
- this.pdfViewer.spreadMode = this.#args.spreadMode;
- }
-
- this.pdfViewer.currentScaleValue = this.#args.scaleValue;
- this.pdfViewer.currentPageNumber = pageNumber;
-
- if (this.#args.annotationEditorMode !== null) {
- this.pdfViewer.annotationEditorMode = this.#args.annotationEditorMode;
- }
-
- this.#args = null;
- }, 0);
- this.#removeWindowListeners();
- this.#hideControls();
- this.#resetMouseScrollState();
- this.contextMenuOpen = false;
- }
-
- #mouseDown(evt) {
- if (this.contextMenuOpen) {
- this.contextMenuOpen = false;
- evt.preventDefault();
- return;
- }
-
- if (evt.button === 0) {
- const isInternalLink = evt.target.href && evt.target.classList.contains("internalLink");
-
- if (!isInternalLink) {
- evt.preventDefault();
-
- if (evt.shiftKey) {
- this.pdfViewer.previousPage();
- } else {
- this.pdfViewer.nextPage();
- }
- }
- }
- }
-
- #contextMenu() {
- this.contextMenuOpen = true;
- }
-
- #showControls() {
- if (this.controlsTimeout) {
- clearTimeout(this.controlsTimeout);
- } else {
- this.container.classList.add(CONTROLS_SELECTOR);
- }
-
- this.controlsTimeout = setTimeout(() => {
- this.container.classList.remove(CONTROLS_SELECTOR);
- delete this.controlsTimeout;
- }, DELAY_BEFORE_HIDING_CONTROLS);
- }
-
- #hideControls() {
- if (!this.controlsTimeout) {
- return;
- }
-
- clearTimeout(this.controlsTimeout);
- this.container.classList.remove(CONTROLS_SELECTOR);
- delete this.controlsTimeout;
- }
-
- #resetMouseScrollState() {
- this.mouseScrollTimeStamp = 0;
- this.mouseScrollDelta = 0;
- }
-
- #touchSwipe(evt) {
- if (!this.active) {
- return;
- }
-
- if (evt.touches.length > 1) {
- this.touchSwipeState = null;
- return;
- }
-
- switch (evt.type) {
- case "touchstart":
- this.touchSwipeState = {
- startX: evt.touches[0].pageX,
- startY: evt.touches[0].pageY,
- endX: evt.touches[0].pageX,
- endY: evt.touches[0].pageY
- };
- break;
-
- case "touchmove":
- if (this.touchSwipeState === null) {
- return;
- }
-
- this.touchSwipeState.endX = evt.touches[0].pageX;
- this.touchSwipeState.endY = evt.touches[0].pageY;
- evt.preventDefault();
- break;
-
- case "touchend":
- if (this.touchSwipeState === null) {
- return;
- }
-
- let delta = 0;
- const dx = this.touchSwipeState.endX - this.touchSwipeState.startX;
- const dy = this.touchSwipeState.endY - this.touchSwipeState.startY;
- const absAngle = Math.abs(Math.atan2(dy, dx));
-
- if (Math.abs(dx) > SWIPE_MIN_DISTANCE_THRESHOLD && (absAngle <= SWIPE_ANGLE_THRESHOLD || absAngle >= Math.PI - SWIPE_ANGLE_THRESHOLD)) {
- delta = dx;
- } else if (Math.abs(dy) > SWIPE_MIN_DISTANCE_THRESHOLD && Math.abs(absAngle - Math.PI / 2) <= SWIPE_ANGLE_THRESHOLD) {
- delta = dy;
- }
-
- if (delta > 0) {
- this.pdfViewer.previousPage();
- } else if (delta < 0) {
- this.pdfViewer.nextPage();
- }
-
- break;
- }
- }
-
- #addWindowListeners() {
- this.showControlsBind = this.#showControls.bind(this);
- this.mouseDownBind = this.#mouseDown.bind(this);
- this.mouseWheelBind = this.#mouseWheel.bind(this);
- this.resetMouseScrollStateBind = this.#resetMouseScrollState.bind(this);
- this.contextMenuBind = this.#contextMenu.bind(this);
- this.touchSwipeBind = this.#touchSwipe.bind(this);
- window.addEventListener("mousemove", this.showControlsBind);
- window.addEventListener("mousedown", this.mouseDownBind);
- window.addEventListener("wheel", this.mouseWheelBind, {
- passive: false
- });
- window.addEventListener("keydown", this.resetMouseScrollStateBind);
- window.addEventListener("contextmenu", this.contextMenuBind);
- window.addEventListener("touchstart", this.touchSwipeBind);
- window.addEventListener("touchmove", this.touchSwipeBind);
- window.addEventListener("touchend", this.touchSwipeBind);
- }
-
- #removeWindowListeners() {
- window.removeEventListener("mousemove", this.showControlsBind);
- window.removeEventListener("mousedown", this.mouseDownBind);
- window.removeEventListener("wheel", this.mouseWheelBind, {
- passive: false
- });
- window.removeEventListener("keydown", this.resetMouseScrollStateBind);
- window.removeEventListener("contextmenu", this.contextMenuBind);
- window.removeEventListener("touchstart", this.touchSwipeBind);
- window.removeEventListener("touchmove", this.touchSwipeBind);
- window.removeEventListener("touchend", this.touchSwipeBind);
- delete this.showControlsBind;
- delete this.mouseDownBind;
- delete this.mouseWheelBind;
- delete this.resetMouseScrollStateBind;
- delete this.contextMenuBind;
- delete this.touchSwipeBind;
- }
-
- #fullscreenChange() {
- if (document.fullscreenElement) {
- this.#enter();
- } else {
- this.#exit();
- }
- }
-
- #addFullscreenChangeListeners() {
- this.fullscreenChangeBind = this.#fullscreenChange.bind(this);
- window.addEventListener("fullscreenchange", this.fullscreenChangeBind);
- }
-
- #removeFullscreenChangeListeners() {
- window.removeEventListener("fullscreenchange", this.fullscreenChangeBind);
- delete this.fullscreenChangeBind;
- }
-
-}
-
-exports.PDFPresentationMode = PDFPresentationMode;
-
-/***/ }),
-/* 22 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFRenderingQueue = void 0;
-
-var _pdfjsLib = __webpack_require__(5);
-
-var _ui_utils = __webpack_require__(1);
-
-const CLEANUP_TIMEOUT = 30000;
-
-class PDFRenderingQueue {
- constructor() {
- this.pdfViewer = null;
- this.pdfThumbnailViewer = null;
- this.onIdle = null;
- this.highestPriorityPage = null;
- this.idleTimeout = null;
- this.printing = false;
- this.isThumbnailViewEnabled = false;
- }
-
- setViewer(pdfViewer) {
- this.pdfViewer = pdfViewer;
- }
-
- setThumbnailViewer(pdfThumbnailViewer) {
- this.pdfThumbnailViewer = pdfThumbnailViewer;
- }
-
- isHighestPriority(view) {
- return this.highestPriorityPage === view.renderingId;
- }
-
- hasViewer() {
- return !!this.pdfViewer;
- }
-
- renderHighestPriority(currentlyVisiblePages) {
- if (this.idleTimeout) {
- clearTimeout(this.idleTimeout);
- this.idleTimeout = null;
- }
-
- if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {
- return;
- }
-
- if (this.isThumbnailViewEnabled && this.pdfThumbnailViewer?.forceRendering()) {
- return;
- }
-
- if (this.printing) {
- return;
- }
-
- if (this.onIdle) {
- this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);
- }
- }
-
- getHighestPriority(visible, views, scrolledDown, preRenderExtra = false) {
- const visibleViews = visible.views,
- numVisible = visibleViews.length;
-
- if (numVisible === 0) {
- return null;
- }
-
- for (let i = 0; i < numVisible; i++) {
- const view = visibleViews[i].view;
-
- if (!this.isViewFinished(view)) {
- return view;
- }
- }
-
- const firstId = visible.first.id,
- lastId = visible.last.id;
-
- if (lastId - firstId + 1 > numVisible) {
- const visibleIds = visible.ids;
-
- for (let i = 1, ii = lastId - firstId; i < ii; i++) {
- const holeId = scrolledDown ? firstId + i : lastId - i;
-
- if (visibleIds.has(holeId)) {
- continue;
- }
-
- const holeView = views[holeId - 1];
-
- if (!this.isViewFinished(holeView)) {
- return holeView;
- }
- }
- }
-
- let preRenderIndex = scrolledDown ? lastId : firstId - 2;
- let preRenderView = views[preRenderIndex];
-
- if (preRenderView && !this.isViewFinished(preRenderView)) {
- return preRenderView;
- }
-
- if (preRenderExtra) {
- preRenderIndex += scrolledDown ? 1 : -1;
- preRenderView = views[preRenderIndex];
-
- if (preRenderView && !this.isViewFinished(preRenderView)) {
- return preRenderView;
- }
- }
-
- return null;
- }
-
- isViewFinished(view) {
- return view.renderingState === _ui_utils.RenderingStates.FINISHED;
- }
-
- renderView(view) {
- switch (view.renderingState) {
- case _ui_utils.RenderingStates.FINISHED:
- return false;
-
- case _ui_utils.RenderingStates.PAUSED:
- this.highestPriorityPage = view.renderingId;
- view.resume();
- break;
-
- case _ui_utils.RenderingStates.RUNNING:
- this.highestPriorityPage = view.renderingId;
- break;
-
- case _ui_utils.RenderingStates.INITIAL:
- this.highestPriorityPage = view.renderingId;
- view.draw().finally(() => {
- this.renderHighestPriority();
- }).catch(reason => {
- if (reason instanceof _pdfjsLib.RenderingCancelledException) {
- return;
- }
-
- console.error(`renderView: "${reason}"`);
- });
- break;
- }
-
- return true;
- }
-
-}
-
-exports.PDFRenderingQueue = PDFRenderingQueue;
-
-/***/ }),
-/* 23 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFScriptingManager = void 0;
-
-var _ui_utils = __webpack_require__(1);
-
-var _pdfjsLib = __webpack_require__(5);
-
-class PDFScriptingManager {
- constructor({
- eventBus,
- sandboxBundleSrc = null,
- scriptingFactory = null,
- docPropertiesLookup = null
- }) {
- this._pdfDocument = null;
- this._pdfViewer = null;
- this._closeCapability = null;
- this._destroyCapability = null;
- this._scripting = null;
- this._mouseState = Object.create(null);
- this._ready = false;
- this._eventBus = eventBus;
- this._sandboxBundleSrc = sandboxBundleSrc;
- this._scriptingFactory = scriptingFactory;
- this._docPropertiesLookup = docPropertiesLookup;
- }
-
- setViewer(pdfViewer) {
- this._pdfViewer = pdfViewer;
- }
-
- async setDocument(pdfDocument) {
- if (this._pdfDocument) {
- await this._destroyScripting();
- }
-
- this._pdfDocument = pdfDocument;
-
- if (!pdfDocument) {
- return;
- }
-
- const [objects, calculationOrder, docActions] = await Promise.all([pdfDocument.getFieldObjects(), pdfDocument.getCalculationOrderIds(), pdfDocument.getJSActions()]);
-
- if (!objects && !docActions) {
- await this._destroyScripting();
- return;
- }
-
- if (pdfDocument !== this._pdfDocument) {
- return;
- }
-
- try {
- this._scripting = this._createScripting();
- } catch (error) {
- console.error(`PDFScriptingManager.setDocument: "${error?.message}".`);
- await this._destroyScripting();
- return;
- }
-
- this._internalEvents.set("updatefromsandbox", event => {
- if (event?.source !== window) {
- return;
- }
-
- this._updateFromSandbox(event.detail);
- });
-
- this._internalEvents.set("dispatcheventinsandbox", event => {
- this._scripting?.dispatchEventInSandbox(event.detail);
- });
-
- this._internalEvents.set("pagechanging", ({
- pageNumber,
- previous
- }) => {
- if (pageNumber === previous) {
- return;
- }
-
- this._dispatchPageClose(previous);
-
- this._dispatchPageOpen(pageNumber);
- });
-
- this._internalEvents.set("pagerendered", ({
- pageNumber
- }) => {
- if (!this._pageOpenPending.has(pageNumber)) {
- return;
- }
-
- if (pageNumber !== this._pdfViewer.currentPageNumber) {
- return;
- }
-
- this._dispatchPageOpen(pageNumber);
- });
-
- this._internalEvents.set("pagesdestroy", async event => {
- await this._dispatchPageClose(this._pdfViewer.currentPageNumber);
- await this._scripting?.dispatchEventInSandbox({
- id: "doc",
- name: "WillClose"
- });
- this._closeCapability?.resolve();
- });
-
- this._domEvents.set("mousedown", event => {
- this._mouseState.isDown = true;
- });
-
- this._domEvents.set("mouseup", event => {
- this._mouseState.isDown = false;
- });
-
- for (const [name, listener] of this._internalEvents) {
- this._eventBus._on(name, listener);
- }
-
- for (const [name, listener] of this._domEvents) {
- window.addEventListener(name, listener, true);
- }
-
- try {
- const docProperties = await this._getDocProperties();
-
- if (pdfDocument !== this._pdfDocument) {
- return;
- }
-
- await this._scripting.createSandbox({
- objects,
- calculationOrder,
- appInfo: {
- platform: navigator.platform,
- language: navigator.language
- },
- docInfo: { ...docProperties,
- actions: docActions
- }
- });
-
- this._eventBus.dispatch("sandboxcreated", {
- source: this
- });
- } catch (error) {
- console.error(`PDFScriptingManager.setDocument: "${error?.message}".`);
- await this._destroyScripting();
- return;
- }
-
- await this._scripting?.dispatchEventInSandbox({
- id: "doc",
- name: "Open"
- });
- await this._dispatchPageOpen(this._pdfViewer.currentPageNumber, true);
- Promise.resolve().then(() => {
- if (pdfDocument === this._pdfDocument) {
- this._ready = true;
- }
- });
- }
-
- async dispatchWillSave(detail) {
- return this._scripting?.dispatchEventInSandbox({
- id: "doc",
- name: "WillSave"
- });
- }
-
- async dispatchDidSave(detail) {
- return this._scripting?.dispatchEventInSandbox({
- id: "doc",
- name: "DidSave"
- });
- }
-
- async dispatchWillPrint(detail) {
- return this._scripting?.dispatchEventInSandbox({
- id: "doc",
- name: "WillPrint"
- });
- }
-
- async dispatchDidPrint(detail) {
- return this._scripting?.dispatchEventInSandbox({
- id: "doc",
- name: "DidPrint"
- });
- }
-
- get mouseState() {
- return this._mouseState;
- }
-
- get destroyPromise() {
- return this._destroyCapability?.promise || null;
- }
-
- get ready() {
- return this._ready;
- }
-
- get _internalEvents() {
- return (0, _pdfjsLib.shadow)(this, "_internalEvents", new Map());
- }
-
- get _domEvents() {
- return (0, _pdfjsLib.shadow)(this, "_domEvents", new Map());
- }
-
- get _pageOpenPending() {
- return (0, _pdfjsLib.shadow)(this, "_pageOpenPending", new Set());
- }
-
- get _visitedPages() {
- return (0, _pdfjsLib.shadow)(this, "_visitedPages", new Map());
- }
-
- async _updateFromSandbox(detail) {
- const isInPresentationMode = this._pdfViewer.isInPresentationMode || this._pdfViewer.isChangingPresentationMode;
- const {
- id,
- siblings,
- command,
- value
- } = detail;
-
- if (!id) {
- switch (command) {
- case "clear":
- console.clear();
- break;
-
- case "error":
- console.error(value);
- break;
-
- case "layout":
- if (isInPresentationMode) {
- return;
- }
-
- const modes = (0, _ui_utils.apiPageLayoutToViewerModes)(value);
- this._pdfViewer.spreadMode = modes.spreadMode;
- break;
-
- case "page-num":
- this._pdfViewer.currentPageNumber = value + 1;
- break;
-
- case "print":
- await this._pdfViewer.pagesPromise;
-
- this._eventBus.dispatch("print", {
- source: this
- });
-
- break;
-
- case "println":
- console.log(value);
- break;
-
- case "zoom":
- if (isInPresentationMode) {
- return;
- }
-
- this._pdfViewer.currentScaleValue = value;
- break;
-
- case "SaveAs":
- this._eventBus.dispatch("download", {
- source: this
- });
-
- break;
-
- case "FirstPage":
- this._pdfViewer.currentPageNumber = 1;
- break;
-
- case "LastPage":
- this._pdfViewer.currentPageNumber = this._pdfViewer.pagesCount;
- break;
-
- case "NextPage":
- this._pdfViewer.nextPage();
-
- break;
-
- case "PrevPage":
- this._pdfViewer.previousPage();
-
- break;
-
- case "ZoomViewIn":
- if (isInPresentationMode) {
- return;
- }
-
- this._pdfViewer.increaseScale();
-
- break;
-
- case "ZoomViewOut":
- if (isInPresentationMode) {
- return;
- }
-
- this._pdfViewer.decreaseScale();
-
- break;
- }
-
- return;
- }
-
- if (isInPresentationMode) {
- if (detail.focus) {
- return;
- }
- }
-
- delete detail.id;
- delete detail.siblings;
- const ids = siblings ? [id, ...siblings] : [id];
-
- for (const elementId of ids) {
- const element = document.querySelector(`[data-element-id="${elementId}"]`);
-
- if (element) {
- element.dispatchEvent(new CustomEvent("updatefromsandbox", {
- detail
- }));
- } else {
- this._pdfDocument?.annotationStorage.setValue(elementId, detail);
- }
- }
- }
-
- async _dispatchPageOpen(pageNumber, initialize = false) {
- const pdfDocument = this._pdfDocument,
- visitedPages = this._visitedPages;
-
- if (initialize) {
- this._closeCapability = (0, _pdfjsLib.createPromiseCapability)();
- }
-
- if (!this._closeCapability) {
- return;
- }
-
- const pageView = this._pdfViewer.getPageView(pageNumber - 1);
-
- if (pageView?.renderingState !== _ui_utils.RenderingStates.FINISHED) {
- this._pageOpenPending.add(pageNumber);
-
- return;
- }
-
- this._pageOpenPending.delete(pageNumber);
-
- const actionsPromise = (async () => {
- const actions = await (!visitedPages.has(pageNumber) ? pageView.pdfPage?.getJSActions() : null);
-
- if (pdfDocument !== this._pdfDocument) {
- return;
- }
-
- await this._scripting?.dispatchEventInSandbox({
- id: "page",
- name: "PageOpen",
- pageNumber,
- actions
- });
- })();
-
- visitedPages.set(pageNumber, actionsPromise);
- }
-
- async _dispatchPageClose(pageNumber) {
- const pdfDocument = this._pdfDocument,
- visitedPages = this._visitedPages;
-
- if (!this._closeCapability) {
- return;
- }
-
- if (this._pageOpenPending.has(pageNumber)) {
- return;
- }
-
- const actionsPromise = visitedPages.get(pageNumber);
-
- if (!actionsPromise) {
- return;
- }
-
- visitedPages.set(pageNumber, null);
- await actionsPromise;
-
- if (pdfDocument !== this._pdfDocument) {
- return;
- }
-
- await this._scripting?.dispatchEventInSandbox({
- id: "page",
- name: "PageClose",
- pageNumber
- });
- }
-
- async _getDocProperties() {
- if (this._docPropertiesLookup) {
- return this._docPropertiesLookup(this._pdfDocument);
- }
-
- throw new Error("_getDocProperties: Unable to lookup properties.");
- }
-
- _createScripting() {
- this._destroyCapability = (0, _pdfjsLib.createPromiseCapability)();
-
- if (this._scripting) {
- throw new Error("_createScripting: Scripting already exists.");
- }
-
- if (this._scriptingFactory) {
- return this._scriptingFactory.createScripting({
- sandboxBundleSrc: this._sandboxBundleSrc
- });
- }
-
- throw new Error("_createScripting: Cannot create scripting.");
- }
-
- async _destroyScripting() {
- if (!this._scripting) {
- this._pdfDocument = null;
- this._destroyCapability?.resolve();
- return;
- }
-
- if (this._closeCapability) {
- await Promise.race([this._closeCapability.promise, new Promise(resolve => {
- setTimeout(resolve, 1000);
- })]).catch(reason => {});
- this._closeCapability = null;
- }
-
- this._pdfDocument = null;
-
- try {
- await this._scripting.destroySandbox();
- } catch (ex) {}
-
- for (const [name, listener] of this._internalEvents) {
- this._eventBus._off(name, listener);
- }
-
- this._internalEvents.clear();
-
- for (const [name, listener] of this._domEvents) {
- window.removeEventListener(name, listener, true);
- }
-
- this._domEvents.clear();
-
- this._pageOpenPending.clear();
-
- this._visitedPages.clear();
-
- this._scripting = null;
- delete this._mouseState.isDown;
- this._ready = false;
- this._destroyCapability?.resolve();
- }
-
-}
-
-exports.PDFScriptingManager = PDFScriptingManager;
-
-/***/ }),
-/* 24 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFSidebar = void 0;
-
-var _ui_utils = __webpack_require__(1);
-
-const UI_NOTIFICATION_CLASS = "pdfSidebarNotification";
-
-class PDFSidebar {
- constructor({
- elements,
- pdfViewer,
- pdfThumbnailViewer,
- eventBus,
- l10n
- }) {
- this.isOpen = false;
- this.active = _ui_utils.SidebarView.THUMBS;
- this.isInitialViewSet = false;
- this.isInitialEventDispatched = false;
- this.onToggled = null;
- this.pdfViewer = pdfViewer;
- this.pdfThumbnailViewer = pdfThumbnailViewer;
- this.outerContainer = elements.outerContainer;
- this.sidebarContainer = elements.sidebarContainer;
- this.toggleButton = elements.toggleButton;
- this.thumbnailButton = elements.thumbnailButton;
- this.outlineButton = elements.outlineButton;
- this.attachmentsButton = elements.attachmentsButton;
- this.layersButton = elements.layersButton;
- this.thumbnailView = elements.thumbnailView;
- this.outlineView = elements.outlineView;
- this.attachmentsView = elements.attachmentsView;
- this.layersView = elements.layersView;
- this._outlineOptionsContainer = elements.outlineOptionsContainer;
- this._currentOutlineItemButton = elements.currentOutlineItemButton;
- this.eventBus = eventBus;
- this.l10n = l10n;
- this.#addEventListeners();
- }
-
- reset() {
- this.isInitialViewSet = false;
- this.isInitialEventDispatched = false;
- this.#hideUINotification(true);
- this.switchView(_ui_utils.SidebarView.THUMBS);
- this.outlineButton.disabled = false;
- this.attachmentsButton.disabled = false;
- this.layersButton.disabled = false;
- this._currentOutlineItemButton.disabled = true;
- }
-
- get visibleView() {
- return this.isOpen ? this.active : _ui_utils.SidebarView.NONE;
- }
-
- setInitialView(view = _ui_utils.SidebarView.NONE) {
- if (this.isInitialViewSet) {
- return;
- }
-
- this.isInitialViewSet = true;
-
- if (view === _ui_utils.SidebarView.NONE || view === _ui_utils.SidebarView.UNKNOWN) {
- this.#dispatchEvent();
- return;
- }
-
- this.switchView(view, true);
-
- if (!this.isInitialEventDispatched) {
- this.#dispatchEvent();
- }
- }
-
- switchView(view, forceOpen = false) {
- const isViewChanged = view !== this.active;
- let shouldForceRendering = false;
-
- switch (view) {
- case _ui_utils.SidebarView.NONE:
- if (this.isOpen) {
- this.close();
- }
-
- return;
-
- case _ui_utils.SidebarView.THUMBS:
- if (this.isOpen && isViewChanged) {
- shouldForceRendering = true;
- }
-
- break;
-
- case _ui_utils.SidebarView.OUTLINE:
- if (this.outlineButton.disabled) {
- return;
- }
-
- break;
-
- case _ui_utils.SidebarView.ATTACHMENTS:
- if (this.attachmentsButton.disabled) {
- return;
- }
-
- break;
-
- case _ui_utils.SidebarView.LAYERS:
- if (this.layersButton.disabled) {
- return;
- }
-
- break;
-
- default:
- console.error(`PDFSidebar.switchView: "${view}" is not a valid view.`);
- return;
- }
-
- this.active = view;
- const isThumbs = view === _ui_utils.SidebarView.THUMBS,
- isOutline = view === _ui_utils.SidebarView.OUTLINE,
- isAttachments = view === _ui_utils.SidebarView.ATTACHMENTS,
- isLayers = view === _ui_utils.SidebarView.LAYERS;
- this.thumbnailButton.classList.toggle("toggled", isThumbs);
- this.outlineButton.classList.toggle("toggled", isOutline);
- this.attachmentsButton.classList.toggle("toggled", isAttachments);
- this.layersButton.classList.toggle("toggled", isLayers);
- this.thumbnailButton.setAttribute("aria-checked", isThumbs);
- this.outlineButton.setAttribute("aria-checked", isOutline);
- this.attachmentsButton.setAttribute("aria-checked", isAttachments);
- this.layersButton.setAttribute("aria-checked", isLayers);
- this.thumbnailView.classList.toggle("hidden", !isThumbs);
- this.outlineView.classList.toggle("hidden", !isOutline);
- this.attachmentsView.classList.toggle("hidden", !isAttachments);
- this.layersView.classList.toggle("hidden", !isLayers);
-
- this._outlineOptionsContainer.classList.toggle("hidden", !isOutline);
-
- if (forceOpen && !this.isOpen) {
- this.open();
- return;
- }
-
- if (shouldForceRendering) {
- this.#updateThumbnailViewer();
- this.#forceRendering();
- }
-
- if (isViewChanged) {
- this.#dispatchEvent();
- }
- }
-
- open() {
- if (this.isOpen) {
- return;
- }
-
- this.isOpen = true;
- this.toggleButton.classList.add("toggled");
- this.toggleButton.setAttribute("aria-expanded", "true");
- this.outerContainer.classList.add("sidebarMoving", "sidebarOpen");
-
- if (this.active === _ui_utils.SidebarView.THUMBS) {
- this.#updateThumbnailViewer();
- }
-
- this.#forceRendering();
- this.#dispatchEvent();
- this.#hideUINotification();
- }
-
- close() {
- if (!this.isOpen) {
- return;
- }
-
- this.isOpen = false;
- this.toggleButton.classList.remove("toggled");
- this.toggleButton.setAttribute("aria-expanded", "false");
- this.outerContainer.classList.add("sidebarMoving");
- this.outerContainer.classList.remove("sidebarOpen");
- this.#forceRendering();
- this.#dispatchEvent();
- }
-
- toggle() {
- if (this.isOpen) {
- this.close();
- } else {
- this.open();
- }
- }
-
- #dispatchEvent() {
- if (this.isInitialViewSet && !this.isInitialEventDispatched) {
- this.isInitialEventDispatched = true;
- }
-
- this.eventBus.dispatch("sidebarviewchanged", {
- source: this,
- view: this.visibleView
- });
- }
-
- #forceRendering() {
- if (this.onToggled) {
- this.onToggled();
- } else {
- this.pdfViewer.forceRendering();
- this.pdfThumbnailViewer.forceRendering();
- }
- }
-
- #updateThumbnailViewer() {
- const {
- pdfViewer,
- pdfThumbnailViewer
- } = this;
- const pagesCount = pdfViewer.pagesCount;
-
- for (let pageIndex = 0; pageIndex < pagesCount; pageIndex++) {
- const pageView = pdfViewer.getPageView(pageIndex);
-
- if (pageView?.renderingState === _ui_utils.RenderingStates.FINISHED) {
- const thumbnailView = pdfThumbnailViewer.getThumbnail(pageIndex);
- thumbnailView.setImage(pageView);
- }
- }
-
- pdfThumbnailViewer.scrollThumbnailIntoView(pdfViewer.currentPageNumber);
- }
-
- #showUINotification() {
- this.l10n.get("toggle_sidebar_notification2.title").then(msg => {
- this.toggleButton.title = msg;
- });
-
- if (!this.isOpen) {
- this.toggleButton.classList.add(UI_NOTIFICATION_CLASS);
- }
- }
-
- #hideUINotification(reset = false) {
- if (this.isOpen || reset) {
- this.toggleButton.classList.remove(UI_NOTIFICATION_CLASS);
- }
-
- if (reset) {
- this.l10n.get("toggle_sidebar.title").then(msg => {
- this.toggleButton.title = msg;
- });
- }
- }
-
- #addEventListeners() {
- this.sidebarContainer.addEventListener("transitionend", evt => {
- if (evt.target === this.sidebarContainer) {
- this.outerContainer.classList.remove("sidebarMoving");
- }
- });
- this.toggleButton.addEventListener("click", () => {
- this.toggle();
- });
- this.thumbnailButton.addEventListener("click", () => {
- this.switchView(_ui_utils.SidebarView.THUMBS);
- });
- this.outlineButton.addEventListener("click", () => {
- this.switchView(_ui_utils.SidebarView.OUTLINE);
- });
- this.outlineButton.addEventListener("dblclick", () => {
- this.eventBus.dispatch("toggleoutlinetree", {
- source: this
- });
- });
- this.attachmentsButton.addEventListener("click", () => {
- this.switchView(_ui_utils.SidebarView.ATTACHMENTS);
- });
- this.layersButton.addEventListener("click", () => {
- this.switchView(_ui_utils.SidebarView.LAYERS);
- });
- this.layersButton.addEventListener("dblclick", () => {
- this.eventBus.dispatch("resetlayers", {
- source: this
- });
- });
-
- this._currentOutlineItemButton.addEventListener("click", () => {
- this.eventBus.dispatch("currentoutlineitem", {
- source: this
- });
- });
-
- const onTreeLoaded = (count, button, view) => {
- button.disabled = !count;
-
- if (count) {
- this.#showUINotification();
- } else if (this.active === view) {
- this.switchView(_ui_utils.SidebarView.THUMBS);
- }
- };
-
- this.eventBus._on("outlineloaded", evt => {
- onTreeLoaded(evt.outlineCount, this.outlineButton, _ui_utils.SidebarView.OUTLINE);
- evt.currentOutlineItemPromise.then(enabled => {
- if (!this.isInitialViewSet) {
- return;
- }
-
- this._currentOutlineItemButton.disabled = !enabled;
- });
- });
-
- this.eventBus._on("attachmentsloaded", evt => {
- onTreeLoaded(evt.attachmentsCount, this.attachmentsButton, _ui_utils.SidebarView.ATTACHMENTS);
- });
-
- this.eventBus._on("layersloaded", evt => {
- onTreeLoaded(evt.layersCount, this.layersButton, _ui_utils.SidebarView.LAYERS);
- });
-
- this.eventBus._on("presentationmodechanged", evt => {
- if (evt.state === _ui_utils.PresentationModeState.NORMAL && this.visibleView === _ui_utils.SidebarView.THUMBS) {
- this.#updateThumbnailViewer();
- }
- });
- }
-
-}
-
-exports.PDFSidebar = PDFSidebar;
-
-/***/ }),
-/* 25 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFSidebarResizer = void 0;
-
-var _ui_utils = __webpack_require__(1);
-
-const SIDEBAR_WIDTH_VAR = "--sidebar-width";
-const SIDEBAR_MIN_WIDTH = 200;
-const SIDEBAR_RESIZING_CLASS = "sidebarResizing";
-
-class PDFSidebarResizer {
- constructor(options, eventBus, l10n) {
- this.isRTL = false;
- this.sidebarOpen = false;
- this._width = null;
- this._outerContainerWidth = null;
- this._boundEvents = Object.create(null);
- this.outerContainer = options.outerContainer;
- this.resizer = options.resizer;
- this.eventBus = eventBus;
- l10n.getDirection().then(dir => {
- this.isRTL = dir === "rtl";
- });
-
- this._addEventListeners();
- }
-
- get outerContainerWidth() {
- return this._outerContainerWidth ||= this.outerContainer.clientWidth;
- }
-
- _updateWidth(width = 0) {
- const maxWidth = Math.floor(this.outerContainerWidth / 2);
-
- if (width > maxWidth) {
- width = maxWidth;
- }
-
- if (width < SIDEBAR_MIN_WIDTH) {
- width = SIDEBAR_MIN_WIDTH;
- }
-
- if (width === this._width) {
- return false;
- }
-
- this._width = width;
-
- _ui_utils.docStyle.setProperty(SIDEBAR_WIDTH_VAR, `${width}px`);
-
- return true;
- }
-
- _mouseMove(evt) {
- let width = evt.clientX;
-
- if (this.isRTL) {
- width = this.outerContainerWidth - width;
- }
-
- this._updateWidth(width);
- }
-
- _mouseUp(evt) {
- this.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS);
- this.eventBus.dispatch("resize", {
- source: this
- });
- const _boundEvents = this._boundEvents;
- window.removeEventListener("mousemove", _boundEvents.mouseMove);
- window.removeEventListener("mouseup", _boundEvents.mouseUp);
- }
-
- _addEventListeners() {
- const _boundEvents = this._boundEvents;
- _boundEvents.mouseMove = this._mouseMove.bind(this);
- _boundEvents.mouseUp = this._mouseUp.bind(this);
- this.resizer.addEventListener("mousedown", evt => {
- if (evt.button !== 0) {
- return;
- }
-
- this.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS);
- window.addEventListener("mousemove", _boundEvents.mouseMove);
- window.addEventListener("mouseup", _boundEvents.mouseUp);
- });
-
- this.eventBus._on("sidebarviewchanged", evt => {
- this.sidebarOpen = !!evt?.view;
- });
-
- this.eventBus._on("resize", evt => {
- if (evt?.source !== window) {
- return;
- }
-
- this._outerContainerWidth = null;
-
- if (!this._width) {
- return;
- }
-
- if (!this.sidebarOpen) {
- this._updateWidth(this._width);
-
- return;
- }
-
- this.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS);
-
- const updated = this._updateWidth(this._width);
-
- Promise.resolve().then(() => {
- this.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS);
-
- if (updated) {
- this.eventBus.dispatch("resize", {
- source: this
- });
- }
- });
- });
- }
-
-}
-
-exports.PDFSidebarResizer = PDFSidebarResizer;
-
-/***/ }),
-/* 26 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFThumbnailViewer = void 0;
-
-var _ui_utils = __webpack_require__(1);
-
-var _pdf_thumbnail_view = __webpack_require__(27);
-
-const THUMBNAIL_SCROLL_MARGIN = -19;
-const THUMBNAIL_SELECTED_CLASS = "selected";
-
-class PDFThumbnailViewer {
- constructor({
- container,
- eventBus,
- linkService,
- renderingQueue,
- l10n,
- pageColors
- }) {
- this.container = container;
- this.linkService = linkService;
- this.renderingQueue = renderingQueue;
- this.l10n = l10n;
- this.pageColors = pageColors || null;
-
- if (this.pageColors && !(CSS.supports("color", this.pageColors.background) && CSS.supports("color", this.pageColors.foreground))) {
- if (this.pageColors.background || this.pageColors.foreground) {
- console.warn("PDFThumbnailViewer: Ignoring `pageColors`-option, since the browser doesn't support the values used.");
- }
-
- this.pageColors = null;
- }
-
- this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdated.bind(this));
-
- this._resetView();
- }
-
- _scrollUpdated() {
- this.renderingQueue.renderHighestPriority();
- }
-
- getThumbnail(index) {
- return this._thumbnails[index];
- }
-
- _getVisibleThumbs() {
- return (0, _ui_utils.getVisibleElements)({
- scrollEl: this.container,
- views: this._thumbnails
- });
- }
-
- scrollThumbnailIntoView(pageNumber) {
- if (!this.pdfDocument) {
- return;
- }
-
- const thumbnailView = this._thumbnails[pageNumber - 1];
-
- if (!thumbnailView) {
- console.error('scrollThumbnailIntoView: Invalid "pageNumber" parameter.');
- return;
- }
-
- if (pageNumber !== this._currentPageNumber) {
- const prevThumbnailView = this._thumbnails[this._currentPageNumber - 1];
- prevThumbnailView.div.classList.remove(THUMBNAIL_SELECTED_CLASS);
- thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
- }
-
- const {
- first,
- last,
- views
- } = this._getVisibleThumbs();
-
- if (views.length > 0) {
- let shouldScroll = false;
-
- if (pageNumber <= first.id || pageNumber >= last.id) {
- shouldScroll = true;
- } else {
- for (const {
- id,
- percent
- } of views) {
- if (id !== pageNumber) {
- continue;
- }
-
- shouldScroll = percent < 100;
- break;
- }
- }
-
- if (shouldScroll) {
- (0, _ui_utils.scrollIntoView)(thumbnailView.div, {
- top: THUMBNAIL_SCROLL_MARGIN
- });
- }
- }
-
- this._currentPageNumber = pageNumber;
- }
-
- get pagesRotation() {
- return this._pagesRotation;
- }
-
- set pagesRotation(rotation) {
- if (!(0, _ui_utils.isValidRotation)(rotation)) {
- throw new Error("Invalid thumbnails rotation angle.");
- }
-
- if (!this.pdfDocument) {
- return;
- }
-
- if (this._pagesRotation === rotation) {
- return;
- }
-
- this._pagesRotation = rotation;
- const updateArgs = {
- rotation
- };
-
- for (const thumbnail of this._thumbnails) {
- thumbnail.update(updateArgs);
- }
- }
-
- cleanup() {
- for (const thumbnail of this._thumbnails) {
- if (thumbnail.renderingState !== _ui_utils.RenderingStates.FINISHED) {
- thumbnail.reset();
- }
- }
-
- _pdf_thumbnail_view.TempImageFactory.destroyCanvas();
- }
-
- _resetView() {
- this._thumbnails = [];
- this._currentPageNumber = 1;
- this._pageLabels = null;
- this._pagesRotation = 0;
- this.container.textContent = "";
- }
-
- setDocument(pdfDocument) {
- if (this.pdfDocument) {
- this._cancelRendering();
-
- this._resetView();
- }
-
- this.pdfDocument = pdfDocument;
-
- if (!pdfDocument) {
- return;
- }
-
- const firstPagePromise = pdfDocument.getPage(1);
- const optionalContentConfigPromise = pdfDocument.getOptionalContentConfig();
- firstPagePromise.then(firstPdfPage => {
- const pagesCount = pdfDocument.numPages;
- const viewport = firstPdfPage.getViewport({
- scale: 1
- });
-
- for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) {
- const thumbnail = new _pdf_thumbnail_view.PDFThumbnailView({
- container: this.container,
- id: pageNum,
- defaultViewport: viewport.clone(),
- optionalContentConfigPromise,
- linkService: this.linkService,
- renderingQueue: this.renderingQueue,
- l10n: this.l10n,
- pageColors: this.pageColors
- });
-
- this._thumbnails.push(thumbnail);
- }
-
- const firstThumbnailView = this._thumbnails[0];
-
- if (firstThumbnailView) {
- firstThumbnailView.setPdfPage(firstPdfPage);
- }
-
- const thumbnailView = this._thumbnails[this._currentPageNumber - 1];
- thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
- }).catch(reason => {
- console.error("Unable to initialize thumbnail viewer", reason);
- });
- }
-
- _cancelRendering() {
- for (const thumbnail of this._thumbnails) {
- thumbnail.cancelRendering();
- }
- }
-
- setPageLabels(labels) {
- if (!this.pdfDocument) {
- return;
- }
-
- if (!labels) {
- this._pageLabels = null;
- } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {
- this._pageLabels = null;
- console.error("PDFThumbnailViewer_setPageLabels: Invalid page labels.");
- } else {
- this._pageLabels = labels;
- }
-
- for (let i = 0, ii = this._thumbnails.length; i < ii; i++) {
- this._thumbnails[i].setPageLabel(this._pageLabels?.[i] ?? null);
- }
- }
-
- async #ensurePdfPageLoaded(thumbView) {
- if (thumbView.pdfPage) {
- return thumbView.pdfPage;
- }
-
- try {
- const pdfPage = await this.pdfDocument.getPage(thumbView.id);
-
- if (!thumbView.pdfPage) {
- thumbView.setPdfPage(pdfPage);
- }
-
- return pdfPage;
- } catch (reason) {
- console.error("Unable to get page for thumb view", reason);
- return null;
- }
- }
-
- #getScrollAhead(visible) {
- if (visible.first?.id === 1) {
- return true;
- } else if (visible.last?.id === this._thumbnails.length) {
- return false;
- }
-
- return this.scroll.down;
- }
-
- forceRendering() {
- const visibleThumbs = this._getVisibleThumbs();
-
- const scrollAhead = this.#getScrollAhead(visibleThumbs);
- const thumbView = this.renderingQueue.getHighestPriority(visibleThumbs, this._thumbnails, scrollAhead);
-
- if (thumbView) {
- this.#ensurePdfPageLoaded(thumbView).then(() => {
- this.renderingQueue.renderView(thumbView);
- });
- return true;
- }
-
- return false;
- }
-
-}
-
-exports.PDFThumbnailViewer = PDFThumbnailViewer;
-
-/***/ }),
-/* 27 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.TempImageFactory = exports.PDFThumbnailView = void 0;
-
-var _ui_utils = __webpack_require__(1);
-
-var _pdfjsLib = __webpack_require__(5);
-
-const DRAW_UPSCALE_FACTOR = 2;
-const MAX_NUM_SCALING_STEPS = 3;
-const THUMBNAIL_CANVAS_BORDER_WIDTH = 1;
-const THUMBNAIL_WIDTH = 98;
-
-class TempImageFactory {
- static #tempCanvas = null;
-
- static getCanvas(width, height) {
- const tempCanvas = this.#tempCanvas ||= document.createElement("canvas");
- tempCanvas.width = width;
- tempCanvas.height = height;
- const ctx = tempCanvas.getContext("2d", {
- alpha: false
- });
- ctx.save();
- ctx.fillStyle = "rgb(255, 255, 255)";
- ctx.fillRect(0, 0, width, height);
- ctx.restore();
- return [tempCanvas, tempCanvas.getContext("2d")];
- }
-
- static destroyCanvas() {
- const tempCanvas = this.#tempCanvas;
-
- if (tempCanvas) {
- tempCanvas.width = 0;
- tempCanvas.height = 0;
- }
-
- this.#tempCanvas = null;
- }
-
-}
-
-exports.TempImageFactory = TempImageFactory;
-
-class PDFThumbnailView {
- constructor({
- container,
- id,
- defaultViewport,
- optionalContentConfigPromise,
- linkService,
- renderingQueue,
- l10n,
- pageColors
- }) {
- this.id = id;
- this.renderingId = "thumbnail" + id;
- this.pageLabel = null;
- this.pdfPage = null;
- this.rotation = 0;
- this.viewport = defaultViewport;
- this.pdfPageRotate = defaultViewport.rotation;
- this._optionalContentConfigPromise = optionalContentConfigPromise || null;
- this.pageColors = pageColors || null;
- this.linkService = linkService;
- this.renderingQueue = renderingQueue;
- this.renderTask = null;
- this.renderingState = _ui_utils.RenderingStates.INITIAL;
- this.resume = null;
- const pageWidth = this.viewport.width,
- pageHeight = this.viewport.height,
- pageRatio = pageWidth / pageHeight;
- this.canvasWidth = THUMBNAIL_WIDTH;
- this.canvasHeight = this.canvasWidth / pageRatio | 0;
- this.scale = this.canvasWidth / pageWidth;
- this.l10n = l10n;
- const anchor = document.createElement("a");
- anchor.href = linkService.getAnchorUrl("#page=" + id);
-
- this._thumbPageTitle.then(msg => {
- anchor.title = msg;
- });
-
- anchor.onclick = function () {
- linkService.goToPage(id);
- return false;
- };
-
- this.anchor = anchor;
- const div = document.createElement("div");
- div.className = "thumbnail";
- div.setAttribute("data-page-number", this.id);
- this.div = div;
- const ring = document.createElement("div");
- ring.className = "thumbnailSelectionRing";
- const borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH;
- ring.style.width = this.canvasWidth + borderAdjustment + "px";
- ring.style.height = this.canvasHeight + borderAdjustment + "px";
- this.ring = ring;
- div.append(ring);
- anchor.append(div);
- container.append(anchor);
- }
-
- setPdfPage(pdfPage) {
- this.pdfPage = pdfPage;
- this.pdfPageRotate = pdfPage.rotate;
- const totalRotation = (this.rotation + this.pdfPageRotate) % 360;
- this.viewport = pdfPage.getViewport({
- scale: 1,
- rotation: totalRotation
- });
- this.reset();
- }
-
- reset() {
- this.cancelRendering();
- this.renderingState = _ui_utils.RenderingStates.INITIAL;
- const pageWidth = this.viewport.width,
- pageHeight = this.viewport.height,
- pageRatio = pageWidth / pageHeight;
- this.canvasHeight = this.canvasWidth / pageRatio | 0;
- this.scale = this.canvasWidth / pageWidth;
- this.div.removeAttribute("data-loaded");
- const ring = this.ring;
- ring.textContent = "";
- const borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH;
- ring.style.width = this.canvasWidth + borderAdjustment + "px";
- ring.style.height = this.canvasHeight + borderAdjustment + "px";
-
- if (this.canvas) {
- this.canvas.width = 0;
- this.canvas.height = 0;
- delete this.canvas;
- }
-
- if (this.image) {
- this.image.removeAttribute("src");
- delete this.image;
- }
- }
-
- update({
- rotation = null
- }) {
- if (typeof rotation === "number") {
- this.rotation = rotation;
- }
-
- const totalRotation = (this.rotation + this.pdfPageRotate) % 360;
- this.viewport = this.viewport.clone({
- scale: 1,
- rotation: totalRotation
- });
- this.reset();
- }
-
- cancelRendering() {
- if (this.renderTask) {
- this.renderTask.cancel();
- this.renderTask = null;
- }
-
- this.resume = null;
- }
-
- _getPageDrawContext(upscaleFactor = 1) {
- const canvas = document.createElement("canvas");
- const ctx = canvas.getContext("2d", {
- alpha: false
- });
- const outputScale = new _ui_utils.OutputScale();
- canvas.width = upscaleFactor * this.canvasWidth * outputScale.sx | 0;
- canvas.height = upscaleFactor * this.canvasHeight * outputScale.sy | 0;
- const transform = outputScale.scaled ? [outputScale.sx, 0, 0, outputScale.sy, 0, 0] : null;
- return {
- ctx,
- canvas,
- transform
- };
- }
-
- _convertCanvasToImage(canvas) {
- if (this.renderingState !== _ui_utils.RenderingStates.FINISHED) {
- throw new Error("_convertCanvasToImage: Rendering has not finished.");
- }
-
- const reducedCanvas = this._reduceImage(canvas);
-
- const image = document.createElement("img");
- image.className = "thumbnailImage";
-
- this._thumbPageCanvas.then(msg => {
- image.setAttribute("aria-label", msg);
- });
-
- image.style.width = this.canvasWidth + "px";
- image.style.height = this.canvasHeight + "px";
- image.src = reducedCanvas.toDataURL();
- this.image = image;
- this.div.setAttribute("data-loaded", true);
- this.ring.append(image);
- reducedCanvas.width = 0;
- reducedCanvas.height = 0;
- }
-
- draw() {
- if (this.renderingState !== _ui_utils.RenderingStates.INITIAL) {
- console.error("Must be in new state before drawing");
- return Promise.resolve();
- }
-
- const {
- pdfPage
- } = this;
-
- if (!pdfPage) {
- this.renderingState = _ui_utils.RenderingStates.FINISHED;
- return Promise.reject(new Error("pdfPage is not loaded"));
- }
-
- this.renderingState = _ui_utils.RenderingStates.RUNNING;
-
- const finishRenderTask = async (error = null) => {
- if (renderTask === this.renderTask) {
- this.renderTask = null;
- }
-
- if (error instanceof _pdfjsLib.RenderingCancelledException) {
- return;
- }
-
- this.renderingState = _ui_utils.RenderingStates.FINISHED;
-
- this._convertCanvasToImage(canvas);
-
- if (error) {
- throw error;
- }
- };
-
- const {
- ctx,
- canvas,
- transform
- } = this._getPageDrawContext(DRAW_UPSCALE_FACTOR);
-
- const drawViewport = this.viewport.clone({
- scale: DRAW_UPSCALE_FACTOR * this.scale
- });
-
- const renderContinueCallback = cont => {
- if (!this.renderingQueue.isHighestPriority(this)) {
- this.renderingState = _ui_utils.RenderingStates.PAUSED;
-
- this.resume = () => {
- this.renderingState = _ui_utils.RenderingStates.RUNNING;
- cont();
- };
-
- return;
- }
-
- cont();
- };
-
- const renderContext = {
- canvasContext: ctx,
- transform,
- viewport: drawViewport,
- optionalContentConfigPromise: this._optionalContentConfigPromise,
- pageColors: this.pageColors
- };
- const renderTask = this.renderTask = pdfPage.render(renderContext);
- renderTask.onContinue = renderContinueCallback;
- const resultPromise = renderTask.promise.then(function () {
- return finishRenderTask(null);
- }, function (error) {
- return finishRenderTask(error);
- });
- resultPromise.finally(() => {
- canvas.width = 0;
- canvas.height = 0;
- const pageCached = this.linkService.isPageCached(this.id);
-
- if (!pageCached) {
- this.pdfPage?.cleanup();
- }
- });
- return resultPromise;
- }
-
- setImage(pageView) {
- if (this.renderingState !== _ui_utils.RenderingStates.INITIAL) {
- return;
- }
-
- const {
- thumbnailCanvas: canvas,
- pdfPage,
- scale
- } = pageView;
-
- if (!canvas) {
- return;
- }
-
- if (!this.pdfPage) {
- this.setPdfPage(pdfPage);
- }
-
- if (scale < this.scale) {
- return;
- }
-
- this.renderingState = _ui_utils.RenderingStates.FINISHED;
-
- this._convertCanvasToImage(canvas);
- }
-
- _reduceImage(img) {
- const {
- ctx,
- canvas
- } = this._getPageDrawContext();
-
- if (img.width <= 2 * canvas.width) {
- ctx.drawImage(img, 0, 0, img.width, img.height, 0, 0, canvas.width, canvas.height);
- return canvas;
- }
-
- let reducedWidth = canvas.width << MAX_NUM_SCALING_STEPS;
- let reducedHeight = canvas.height << MAX_NUM_SCALING_STEPS;
- const [reducedImage, reducedImageCtx] = TempImageFactory.getCanvas(reducedWidth, reducedHeight);
-
- while (reducedWidth > img.width || reducedHeight > img.height) {
- reducedWidth >>= 1;
- reducedHeight >>= 1;
- }
-
- reducedImageCtx.drawImage(img, 0, 0, img.width, img.height, 0, 0, reducedWidth, reducedHeight);
-
- while (reducedWidth > 2 * canvas.width) {
- reducedImageCtx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, reducedWidth >> 1, reducedHeight >> 1);
- reducedWidth >>= 1;
- reducedHeight >>= 1;
- }
-
- ctx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, canvas.width, canvas.height);
- return canvas;
- }
-
- get _thumbPageTitle() {
- return this.l10n.get("thumb_page_title", {
- page: this.pageLabel ?? this.id
- });
- }
-
- get _thumbPageCanvas() {
- return this.l10n.get("thumb_page_canvas", {
- page: this.pageLabel ?? this.id
- });
- }
-
- setPageLabel(label) {
- this.pageLabel = typeof label === "string" ? label : null;
-
- this._thumbPageTitle.then(msg => {
- this.anchor.title = msg;
- });
-
- if (this.renderingState !== _ui_utils.RenderingStates.FINISHED) {
- return;
- }
-
- this._thumbPageCanvas.then(msg => {
- this.image?.setAttribute("aria-label", msg);
- });
- }
-
-}
-
-exports.PDFThumbnailView = PDFThumbnailView;
-
-/***/ }),
-/* 28 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFViewer = exports.PDFSinglePageViewer = void 0;
-
-var _ui_utils = __webpack_require__(1);
-
-var _base_viewer = __webpack_require__(29);
-
-class PDFViewer extends _base_viewer.BaseViewer {}
-
-exports.PDFViewer = PDFViewer;
-
-class PDFSinglePageViewer extends _base_viewer.BaseViewer {
- _resetView() {
- super._resetView();
-
- this._scrollMode = _ui_utils.ScrollMode.PAGE;
- this._spreadMode = _ui_utils.SpreadMode.NONE;
- }
-
- set scrollMode(mode) {}
-
- _updateScrollMode() {}
-
- set spreadMode(mode) {}
-
- _updateSpreadMode() {}
-
-}
-
-exports.PDFSinglePageViewer = PDFSinglePageViewer;
-
-/***/ }),
-/* 29 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PagesCountLimit = exports.PDFPageViewBuffer = exports.BaseViewer = void 0;
-
-var _pdfjsLib = __webpack_require__(5);
-
-var _ui_utils = __webpack_require__(1);
-
-var _annotation_editor_layer_builder = __webpack_require__(30);
-
-var _annotation_layer_builder = __webpack_require__(32);
-
-var _l10n_utils = __webpack_require__(31);
-
-var _pdf_page_view = __webpack_require__(33);
-
-var _pdf_rendering_queue = __webpack_require__(22);
-
-var _pdf_link_service = __webpack_require__(3);
-
-var _struct_tree_layer_builder = __webpack_require__(35);
-
-var _text_highlighter = __webpack_require__(36);
-
-var _text_layer_builder = __webpack_require__(37);
-
-var _xfa_layer_builder = __webpack_require__(38);
-
-const DEFAULT_CACHE_SIZE = 10;
-const ENABLE_PERMISSIONS_CLASS = "enablePermissions";
-const PagesCountLimit = {
- FORCE_SCROLL_MODE_PAGE: 15000,
- FORCE_LAZY_PAGE_INIT: 7500,
- PAUSE_EAGER_PAGE_INIT: 250
-};
-exports.PagesCountLimit = PagesCountLimit;
-
-function isValidAnnotationEditorMode(mode) {
- return Object.values(_pdfjsLib.AnnotationEditorType).includes(mode) && mode !== _pdfjsLib.AnnotationEditorType.DISABLE;
-}
-
-class PDFPageViewBuffer {
- #buf = new Set();
- #size = 0;
-
- constructor(size) {
- this.#size = size;
- }
-
- push(view) {
- const buf = this.#buf;
-
- if (buf.has(view)) {
- buf.delete(view);
- }
-
- buf.add(view);
-
- if (buf.size > this.#size) {
- this.#destroyFirstView();
- }
- }
-
- resize(newSize, idsToKeep = null) {
- this.#size = newSize;
- const buf = this.#buf;
-
- if (idsToKeep) {
- const ii = buf.size;
- let i = 1;
-
- for (const view of buf) {
- if (idsToKeep.has(view.id)) {
- buf.delete(view);
- buf.add(view);
- }
-
- if (++i > ii) {
- break;
- }
- }
- }
-
- while (buf.size > this.#size) {
- this.#destroyFirstView();
- }
- }
-
- has(view) {
- return this.#buf.has(view);
- }
-
- [Symbol.iterator]() {
- return this.#buf.keys();
- }
-
- #destroyFirstView() {
- const firstView = this.#buf.keys().next().value;
- firstView?.destroy();
- this.#buf.delete(firstView);
- }
-
-}
-
-exports.PDFPageViewBuffer = PDFPageViewBuffer;
-
-class BaseViewer {
- #buffer = null;
- #annotationEditorMode = _pdfjsLib.AnnotationEditorType.DISABLE;
- #annotationEditorUIManager = null;
- #annotationMode = _pdfjsLib.AnnotationMode.ENABLE_FORMS;
- #enablePermissions = false;
- #previousContainerHeight = 0;
- #scrollModePageState = null;
- #onVisibilityChange = null;
-
- constructor(options) {
- if (this.constructor === BaseViewer) {
- throw new Error("Cannot initialize BaseViewer.");
- }
-
- const viewerVersion = '2.16.105';
-
- if (_pdfjsLib.version !== viewerVersion) {
- throw new Error(`The API version "${_pdfjsLib.version}" does not match the Viewer version "${viewerVersion}".`);
- }
-
- this.container = options.container;
- this.viewer = options.viewer || options.container.firstElementChild;
-
- if (!(this.container?.tagName.toUpperCase() === "DIV" && this.viewer?.tagName.toUpperCase() === "DIV")) {
- throw new Error("Invalid `container` and/or `viewer` option.");
- }
-
- if (this.container.offsetParent && getComputedStyle(this.container).position !== "absolute") {
- throw new Error("The `container` must be absolutely positioned.");
- }
-
- this.eventBus = options.eventBus;
- this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();
- this.downloadManager = options.downloadManager || null;
- this.findController = options.findController || null;
- this._scriptingManager = options.scriptingManager || null;
- this.removePageBorders = options.removePageBorders || false;
- this.textLayerMode = options.textLayerMode ?? _ui_utils.TextLayerMode.ENABLE;
- this.#annotationMode = options.annotationMode ?? _pdfjsLib.AnnotationMode.ENABLE_FORMS;
- this.#annotationEditorMode = options.annotationEditorMode ?? _pdfjsLib.AnnotationEditorType.DISABLE;
- this.imageResourcesPath = options.imageResourcesPath || "";
- this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;
- this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;
- this.useOnlyCssZoom = options.useOnlyCssZoom || false;
- this.maxCanvasPixels = options.maxCanvasPixels;
- this.l10n = options.l10n || _l10n_utils.NullL10n;
- this.#enablePermissions = options.enablePermissions || false;
- this.pageColors = options.pageColors || null;
-
- if (this.pageColors && !(CSS.supports("color", this.pageColors.background) && CSS.supports("color", this.pageColors.foreground))) {
- if (this.pageColors.background || this.pageColors.foreground) {
- console.warn("BaseViewer: Ignoring `pageColors`-option, since the browser doesn't support the values used.");
- }
-
- this.pageColors = null;
- }
-
- this.defaultRenderingQueue = !options.renderingQueue;
-
- if (this.defaultRenderingQueue) {
- this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();
- this.renderingQueue.setViewer(this);
- } else {
- this.renderingQueue = options.renderingQueue;
- }
-
- this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));
- this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;
- this._onBeforeDraw = this._onAfterDraw = null;
-
- this._resetView();
-
- if (this.removePageBorders) {
- this.viewer.classList.add("removePageBorders");
- }
-
- this.updateContainerHeightCss();
- }
-
- get pagesCount() {
- return this._pages.length;
- }
-
- getPageView(index) {
- return this._pages[index];
- }
-
- get pageViewsReady() {
- if (!this._pagesCapability.settled) {
- return false;
- }
-
- return this._pages.every(function (pageView) {
- return pageView?.pdfPage;
- });
- }
-
- get renderForms() {
- return this.#annotationMode === _pdfjsLib.AnnotationMode.ENABLE_FORMS;
- }
-
- get enableScripting() {
- return !!this._scriptingManager;
- }
-
- get currentPageNumber() {
- return this._currentPageNumber;
- }
-
- set currentPageNumber(val) {
- if (!Number.isInteger(val)) {
- throw new Error("Invalid page number.");
- }
-
- if (!this.pdfDocument) {
- return;
- }
-
- if (!this._setCurrentPageNumber(val, true)) {
- console.error(`currentPageNumber: "${val}" is not a valid page.`);
- }
- }
-
- _setCurrentPageNumber(val, resetCurrentPageView = false) {
- if (this._currentPageNumber === val) {
- if (resetCurrentPageView) {
- this.#resetCurrentPageView();
- }
-
- return true;
- }
-
- if (!(0 < val && val <= this.pagesCount)) {
- return false;
- }
-
- const previous = this._currentPageNumber;
- this._currentPageNumber = val;
- this.eventBus.dispatch("pagechanging", {
- source: this,
- pageNumber: val,
- pageLabel: this._pageLabels?.[val - 1] ?? null,
- previous
- });
-
- if (resetCurrentPageView) {
- this.#resetCurrentPageView();
- }
-
- return true;
- }
-
- get currentPageLabel() {
- return this._pageLabels?.[this._currentPageNumber - 1] ?? null;
- }
-
- set currentPageLabel(val) {
- if (!this.pdfDocument) {
- return;
- }
-
- let page = val | 0;
-
- if (this._pageLabels) {
- const i = this._pageLabels.indexOf(val);
-
- if (i >= 0) {
- page = i + 1;
- }
- }
-
- if (!this._setCurrentPageNumber(page, true)) {
- console.error(`currentPageLabel: "${val}" is not a valid page.`);
- }
- }
-
- get currentScale() {
- return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;
- }
-
- set currentScale(val) {
- if (isNaN(val)) {
- throw new Error("Invalid numeric scale.");
- }
-
- if (!this.pdfDocument) {
- return;
- }
-
- this._setScale(val, false);
- }
-
- get currentScaleValue() {
- return this._currentScaleValue;
- }
-
- set currentScaleValue(val) {
- if (!this.pdfDocument) {
- return;
- }
-
- this._setScale(val, false);
- }
-
- get pagesRotation() {
- return this._pagesRotation;
- }
-
- set pagesRotation(rotation) {
- if (!(0, _ui_utils.isValidRotation)(rotation)) {
- throw new Error("Invalid pages rotation angle.");
- }
-
- if (!this.pdfDocument) {
- return;
- }
-
- rotation %= 360;
-
- if (rotation < 0) {
- rotation += 360;
- }
-
- if (this._pagesRotation === rotation) {
- return;
- }
-
- this._pagesRotation = rotation;
- const pageNumber = this._currentPageNumber;
- const updateArgs = {
- rotation
- };
-
- for (const pageView of this._pages) {
- pageView.update(updateArgs);
- }
-
- if (this._currentScaleValue) {
- this._setScale(this._currentScaleValue, true);
- }
-
- this.eventBus.dispatch("rotationchanging", {
- source: this,
- pagesRotation: rotation,
- pageNumber
- });
-
- if (this.defaultRenderingQueue) {
- this.update();
- }
- }
-
- get firstPagePromise() {
- return this.pdfDocument ? this._firstPageCapability.promise : null;
- }
-
- get onePageRendered() {
- return this.pdfDocument ? this._onePageRenderedCapability.promise : null;
- }
-
- get pagesPromise() {
- return this.pdfDocument ? this._pagesCapability.promise : null;
- }
-
- #initializePermissions(permissions) {
- const params = {
- annotationEditorMode: this.#annotationEditorMode,
- annotationMode: this.#annotationMode,
- textLayerMode: this.textLayerMode
- };
-
- if (!permissions) {
- return params;
- }
-
- if (!permissions.includes(_pdfjsLib.PermissionFlag.COPY)) {
- this.viewer.classList.add(ENABLE_PERMISSIONS_CLASS);
- }
-
- if (!permissions.includes(_pdfjsLib.PermissionFlag.MODIFY_CONTENTS)) {
- params.annotationEditorMode = _pdfjsLib.AnnotationEditorType.DISABLE;
- }
-
- if (!permissions.includes(_pdfjsLib.PermissionFlag.MODIFY_ANNOTATIONS) && !permissions.includes(_pdfjsLib.PermissionFlag.FILL_INTERACTIVE_FORMS) && this.#annotationMode === _pdfjsLib.AnnotationMode.ENABLE_FORMS) {
- params.annotationMode = _pdfjsLib.AnnotationMode.ENABLE;
- }
-
- return params;
- }
-
- #onePageRenderedOrForceFetch() {
- if (document.visibilityState === "hidden" || !this.container.offsetParent || this._getVisiblePages().views.length === 0) {
- return Promise.resolve();
- }
-
- const visibilityChangePromise = new Promise(resolve => {
- this.#onVisibilityChange = () => {
- if (document.visibilityState !== "hidden") {
- return;
- }
-
- resolve();
- document.removeEventListener("visibilitychange", this.#onVisibilityChange);
- this.#onVisibilityChange = null;
- };
-
- document.addEventListener("visibilitychange", this.#onVisibilityChange);
- });
- return Promise.race([this._onePageRenderedCapability.promise, visibilityChangePromise]);
- }
-
- setDocument(pdfDocument) {
- if (this.pdfDocument) {
- this.eventBus.dispatch("pagesdestroy", {
- source: this
- });
-
- this._cancelRendering();
-
- this._resetView();
-
- if (this.findController) {
- this.findController.setDocument(null);
- }
-
- if (this._scriptingManager) {
- this._scriptingManager.setDocument(null);
- }
-
- if (this.#annotationEditorUIManager) {
- this.#annotationEditorUIManager.destroy();
- this.#annotationEditorUIManager = null;
- }
- }
-
- this.pdfDocument = pdfDocument;
-
- if (!pdfDocument) {
- return;
- }
-
- const isPureXfa = pdfDocument.isPureXfa;
- const pagesCount = pdfDocument.numPages;
- const firstPagePromise = pdfDocument.getPage(1);
- const optionalContentConfigPromise = pdfDocument.getOptionalContentConfig();
- const permissionsPromise = this.#enablePermissions ? pdfDocument.getPermissions() : Promise.resolve();
-
- if (pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) {
- console.warn("Forcing PAGE-scrolling for performance reasons, given the length of the document.");
- const mode = this._scrollMode = _ui_utils.ScrollMode.PAGE;
- this.eventBus.dispatch("scrollmodechanged", {
- source: this,
- mode
- });
- }
-
- this._pagesCapability.promise.then(() => {
- this.eventBus.dispatch("pagesloaded", {
- source: this,
- pagesCount
- });
- }, () => {});
-
- this._onBeforeDraw = evt => {
- const pageView = this._pages[evt.pageNumber - 1];
-
- if (!pageView) {
- return;
- }
-
- this.#buffer.push(pageView);
- };
-
- this.eventBus._on("pagerender", this._onBeforeDraw);
-
- this._onAfterDraw = evt => {
- if (evt.cssTransform || this._onePageRenderedCapability.settled) {
- return;
- }
-
- this._onePageRenderedCapability.resolve({
- timestamp: evt.timestamp
- });
-
- this.eventBus._off("pagerendered", this._onAfterDraw);
-
- this._onAfterDraw = null;
-
- if (this.#onVisibilityChange) {
- document.removeEventListener("visibilitychange", this.#onVisibilityChange);
- this.#onVisibilityChange = null;
- }
- };
-
- this.eventBus._on("pagerendered", this._onAfterDraw);
-
- Promise.all([firstPagePromise, permissionsPromise]).then(([firstPdfPage, permissions]) => {
- if (pdfDocument !== this.pdfDocument) {
- return;
- }
-
- this._firstPageCapability.resolve(firstPdfPage);
-
- this._optionalContentConfigPromise = optionalContentConfigPromise;
- const {
- annotationEditorMode,
- annotationMode,
- textLayerMode
- } = this.#initializePermissions(permissions);
-
- if (annotationEditorMode !== _pdfjsLib.AnnotationEditorType.DISABLE) {
- const mode = annotationEditorMode;
-
- if (isPureXfa) {
- console.warn("Warning: XFA-editing is not implemented.");
- } else if (isValidAnnotationEditorMode(mode)) {
- this.#annotationEditorUIManager = new _pdfjsLib.AnnotationEditorUIManager(this.container, this.eventBus);
-
- if (mode !== _pdfjsLib.AnnotationEditorType.NONE) {
- this.#annotationEditorUIManager.updateMode(mode);
- }
- } else {
- console.error(`Invalid AnnotationEditor mode: ${mode}`);
- }
- }
-
- const viewerElement = this._scrollMode === _ui_utils.ScrollMode.PAGE ? null : this.viewer;
- const scale = this.currentScale;
- const viewport = firstPdfPage.getViewport({
- scale: scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS
- });
- const textLayerFactory = textLayerMode !== _ui_utils.TextLayerMode.DISABLE && !isPureXfa ? this : null;
- const annotationLayerFactory = annotationMode !== _pdfjsLib.AnnotationMode.DISABLE ? this : null;
- const xfaLayerFactory = isPureXfa ? this : null;
- const annotationEditorLayerFactory = this.#annotationEditorUIManager ? this : null;
-
- for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) {
- const pageView = new _pdf_page_view.PDFPageView({
- container: viewerElement,
- eventBus: this.eventBus,
- id: pageNum,
- scale,
- defaultViewport: viewport.clone(),
- optionalContentConfigPromise,
- renderingQueue: this.renderingQueue,
- textLayerFactory,
- textLayerMode,
- annotationLayerFactory,
- annotationMode,
- xfaLayerFactory,
- annotationEditorLayerFactory,
- textHighlighterFactory: this,
- structTreeLayerFactory: this,
- imageResourcesPath: this.imageResourcesPath,
- renderer: this.renderer,
- useOnlyCssZoom: this.useOnlyCssZoom,
- maxCanvasPixels: this.maxCanvasPixels,
- pageColors: this.pageColors,
- l10n: this.l10n
- });
-
- this._pages.push(pageView);
- }
-
- const firstPageView = this._pages[0];
-
- if (firstPageView) {
- firstPageView.setPdfPage(firstPdfPage);
- this.linkService.cachePageRef(1, firstPdfPage.ref);
- }
-
- if (this._scrollMode === _ui_utils.ScrollMode.PAGE) {
- this.#ensurePageViewVisible();
- } else if (this._spreadMode !== _ui_utils.SpreadMode.NONE) {
- this._updateSpreadMode();
- }
-
- this.#onePageRenderedOrForceFetch().then(async () => {
- if (this.findController) {
- this.findController.setDocument(pdfDocument);
- }
-
- if (this._scriptingManager) {
- this._scriptingManager.setDocument(pdfDocument);
- }
-
- if (this.#annotationEditorUIManager) {
- this.eventBus.dispatch("annotationeditormodechanged", {
- source: this,
- mode: this.#annotationEditorMode
- });
- }
-
- if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > PagesCountLimit.FORCE_LAZY_PAGE_INIT) {
- this._pagesCapability.resolve();
-
- return;
- }
-
- let getPagesLeft = pagesCount - 1;
-
- if (getPagesLeft <= 0) {
- this._pagesCapability.resolve();
-
- return;
- }
-
- for (let pageNum = 2; pageNum <= pagesCount; ++pageNum) {
- const promise = pdfDocument.getPage(pageNum).then(pdfPage => {
- const pageView = this._pages[pageNum - 1];
-
- if (!pageView.pdfPage) {
- pageView.setPdfPage(pdfPage);
- }
-
- this.linkService.cachePageRef(pageNum, pdfPage.ref);
-
- if (--getPagesLeft === 0) {
- this._pagesCapability.resolve();
- }
- }, reason => {
- console.error(`Unable to get page ${pageNum} to initialize viewer`, reason);
-
- if (--getPagesLeft === 0) {
- this._pagesCapability.resolve();
- }
- });
-
- if (pageNum % PagesCountLimit.PAUSE_EAGER_PAGE_INIT === 0) {
- await promise;
- }
- }
- });
- this.eventBus.dispatch("pagesinit", {
- source: this
- });
- pdfDocument.getMetadata().then(({
- info
- }) => {
- if (pdfDocument !== this.pdfDocument) {
- return;
- }
-
- if (info.Language) {
- this.viewer.lang = info.Language;
- }
- });
-
- if (this.defaultRenderingQueue) {
- this.update();
- }
- }).catch(reason => {
- console.error("Unable to initialize viewer", reason);
-
- this._pagesCapability.reject(reason);
- });
- }
-
- setPageLabels(labels) {
- if (!this.pdfDocument) {
- return;
- }
-
- if (!labels) {
- this._pageLabels = null;
- } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {
- this._pageLabels = null;
- console.error(`setPageLabels: Invalid page labels.`);
- } else {
- this._pageLabels = labels;
- }
-
- for (let i = 0, ii = this._pages.length; i < ii; i++) {
- this._pages[i].setPageLabel(this._pageLabels?.[i] ?? null);
- }
- }
-
- _resetView() {
- this._pages = [];
- this._currentPageNumber = 1;
- this._currentScale = _ui_utils.UNKNOWN_SCALE;
- this._currentScaleValue = null;
- this._pageLabels = null;
- this.#buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);
- this._location = null;
- this._pagesRotation = 0;
- this._optionalContentConfigPromise = null;
- this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();
- this._onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)();
- this._pagesCapability = (0, _pdfjsLib.createPromiseCapability)();
- this._scrollMode = _ui_utils.ScrollMode.VERTICAL;
- this._previousScrollMode = _ui_utils.ScrollMode.UNKNOWN;
- this._spreadMode = _ui_utils.SpreadMode.NONE;
- this.#scrollModePageState = {
- previousPageNumber: 1,
- scrollDown: true,
- pages: []
- };
-
- if (this._onBeforeDraw) {
- this.eventBus._off("pagerender", this._onBeforeDraw);
-
- this._onBeforeDraw = null;
- }
-
- if (this._onAfterDraw) {
- this.eventBus._off("pagerendered", this._onAfterDraw);
-
- this._onAfterDraw = null;
- }
-
- if (this.#onVisibilityChange) {
- document.removeEventListener("visibilitychange", this.#onVisibilityChange);
- this.#onVisibilityChange = null;
- }
-
- this.viewer.textContent = "";
-
- this._updateScrollMode();
-
- this.viewer.removeAttribute("lang");
- this.viewer.classList.remove(ENABLE_PERMISSIONS_CLASS);
- }
-
- #ensurePageViewVisible() {
- if (this._scrollMode !== _ui_utils.ScrollMode.PAGE) {
- throw new Error("#ensurePageViewVisible: Invalid scrollMode value.");
- }
-
- const pageNumber = this._currentPageNumber,
- state = this.#scrollModePageState,
- viewer = this.viewer;
- viewer.textContent = "";
- state.pages.length = 0;
-
- if (this._spreadMode === _ui_utils.SpreadMode.NONE && !this.isInPresentationMode) {
- const pageView = this._pages[pageNumber - 1];
- viewer.append(pageView.div);
- state.pages.push(pageView);
- } else {
- const pageIndexSet = new Set(),
- parity = this._spreadMode - 1;
-
- if (parity === -1) {
- pageIndexSet.add(pageNumber - 1);
- } else if (pageNumber % 2 !== parity) {
- pageIndexSet.add(pageNumber - 1);
- pageIndexSet.add(pageNumber);
- } else {
- pageIndexSet.add(pageNumber - 2);
- pageIndexSet.add(pageNumber - 1);
- }
-
- const spread = document.createElement("div");
- spread.className = "spread";
-
- if (this.isInPresentationMode) {
- const dummyPage = document.createElement("div");
- dummyPage.className = "dummyPage";
- spread.append(dummyPage);
- }
-
- for (const i of pageIndexSet) {
- const pageView = this._pages[i];
-
- if (!pageView) {
- continue;
- }
-
- spread.append(pageView.div);
- state.pages.push(pageView);
- }
-
- viewer.append(spread);
- }
-
- state.scrollDown = pageNumber >= state.previousPageNumber;
- state.previousPageNumber = pageNumber;
- }
-
- _scrollUpdate() {
- if (this.pagesCount === 0) {
- return;
- }
-
- this.update();
- }
-
- #scrollIntoView(pageView, pageSpot = null) {
- const {
- div,
- id
- } = pageView;
-
- if (this._scrollMode === _ui_utils.ScrollMode.PAGE) {
- this._setCurrentPageNumber(id);
-
- this.#ensurePageViewVisible();
- this.update();
- }
-
- if (!pageSpot && !this.isInPresentationMode) {
- const left = div.offsetLeft + div.clientLeft,
- right = left + div.clientWidth;
- const {
- scrollLeft,
- clientWidth
- } = this.container;
-
- if (this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL || left < scrollLeft || right > scrollLeft + clientWidth) {
- pageSpot = {
- left: 0,
- top: 0
- };
- }
- }
-
- (0, _ui_utils.scrollIntoView)(div, pageSpot);
- }
-
- #isSameScale(newScale) {
- return newScale === this._currentScale || Math.abs(newScale - this._currentScale) < 1e-15;
- }
-
- _setScaleUpdatePages(newScale, newValue, noScroll = false, preset = false) {
- this._currentScaleValue = newValue.toString();
-
- if (this.#isSameScale(newScale)) {
- if (preset) {
- this.eventBus.dispatch("scalechanging", {
- source: this,
- scale: newScale,
- presetValue: newValue
- });
- }
-
- return;
- }
-
- _ui_utils.docStyle.setProperty("--scale-factor", newScale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS);
-
- const updateArgs = {
- scale: newScale
- };
-
- for (const pageView of this._pages) {
- pageView.update(updateArgs);
- }
-
- this._currentScale = newScale;
-
- if (!noScroll) {
- let page = this._currentPageNumber,
- dest;
-
- if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {
- page = this._location.pageNumber;
- dest = [null, {
- name: "XYZ"
- }, this._location.left, this._location.top, null];
- }
-
- this.scrollPageIntoView({
- pageNumber: page,
- destArray: dest,
- allowNegativeOffset: true
- });
- }
-
- this.eventBus.dispatch("scalechanging", {
- source: this,
- scale: newScale,
- presetValue: preset ? newValue : undefined
- });
-
- if (this.defaultRenderingQueue) {
- this.update();
- }
-
- this.updateContainerHeightCss();
- }
-
- get _pageWidthScaleFactor() {
- if (this._spreadMode !== _ui_utils.SpreadMode.NONE && this._scrollMode !== _ui_utils.ScrollMode.HORIZONTAL) {
- return 2;
- }
-
- return 1;
- }
-
- _setScale(value, noScroll = false) {
- let scale = parseFloat(value);
-
- if (scale > 0) {
- this._setScaleUpdatePages(scale, value, noScroll, false);
- } else {
- const currentPage = this._pages[this._currentPageNumber - 1];
-
- if (!currentPage) {
- return;
- }
-
- let hPadding = _ui_utils.SCROLLBAR_PADDING,
- vPadding = _ui_utils.VERTICAL_PADDING;
-
- if (this.isInPresentationMode) {
- hPadding = vPadding = 4;
- } else if (this.removePageBorders) {
- hPadding = vPadding = 0;
- } else if (this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL) {
- [hPadding, vPadding] = [vPadding, hPadding];
- }
-
- const pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale / this._pageWidthScaleFactor;
- const pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;
-
- switch (value) {
- case "page-actual":
- scale = 1;
- break;
-
- case "page-width":
- scale = pageWidthScale;
- break;
-
- case "page-height":
- scale = pageHeightScale;
- break;
-
- case "page-fit":
- scale = Math.min(pageWidthScale, pageHeightScale);
- break;
-
- case "auto":
- const horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);
- scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);
- break;
-
- default:
- console.error(`_setScale: "${value}" is an unknown zoom value.`);
- return;
- }
-
- this._setScaleUpdatePages(scale, value, noScroll, true);
- }
- }
-
- #resetCurrentPageView() {
- const pageView = this._pages[this._currentPageNumber - 1];
-
- if (this.isInPresentationMode) {
- this._setScale(this._currentScaleValue, true);
- }
-
- this.#scrollIntoView(pageView);
- }
-
- pageLabelToPageNumber(label) {
- if (!this._pageLabels) {
- return null;
- }
-
- const i = this._pageLabels.indexOf(label);
-
- if (i < 0) {
- return null;
- }
-
- return i + 1;
- }
-
- scrollPageIntoView({
- pageNumber,
- destArray = null,
- allowNegativeOffset = false,
- ignoreDestinationZoom = false
- }) {
- if (!this.pdfDocument) {
- return;
- }
-
- const pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];
-
- if (!pageView) {
- console.error(`scrollPageIntoView: "${pageNumber}" is not a valid pageNumber parameter.`);
- return;
- }
-
- if (this.isInPresentationMode || !destArray) {
- this._setCurrentPageNumber(pageNumber, true);
-
- return;
- }
-
- let x = 0,
- y = 0;
- let width = 0,
- height = 0,
- widthScale,
- heightScale;
- const changeOrientation = pageView.rotation % 180 !== 0;
- const pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;
- const pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;
- let scale = 0;
-
- switch (destArray[1].name) {
- case "XYZ":
- x = destArray[2];
- y = destArray[3];
- scale = destArray[4];
- x = x !== null ? x : 0;
- y = y !== null ? y : pageHeight;
- break;
-
- case "Fit":
- case "FitB":
- scale = "page-fit";
- break;
-
- case "FitH":
- case "FitBH":
- y = destArray[2];
- scale = "page-width";
-
- if (y === null && this._location) {
- x = this._location.left;
- y = this._location.top;
- } else if (typeof y !== "number" || y < 0) {
- y = pageHeight;
- }
-
- break;
-
- case "FitV":
- case "FitBV":
- x = destArray[2];
- width = pageWidth;
- height = pageHeight;
- scale = "page-height";
- break;
-
- case "FitR":
- x = destArray[2];
- y = destArray[3];
- width = destArray[4] - x;
- height = destArray[5] - y;
- const hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;
- const vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;
- widthScale = (this.container.clientWidth - hPadding) / width / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;
- heightScale = (this.container.clientHeight - vPadding) / height / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;
- scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));
- break;
-
- default:
- console.error(`scrollPageIntoView: "${destArray[1].name}" is not a valid destination type.`);
- return;
- }
-
- if (!ignoreDestinationZoom) {
- if (scale && scale !== this._currentScale) {
- this.currentScaleValue = scale;
- } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {
- this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
- }
- }
-
- if (scale === "page-fit" && !destArray[4]) {
- this.#scrollIntoView(pageView);
- return;
- }
-
- const boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];
- let left = Math.min(boundingRect[0][0], boundingRect[1][0]);
- let top = Math.min(boundingRect[0][1], boundingRect[1][1]);
-
- if (!allowNegativeOffset) {
- left = Math.max(left, 0);
- top = Math.max(top, 0);
- }
-
- this.#scrollIntoView(pageView, {
- left,
- top
- });
- }
-
- _updateLocation(firstPage) {
- const currentScale = this._currentScale;
- const currentScaleValue = this._currentScaleValue;
- const normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;
- const pageNumber = firstPage.id;
- const currentPageView = this._pages[pageNumber - 1];
- const container = this.container;
- const topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);
- const intLeft = Math.round(topLeft[0]);
- const intTop = Math.round(topLeft[1]);
- let pdfOpenParams = `#page=${pageNumber}`;
-
- if (!this.isInPresentationMode) {
- pdfOpenParams += `&zoom=${normalizedScaleValue},${intLeft},${intTop}`;
- }
-
- this._location = {
- pageNumber,
- scale: normalizedScaleValue,
- top: intTop,
- left: intLeft,
- rotation: this._pagesRotation,
- pdfOpenParams
- };
- }
-
- update() {
- const visible = this._getVisiblePages();
-
- const visiblePages = visible.views,
- numVisiblePages = visiblePages.length;
-
- if (numVisiblePages === 0) {
- return;
- }
-
- const newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);
- this.#buffer.resize(newCacheSize, visible.ids);
- this.renderingQueue.renderHighestPriority(visible);
- const isSimpleLayout = this._spreadMode === _ui_utils.SpreadMode.NONE && (this._scrollMode === _ui_utils.ScrollMode.PAGE || this._scrollMode === _ui_utils.ScrollMode.VERTICAL);
- const currentId = this._currentPageNumber;
- let stillFullyVisible = false;
-
- for (const page of visiblePages) {
- if (page.percent < 100) {
- break;
- }
-
- if (page.id === currentId && isSimpleLayout) {
- stillFullyVisible = true;
- break;
- }
- }
-
- this._setCurrentPageNumber(stillFullyVisible ? currentId : visiblePages[0].id);
-
- this._updateLocation(visible.first);
-
- this.eventBus.dispatch("updateviewarea", {
- source: this,
- location: this._location
- });
- }
-
- containsElement(element) {
- return this.container.contains(element);
- }
-
- focus() {
- this.container.focus();
- }
-
- get _isContainerRtl() {
- return getComputedStyle(this.container).direction === "rtl";
- }
-
- get isInPresentationMode() {
- return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;
- }
-
- get isChangingPresentationMode() {
- return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;
- }
-
- get isHorizontalScrollbarEnabled() {
- return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;
- }
-
- get isVerticalScrollbarEnabled() {
- return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;
- }
-
- _getVisiblePages() {
- const views = this._scrollMode === _ui_utils.ScrollMode.PAGE ? this.#scrollModePageState.pages : this._pages,
- horizontal = this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL,
- rtl = horizontal && this._isContainerRtl;
- return (0, _ui_utils.getVisibleElements)({
- scrollEl: this.container,
- views,
- sortByVisibility: true,
- horizontal,
- rtl
- });
- }
-
- isPageVisible(pageNumber) {
- if (!this.pdfDocument) {
- return false;
- }
-
- if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {
- console.error(`isPageVisible: "${pageNumber}" is not a valid page.`);
- return false;
- }
-
- return this._getVisiblePages().ids.has(pageNumber);
- }
-
- isPageCached(pageNumber) {
- if (!this.pdfDocument) {
- return false;
- }
-
- if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {
- console.error(`isPageCached: "${pageNumber}" is not a valid page.`);
- return false;
- }
-
- const pageView = this._pages[pageNumber - 1];
- return this.#buffer.has(pageView);
- }
-
- cleanup() {
- for (const pageView of this._pages) {
- if (pageView.renderingState !== _ui_utils.RenderingStates.FINISHED) {
- pageView.reset();
- }
- }
- }
-
- _cancelRendering() {
- for (const pageView of this._pages) {
- pageView.cancelRendering();
- }
- }
-
- async #ensurePdfPageLoaded(pageView) {
- if (pageView.pdfPage) {
- return pageView.pdfPage;
- }
-
- try {
- const pdfPage = await this.pdfDocument.getPage(pageView.id);
-
- if (!pageView.pdfPage) {
- pageView.setPdfPage(pdfPage);
- }
-
- if (!this.linkService._cachedPageNumber?.(pdfPage.ref)) {
- this.linkService.cachePageRef(pageView.id, pdfPage.ref);
- }
-
- return pdfPage;
- } catch (reason) {
- console.error("Unable to get page for page view", reason);
- return null;
- }
- }
-
- #getScrollAhead(visible) {
- if (visible.first?.id === 1) {
- return true;
- } else if (visible.last?.id === this.pagesCount) {
- return false;
- }
-
- switch (this._scrollMode) {
- case _ui_utils.ScrollMode.PAGE:
- return this.#scrollModePageState.scrollDown;
-
- case _ui_utils.ScrollMode.HORIZONTAL:
- return this.scroll.right;
- }
-
- return this.scroll.down;
- }
-
- #toggleLoadingIconSpinner(visibleIds) {
- for (const id of visibleIds) {
- const pageView = this._pages[id - 1];
- pageView?.toggleLoadingIconSpinner(true);
- }
-
- for (const pageView of this.#buffer) {
- if (visibleIds.has(pageView.id)) {
- continue;
- }
-
- pageView.toggleLoadingIconSpinner(false);
- }
- }
-
- forceRendering(currentlyVisiblePages) {
- const visiblePages = currentlyVisiblePages || this._getVisiblePages();
-
- const scrollAhead = this.#getScrollAhead(visiblePages);
- const preRenderExtra = this._spreadMode !== _ui_utils.SpreadMode.NONE && this._scrollMode !== _ui_utils.ScrollMode.HORIZONTAL;
- const pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead, preRenderExtra);
- this.#toggleLoadingIconSpinner(visiblePages.ids);
-
- if (pageView) {
- this.#ensurePdfPageLoaded(pageView).then(() => {
- this.renderingQueue.renderView(pageView);
- });
- return true;
- }
-
- return false;
- }
-
- createTextLayerBuilder({
- textLayerDiv,
- pageIndex,
- viewport,
- enhanceTextSelection = false,
- eventBus,
- highlighter,
- accessibilityManager = null
- }) {
- return new _text_layer_builder.TextLayerBuilder({
- textLayerDiv,
- eventBus,
- pageIndex,
- viewport,
- enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection,
- highlighter,
- accessibilityManager
- });
- }
-
- createTextHighlighter({
- pageIndex,
- eventBus
- }) {
- return new _text_highlighter.TextHighlighter({
- eventBus,
- pageIndex,
- findController: this.isInPresentationMode ? null : this.findController
- });
- }
-
- createAnnotationLayerBuilder({
- pageDiv,
- pdfPage,
- annotationStorage = this.pdfDocument?.annotationStorage,
- imageResourcesPath = "",
- renderForms = true,
- l10n = _l10n_utils.NullL10n,
- enableScripting = this.enableScripting,
- hasJSActionsPromise = this.pdfDocument?.hasJSActions(),
- mouseState = this._scriptingManager?.mouseState,
- fieldObjectsPromise = this.pdfDocument?.getFieldObjects(),
- annotationCanvasMap = null,
- accessibilityManager = null
- }) {
- return new _annotation_layer_builder.AnnotationLayerBuilder({
- pageDiv,
- pdfPage,
- annotationStorage,
- imageResourcesPath,
- renderForms,
- linkService: this.linkService,
- downloadManager: this.downloadManager,
- l10n,
- enableScripting,
- hasJSActionsPromise,
- mouseState,
- fieldObjectsPromise,
- annotationCanvasMap,
- accessibilityManager
- });
- }
-
- createAnnotationEditorLayerBuilder({
- uiManager = this.#annotationEditorUIManager,
- pageDiv,
- pdfPage,
- accessibilityManager = null,
- l10n,
- annotationStorage = this.pdfDocument?.annotationStorage
- }) {
- return new _annotation_editor_layer_builder.AnnotationEditorLayerBuilder({
- uiManager,
- pageDiv,
- pdfPage,
- annotationStorage,
- accessibilityManager,
- l10n
- });
- }
-
- createXfaLayerBuilder({
- pageDiv,
- pdfPage,
- annotationStorage = this.pdfDocument?.annotationStorage
- }) {
- return new _xfa_layer_builder.XfaLayerBuilder({
- pageDiv,
- pdfPage,
- annotationStorage,
- linkService: this.linkService
- });
- }
-
- createStructTreeLayerBuilder({
- pdfPage
- }) {
- return new _struct_tree_layer_builder.StructTreeLayerBuilder({
- pdfPage
- });
- }
-
- get hasEqualPageSizes() {
- const firstPageView = this._pages[0];
-
- for (let i = 1, ii = this._pages.length; i < ii; ++i) {
- const pageView = this._pages[i];
-
- if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {
- return false;
- }
- }
-
- return true;
- }
-
- getPagesOverview() {
- return this._pages.map(pageView => {
- const viewport = pageView.pdfPage.getViewport({
- scale: 1
- });
-
- if (!this.enablePrintAutoRotate || (0, _ui_utils.isPortraitOrientation)(viewport)) {
- return {
- width: viewport.width,
- height: viewport.height,
- rotation: viewport.rotation
- };
- }
-
- return {
- width: viewport.height,
- height: viewport.width,
- rotation: (viewport.rotation - 90) % 360
- };
- });
- }
-
- get optionalContentConfigPromise() {
- if (!this.pdfDocument) {
- return Promise.resolve(null);
- }
-
- if (!this._optionalContentConfigPromise) {
- console.error("optionalContentConfigPromise: Not initialized yet.");
- return this.pdfDocument.getOptionalContentConfig();
- }
-
- return this._optionalContentConfigPromise;
- }
-
- set optionalContentConfigPromise(promise) {
- if (!(promise instanceof Promise)) {
- throw new Error(`Invalid optionalContentConfigPromise: ${promise}`);
- }
-
- if (!this.pdfDocument) {
- return;
- }
-
- if (!this._optionalContentConfigPromise) {
- return;
- }
-
- this._optionalContentConfigPromise = promise;
- const updateArgs = {
- optionalContentConfigPromise: promise
- };
-
- for (const pageView of this._pages) {
- pageView.update(updateArgs);
- }
-
- this.update();
- this.eventBus.dispatch("optionalcontentconfigchanged", {
- source: this,
- promise
- });
- }
-
- get scrollMode() {
- return this._scrollMode;
- }
-
- set scrollMode(mode) {
- if (this._scrollMode === mode) {
- return;
- }
-
- if (!(0, _ui_utils.isValidScrollMode)(mode)) {
- throw new Error(`Invalid scroll mode: ${mode}`);
- }
-
- if (this.pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) {
- return;
- }
-
- this._previousScrollMode = this._scrollMode;
- this._scrollMode = mode;
- this.eventBus.dispatch("scrollmodechanged", {
- source: this,
- mode
- });
-
- this._updateScrollMode(this._currentPageNumber);
- }
-
- _updateScrollMode(pageNumber = null) {
- const scrollMode = this._scrollMode,
- viewer = this.viewer;
- viewer.classList.toggle("scrollHorizontal", scrollMode === _ui_utils.ScrollMode.HORIZONTAL);
- viewer.classList.toggle("scrollWrapped", scrollMode === _ui_utils.ScrollMode.WRAPPED);
-
- if (!this.pdfDocument || !pageNumber) {
- return;
- }
-
- if (scrollMode === _ui_utils.ScrollMode.PAGE) {
- this.#ensurePageViewVisible();
- } else if (this._previousScrollMode === _ui_utils.ScrollMode.PAGE) {
- this._updateSpreadMode();
- }
-
- if (this._currentScaleValue && isNaN(this._currentScaleValue)) {
- this._setScale(this._currentScaleValue, true);
- }
-
- this._setCurrentPageNumber(pageNumber, true);
-
- this.update();
- }
-
- get spreadMode() {
- return this._spreadMode;
- }
-
- set spreadMode(mode) {
- if (this._spreadMode === mode) {
- return;
- }
-
- if (!(0, _ui_utils.isValidSpreadMode)(mode)) {
- throw new Error(`Invalid spread mode: ${mode}`);
- }
-
- this._spreadMode = mode;
- this.eventBus.dispatch("spreadmodechanged", {
- source: this,
- mode
- });
-
- this._updateSpreadMode(this._currentPageNumber);
- }
-
- _updateSpreadMode(pageNumber = null) {
- if (!this.pdfDocument) {
- return;
- }
-
- const viewer = this.viewer,
- pages = this._pages;
-
- if (this._scrollMode === _ui_utils.ScrollMode.PAGE) {
- this.#ensurePageViewVisible();
- } else {
- viewer.textContent = "";
-
- if (this._spreadMode === _ui_utils.SpreadMode.NONE) {
- for (const pageView of this._pages) {
- viewer.append(pageView.div);
- }
- } else {
- const parity = this._spreadMode - 1;
- let spread = null;
-
- for (let i = 0, ii = pages.length; i < ii; ++i) {
- if (spread === null) {
- spread = document.createElement("div");
- spread.className = "spread";
- viewer.append(spread);
- } else if (i % 2 === parity) {
- spread = spread.cloneNode(false);
- viewer.append(spread);
- }
-
- spread.append(pages[i].div);
- }
- }
- }
-
- if (!pageNumber) {
- return;
- }
-
- if (this._currentScaleValue && isNaN(this._currentScaleValue)) {
- this._setScale(this._currentScaleValue, true);
- }
-
- this._setCurrentPageNumber(pageNumber, true);
-
- this.update();
- }
-
- _getPageAdvance(currentPageNumber, previous = false) {
- switch (this._scrollMode) {
- case _ui_utils.ScrollMode.WRAPPED:
- {
- const {
- views
- } = this._getVisiblePages(),
- pageLayout = new Map();
-
- for (const {
- id,
- y,
- percent,
- widthPercent
- } of views) {
- if (percent === 0 || widthPercent < 100) {
- continue;
- }
-
- let yArray = pageLayout.get(y);
-
- if (!yArray) {
- pageLayout.set(y, yArray ||= []);
- }
-
- yArray.push(id);
- }
-
- for (const yArray of pageLayout.values()) {
- const currentIndex = yArray.indexOf(currentPageNumber);
-
- if (currentIndex === -1) {
- continue;
- }
-
- const numPages = yArray.length;
-
- if (numPages === 1) {
- break;
- }
-
- if (previous) {
- for (let i = currentIndex - 1, ii = 0; i >= ii; i--) {
- const currentId = yArray[i],
- expectedId = yArray[i + 1] - 1;
-
- if (currentId < expectedId) {
- return currentPageNumber - expectedId;
- }
- }
- } else {
- for (let i = currentIndex + 1, ii = numPages; i < ii; i++) {
- const currentId = yArray[i],
- expectedId = yArray[i - 1] + 1;
-
- if (currentId > expectedId) {
- return expectedId - currentPageNumber;
- }
- }
- }
-
- if (previous) {
- const firstId = yArray[0];
-
- if (firstId < currentPageNumber) {
- return currentPageNumber - firstId + 1;
- }
- } else {
- const lastId = yArray[numPages - 1];
-
- if (lastId > currentPageNumber) {
- return lastId - currentPageNumber + 1;
- }
- }
-
- break;
- }
-
- break;
- }
-
- case _ui_utils.ScrollMode.HORIZONTAL:
- {
- break;
- }
-
- case _ui_utils.ScrollMode.PAGE:
- case _ui_utils.ScrollMode.VERTICAL:
- {
- if (this._spreadMode === _ui_utils.SpreadMode.NONE) {
- break;
- }
-
- const parity = this._spreadMode - 1;
-
- if (previous && currentPageNumber % 2 !== parity) {
- break;
- } else if (!previous && currentPageNumber % 2 === parity) {
- break;
- }
-
- const {
- views
- } = this._getVisiblePages(),
- expectedId = previous ? currentPageNumber - 1 : currentPageNumber + 1;
-
- for (const {
- id,
- percent,
- widthPercent
- } of views) {
- if (id !== expectedId) {
- continue;
- }
-
- if (percent > 0 && widthPercent === 100) {
- return 2;
- }
-
- break;
- }
-
- break;
- }
- }
-
- return 1;
- }
-
- nextPage() {
- const currentPageNumber = this._currentPageNumber,
- pagesCount = this.pagesCount;
-
- if (currentPageNumber >= pagesCount) {
- return false;
- }
-
- const advance = this._getPageAdvance(currentPageNumber, false) || 1;
- this.currentPageNumber = Math.min(currentPageNumber + advance, pagesCount);
- return true;
- }
-
- previousPage() {
- const currentPageNumber = this._currentPageNumber;
-
- if (currentPageNumber <= 1) {
- return false;
- }
-
- const advance = this._getPageAdvance(currentPageNumber, true) || 1;
- this.currentPageNumber = Math.max(currentPageNumber - advance, 1);
- return true;
- }
-
- increaseScale(steps = 1) {
- let newScale = this._currentScale;
-
- do {
- newScale = (newScale * _ui_utils.DEFAULT_SCALE_DELTA).toFixed(2);
- newScale = Math.ceil(newScale * 10) / 10;
- newScale = Math.min(_ui_utils.MAX_SCALE, newScale);
- } while (--steps > 0 && newScale < _ui_utils.MAX_SCALE);
-
- this.currentScaleValue = newScale;
- }
-
- decreaseScale(steps = 1) {
- let newScale = this._currentScale;
-
- do {
- newScale = (newScale / _ui_utils.DEFAULT_SCALE_DELTA).toFixed(2);
- newScale = Math.floor(newScale * 10) / 10;
- newScale = Math.max(_ui_utils.MIN_SCALE, newScale);
- } while (--steps > 0 && newScale > _ui_utils.MIN_SCALE);
-
- this.currentScaleValue = newScale;
- }
-
- updateContainerHeightCss() {
- const height = this.container.clientHeight;
-
- if (height !== this.#previousContainerHeight) {
- this.#previousContainerHeight = height;
-
- _ui_utils.docStyle.setProperty("--viewer-container-height", `${height}px`);
- }
- }
-
- get annotationEditorMode() {
- return this.#annotationEditorUIManager ? this.#annotationEditorMode : _pdfjsLib.AnnotationEditorType.DISABLE;
- }
-
- set annotationEditorMode(mode) {
- if (!this.#annotationEditorUIManager) {
- throw new Error(`The AnnotationEditor is not enabled.`);
- }
-
- if (this.#annotationEditorMode === mode) {
- return;
- }
-
- if (!isValidAnnotationEditorMode(mode)) {
- throw new Error(`Invalid AnnotationEditor mode: ${mode}`);
- }
-
- if (!this.pdfDocument) {
- return;
- }
-
- this.#annotationEditorMode = mode;
- this.eventBus.dispatch("annotationeditormodechanged", {
- source: this,
- mode
- });
- this.#annotationEditorUIManager.updateMode(mode);
- }
-
- set annotationEditorParams({
- type,
- value
- }) {
- if (!this.#annotationEditorUIManager) {
- throw new Error(`The AnnotationEditor is not enabled.`);
- }
-
- this.#annotationEditorUIManager.updateParams(type, value);
- }
-
- refresh() {
- if (!this.pdfDocument) {
- return;
- }
-
- const updateArgs = {};
-
- for (const pageView of this._pages) {
- pageView.update(updateArgs);
- }
-
- this.update();
- }
-
-}
-
-exports.BaseViewer = BaseViewer;
-
-/***/ }),
-/* 30 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.AnnotationEditorLayerBuilder = void 0;
-
-var _pdfjsLib = __webpack_require__(5);
-
-var _l10n_utils = __webpack_require__(31);
-
-class AnnotationEditorLayerBuilder {
- #uiManager;
-
- constructor(options) {
- this.pageDiv = options.pageDiv;
- this.pdfPage = options.pdfPage;
- this.annotationStorage = options.annotationStorage || null;
- this.accessibilityManager = options.accessibilityManager;
- this.l10n = options.l10n || _l10n_utils.NullL10n;
- this.annotationEditorLayer = null;
- this.div = null;
- this._cancelled = false;
- this.#uiManager = options.uiManager;
- }
-
- async render(viewport, intent = "display") {
- if (intent !== "display") {
- return;
- }
-
- if (this._cancelled) {
- return;
- }
-
- const clonedViewport = viewport.clone({
- dontFlip: true
- });
-
- if (this.div) {
- this.annotationEditorLayer.update({
- viewport: clonedViewport
- });
- this.show();
- return;
- }
-
- this.div = document.createElement("div");
- this.div.className = "annotationEditorLayer";
- this.div.tabIndex = 0;
- this.pageDiv.append(this.div);
- this.annotationEditorLayer = new _pdfjsLib.AnnotationEditorLayer({
- uiManager: this.#uiManager,
- div: this.div,
- annotationStorage: this.annotationStorage,
- accessibilityManager: this.accessibilityManager,
- pageIndex: this.pdfPage._pageIndex,
- l10n: this.l10n,
- viewport: clonedViewport
- });
- const parameters = {
- viewport: clonedViewport,
- div: this.div,
- annotations: null,
- intent
- };
- this.annotationEditorLayer.render(parameters);
- }
-
- cancel() {
- this._cancelled = true;
- this.destroy();
- }
-
- hide() {
- if (!this.div) {
- return;
- }
-
- this.div.hidden = true;
- }
-
- show() {
- if (!this.div) {
- return;
- }
-
- this.div.hidden = false;
- }
-
- destroy() {
- if (!this.div) {
- return;
- }
-
- this.pageDiv = null;
- this.annotationEditorLayer.destroy();
- this.div.remove();
- }
-
-}
-
-exports.AnnotationEditorLayerBuilder = AnnotationEditorLayerBuilder;
-
-/***/ }),
-/* 31 */
-/***/ ((__unused_webpack_module, exports) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.NullL10n = void 0;
-exports.fixupLangCode = fixupLangCode;
-exports.getL10nFallback = getL10nFallback;
-const DEFAULT_L10N_STRINGS = {
- of_pages: "of {{pagesCount}}",
- page_of_pages: "({{pageNumber}} of {{pagesCount}})",
- document_properties_kb: "{{size_kb}} KB ({{size_b}} bytes)",
- document_properties_mb: "{{size_mb}} MB ({{size_b}} bytes)",
- document_properties_date_string: "{{date}}, {{time}}",
- document_properties_page_size_unit_inches: "in",
- document_properties_page_size_unit_millimeters: "mm",
- document_properties_page_size_orientation_portrait: "portrait",
- document_properties_page_size_orientation_landscape: "landscape",
- document_properties_page_size_name_a3: "A3",
- document_properties_page_size_name_a4: "A4",
- document_properties_page_size_name_letter: "Letter",
- document_properties_page_size_name_legal: "Legal",
- document_properties_page_size_dimension_string: "{{width}} × {{height}} {{unit}} ({{orientation}})",
- document_properties_page_size_dimension_name_string: "{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})",
- document_properties_linearized_yes: "Yes",
- document_properties_linearized_no: "No",
- print_progress_percent: "{{progress}}%",
- "toggle_sidebar.title": "Toggle Sidebar",
- "toggle_sidebar_notification2.title": "Toggle Sidebar (document contains outline/attachments/layers)",
- additional_layers: "Additional Layers",
- page_landmark: "Page {{page}}",
- thumb_page_title: "Page {{page}}",
- thumb_page_canvas: "Thumbnail of Page {{page}}",
- find_reached_top: "Reached top of document, continued from bottom",
- find_reached_bottom: "Reached end of document, continued from top",
- "find_match_count[one]": "{{current}} of {{total}} match",
- "find_match_count[other]": "{{current}} of {{total}} matches",
- "find_match_count_limit[one]": "More than {{limit}} match",
- "find_match_count_limit[other]": "More than {{limit}} matches",
- find_not_found: "Phrase not found",
- error_version_info: "PDF.js v{{version}} (build: {{build}})",
- error_message: "Message: {{message}}",
- error_stack: "Stack: {{stack}}",
- error_file: "File: {{file}}",
- error_line: "Line: {{line}}",
- rendering_error: "An error occurred while rendering the page.",
- page_scale_width: "Page Width",
- page_scale_fit: "Page Fit",
- page_scale_auto: "Automatic Zoom",
- page_scale_actual: "Actual Size",
- page_scale_percent: "{{scale}}%",
- loading: "Loading…",
- loading_error: "An error occurred while loading the PDF.",
- invalid_file_error: "Invalid or corrupted PDF file.",
- missing_file_error: "Missing PDF file.",
- unexpected_response_error: "Unexpected server response.",
- printing_not_supported: "Warning: Printing is not fully supported by this browser.",
- printing_not_ready: "Warning: The PDF is not fully loaded for printing.",
- web_fonts_disabled: "Web fonts are disabled: unable to use embedded PDF fonts.",
- free_text_default_content: "Enter text…",
- editor_free_text_aria_label: "FreeText Editor",
- editor_ink_aria_label: "Ink Editor",
- editor_ink_canvas_aria_label: "User-created image"
-};
-
-function getL10nFallback(key, args) {
- switch (key) {
- case "find_match_count":
- key = `find_match_count[${args.total === 1 ? "one" : "other"}]`;
- break;
-
- case "find_match_count_limit":
- key = `find_match_count_limit[${args.limit === 1 ? "one" : "other"}]`;
- break;
- }
-
- return DEFAULT_L10N_STRINGS[key] || "";
-}
-
-const PARTIAL_LANG_CODES = {
- en: "en-US",
- es: "es-ES",
- fy: "fy-NL",
- ga: "ga-IE",
- gu: "gu-IN",
- hi: "hi-IN",
- hy: "hy-AM",
- nb: "nb-NO",
- ne: "ne-NP",
- nn: "nn-NO",
- pa: "pa-IN",
- pt: "pt-PT",
- sv: "sv-SE",
- zh: "zh-CN"
-};
-
-function fixupLangCode(langCode) {
- return PARTIAL_LANG_CODES[langCode?.toLowerCase()] || langCode;
-}
-
-function formatL10nValue(text, args) {
- if (!args) {
- return text;
- }
-
- return text.replace(/\{\{\s*(\w+)\s*\}\}/g, (all, name) => {
- return name in args ? args[name] : "{{" + name + "}}";
- });
-}
-
-const NullL10n = {
- async getLanguage() {
- return "en-us";
- },
-
- async getDirection() {
- return "ltr";
- },
-
- async get(key, args = null, fallback = getL10nFallback(key, args)) {
- return formatL10nValue(fallback, args);
- },
-
- async translate(element) {}
-
-};
-exports.NullL10n = NullL10n;
-
-/***/ }),
-/* 32 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.AnnotationLayerBuilder = void 0;
-
-var _pdfjsLib = __webpack_require__(5);
-
-var _l10n_utils = __webpack_require__(31);
-
-class AnnotationLayerBuilder {
- constructor({
- pageDiv,
- pdfPage,
- linkService,
- downloadManager,
- annotationStorage = null,
- imageResourcesPath = "",
- renderForms = true,
- l10n = _l10n_utils.NullL10n,
- enableScripting = false,
- hasJSActionsPromise = null,
- fieldObjectsPromise = null,
- mouseState = null,
- annotationCanvasMap = null,
- accessibilityManager = null
- }) {
- this.pageDiv = pageDiv;
- this.pdfPage = pdfPage;
- this.linkService = linkService;
- this.downloadManager = downloadManager;
- this.imageResourcesPath = imageResourcesPath;
- this.renderForms = renderForms;
- this.l10n = l10n;
- this.annotationStorage = annotationStorage;
- this.enableScripting = enableScripting;
- this._hasJSActionsPromise = hasJSActionsPromise;
- this._fieldObjectsPromise = fieldObjectsPromise;
- this._mouseState = mouseState;
- this._annotationCanvasMap = annotationCanvasMap;
- this._accessibilityManager = accessibilityManager;
- this.div = null;
- this._cancelled = false;
- }
-
- async render(viewport, intent = "display") {
- const [annotations, hasJSActions = false, fieldObjects = null] = await Promise.all([this.pdfPage.getAnnotations({
- intent
- }), this._hasJSActionsPromise, this._fieldObjectsPromise]);
-
- if (this._cancelled || annotations.length === 0) {
- return;
- }
-
- const parameters = {
- viewport: viewport.clone({
- dontFlip: true
- }),
- div: this.div,
- annotations,
- page: this.pdfPage,
- imageResourcesPath: this.imageResourcesPath,
- renderForms: this.renderForms,
- linkService: this.linkService,
- downloadManager: this.downloadManager,
- annotationStorage: this.annotationStorage,
- enableScripting: this.enableScripting,
- hasJSActions,
- fieldObjects,
- mouseState: this._mouseState,
- annotationCanvasMap: this._annotationCanvasMap,
- accessibilityManager: this._accessibilityManager
- };
-
- if (this.div) {
- _pdfjsLib.AnnotationLayer.update(parameters);
- } else {
- this.div = document.createElement("div");
- this.div.className = "annotationLayer";
- this.pageDiv.append(this.div);
- parameters.div = this.div;
-
- _pdfjsLib.AnnotationLayer.render(parameters);
-
- this.l10n.translate(this.div);
- }
- }
-
- cancel() {
- this._cancelled = true;
- }
-
- hide() {
- if (!this.div) {
- return;
- }
-
- this.div.hidden = true;
- }
-
-}
-
-exports.AnnotationLayerBuilder = AnnotationLayerBuilder;
-
-/***/ }),
-/* 33 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFPageView = void 0;
-
-var _pdfjsLib = __webpack_require__(5);
-
-var _ui_utils = __webpack_require__(1);
-
-var _app_options = __webpack_require__(2);
-
-var _l10n_utils = __webpack_require__(31);
-
-var _text_accessibility = __webpack_require__(34);
-
-const MAX_CANVAS_PIXELS = _app_options.compatibilityParams.maxCanvasPixels || 16777216;
-
-class PDFPageView {
- #annotationMode = _pdfjsLib.AnnotationMode.ENABLE_FORMS;
- #useThumbnailCanvas = {
- initialOptionalContent: true,
- regularAnnotations: true
- };
-
- constructor(options) {
- const container = options.container;
- const defaultViewport = options.defaultViewport;
- this.id = options.id;
- this.renderingId = "page" + this.id;
- this.pdfPage = null;
- this.pageLabel = null;
- this.rotation = 0;
- this.scale = options.scale || _ui_utils.DEFAULT_SCALE;
- this.viewport = defaultViewport;
- this.pdfPageRotate = defaultViewport.rotation;
- this._optionalContentConfigPromise = options.optionalContentConfigPromise || null;
- this.hasRestrictedScaling = false;
- this.textLayerMode = options.textLayerMode ?? _ui_utils.TextLayerMode.ENABLE;
- this.#annotationMode = options.annotationMode ?? _pdfjsLib.AnnotationMode.ENABLE_FORMS;
- this.imageResourcesPath = options.imageResourcesPath || "";
- this.useOnlyCssZoom = options.useOnlyCssZoom || false;
- this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;
- this.pageColors = options.pageColors || null;
- this.eventBus = options.eventBus;
- this.renderingQueue = options.renderingQueue;
- this.textLayerFactory = options.textLayerFactory;
- this.annotationLayerFactory = options.annotationLayerFactory;
- this.annotationEditorLayerFactory = options.annotationEditorLayerFactory;
- this.xfaLayerFactory = options.xfaLayerFactory;
- this.textHighlighter = options.textHighlighterFactory?.createTextHighlighter({
- pageIndex: this.id - 1,
- eventBus: this.eventBus
- });
- this.structTreeLayerFactory = options.structTreeLayerFactory;
- this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;
- this.l10n = options.l10n || _l10n_utils.NullL10n;
- this.paintTask = null;
- this.paintedViewportMap = new WeakMap();
- this.renderingState = _ui_utils.RenderingStates.INITIAL;
- this.resume = null;
- this._renderError = null;
- this._isStandalone = !this.renderingQueue?.hasViewer();
- this._annotationCanvasMap = null;
- this.annotationLayer = null;
- this.annotationEditorLayer = null;
- this.textLayer = null;
- this.zoomLayer = null;
- this.xfaLayer = null;
- this.structTreeLayer = null;
- const div = document.createElement("div");
- div.className = "page";
- div.style.width = Math.floor(this.viewport.width) + "px";
- div.style.height = Math.floor(this.viewport.height) + "px";
- div.setAttribute("data-page-number", this.id);
- div.setAttribute("role", "region");
- this.l10n.get("page_landmark", {
- page: this.id
- }).then(msg => {
- div.setAttribute("aria-label", msg);
- });
- this.div = div;
- container?.append(div);
-
- if (this._isStandalone) {
- const {
- optionalContentConfigPromise
- } = options;
-
- if (optionalContentConfigPromise) {
- optionalContentConfigPromise.then(optionalContentConfig => {
- if (optionalContentConfigPromise !== this._optionalContentConfigPromise) {
- return;
- }
-
- this.#useThumbnailCanvas.initialOptionalContent = optionalContentConfig.hasInitialVisibility;
- });
- }
- }
- }
-
- setPdfPage(pdfPage) {
- this.pdfPage = pdfPage;
- this.pdfPageRotate = pdfPage.rotate;
- const totalRotation = (this.rotation + this.pdfPageRotate) % 360;
- this.viewport = pdfPage.getViewport({
- scale: this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS,
- rotation: totalRotation
- });
- this.reset();
- }
-
- destroy() {
- this.reset();
-
- if (this.pdfPage) {
- this.pdfPage.cleanup();
- }
- }
-
- async _renderAnnotationLayer() {
- let error = null;
-
- try {
- await this.annotationLayer.render(this.viewport, "display");
- } catch (ex) {
- console.error(`_renderAnnotationLayer: "${ex}".`);
- error = ex;
- } finally {
- this.eventBus.dispatch("annotationlayerrendered", {
- source: this,
- pageNumber: this.id,
- error
- });
- }
- }
-
- async _renderAnnotationEditorLayer() {
- let error = null;
-
- try {
- await this.annotationEditorLayer.render(this.viewport, "display");
- } catch (ex) {
- console.error(`_renderAnnotationEditorLayer: "${ex}".`);
- error = ex;
- } finally {
- this.eventBus.dispatch("annotationeditorlayerrendered", {
- source: this,
- pageNumber: this.id,
- error
- });
- }
- }
-
- async _renderXfaLayer() {
- let error = null;
-
- try {
- const result = await this.xfaLayer.render(this.viewport, "display");
-
- if (this.textHighlighter) {
- this._buildXfaTextContentItems(result.textDivs);
- }
- } catch (ex) {
- console.error(`_renderXfaLayer: "${ex}".`);
- error = ex;
- } finally {
- this.eventBus.dispatch("xfalayerrendered", {
- source: this,
- pageNumber: this.id,
- error
- });
- }
- }
-
- async _buildXfaTextContentItems(textDivs) {
- const text = await this.pdfPage.getTextContent();
- const items = [];
-
- for (const item of text.items) {
- items.push(item.str);
- }
-
- this.textHighlighter.setTextMapping(textDivs, items);
- this.textHighlighter.enable();
- }
-
- _resetZoomLayer(removeFromDOM = false) {
- if (!this.zoomLayer) {
- return;
- }
-
- const zoomLayerCanvas = this.zoomLayer.firstChild;
- this.paintedViewportMap.delete(zoomLayerCanvas);
- zoomLayerCanvas.width = 0;
- zoomLayerCanvas.height = 0;
-
- if (removeFromDOM) {
- this.zoomLayer.remove();
- }
-
- this.zoomLayer = null;
- }
-
- reset({
- keepZoomLayer = false,
- keepAnnotationLayer = false,
- keepAnnotationEditorLayer = false,
- keepXfaLayer = false
- } = {}) {
- this.cancelRendering({
- keepAnnotationLayer,
- keepAnnotationEditorLayer,
- keepXfaLayer
- });
- this.renderingState = _ui_utils.RenderingStates.INITIAL;
- const div = this.div;
- div.style.width = Math.floor(this.viewport.width) + "px";
- div.style.height = Math.floor(this.viewport.height) + "px";
- const childNodes = div.childNodes,
- zoomLayerNode = keepZoomLayer && this.zoomLayer || null,
- annotationLayerNode = keepAnnotationLayer && this.annotationLayer?.div || null,
- annotationEditorLayerNode = keepAnnotationEditorLayer && this.annotationEditorLayer?.div || null,
- xfaLayerNode = keepXfaLayer && this.xfaLayer?.div || null;
-
- for (let i = childNodes.length - 1; i >= 0; i--) {
- const node = childNodes[i];
-
- switch (node) {
- case zoomLayerNode:
- case annotationLayerNode:
- case annotationEditorLayerNode:
- case xfaLayerNode:
- continue;
- }
-
- node.remove();
- }
-
- div.removeAttribute("data-loaded");
-
- if (annotationLayerNode) {
- this.annotationLayer.hide();
- }
-
- if (annotationEditorLayerNode) {
- this.annotationEditorLayer.hide();
- } else {
- this.annotationEditorLayer?.destroy();
- }
-
- if (xfaLayerNode) {
- this.xfaLayer.hide();
- }
-
- if (!zoomLayerNode) {
- if (this.canvas) {
- this.paintedViewportMap.delete(this.canvas);
- this.canvas.width = 0;
- this.canvas.height = 0;
- delete this.canvas;
- }
-
- this._resetZoomLayer();
- }
-
- if (this.svg) {
- this.paintedViewportMap.delete(this.svg);
- delete this.svg;
- }
-
- this.loadingIconDiv = document.createElement("div");
- this.loadingIconDiv.className = "loadingIcon notVisible";
-
- if (this._isStandalone) {
- this.toggleLoadingIconSpinner(true);
- }
-
- this.loadingIconDiv.setAttribute("role", "img");
- this.l10n.get("loading").then(msg => {
- this.loadingIconDiv?.setAttribute("aria-label", msg);
- });
- div.append(this.loadingIconDiv);
- }
-
- update({
- scale = 0,
- rotation = null,
- optionalContentConfigPromise = null
- }) {
- this.scale = scale || this.scale;
-
- if (typeof rotation === "number") {
- this.rotation = rotation;
- }
-
- if (optionalContentConfigPromise instanceof Promise) {
- this._optionalContentConfigPromise = optionalContentConfigPromise;
- optionalContentConfigPromise.then(optionalContentConfig => {
- if (optionalContentConfigPromise !== this._optionalContentConfigPromise) {
- return;
- }
-
- this.#useThumbnailCanvas.initialOptionalContent = optionalContentConfig.hasInitialVisibility;
- });
- }
-
- const totalRotation = (this.rotation + this.pdfPageRotate) % 360;
- this.viewport = this.viewport.clone({
- scale: this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS,
- rotation: totalRotation
- });
-
- if (this._isStandalone) {
- _ui_utils.docStyle.setProperty("--scale-factor", this.viewport.scale);
- }
-
- if (this.svg) {
- this.cssTransform({
- target: this.svg,
- redrawAnnotationLayer: true,
- redrawAnnotationEditorLayer: true,
- redrawXfaLayer: true
- });
- this.eventBus.dispatch("pagerendered", {
- source: this,
- pageNumber: this.id,
- cssTransform: true,
- timestamp: performance.now(),
- error: this._renderError
- });
- return;
- }
-
- let isScalingRestricted = false;
-
- if (this.canvas && this.maxCanvasPixels > 0) {
- const outputScale = this.outputScale;
-
- if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) {
- isScalingRestricted = true;
- }
- }
-
- if (this.canvas) {
- if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) {
- this.cssTransform({
- target: this.canvas,
- redrawAnnotationLayer: true,
- redrawAnnotationEditorLayer: true,
- redrawXfaLayer: true
- });
- this.eventBus.dispatch("pagerendered", {
- source: this,
- pageNumber: this.id,
- cssTransform: true,
- timestamp: performance.now(),
- error: this._renderError
- });
- return;
- }
-
- if (!this.zoomLayer && !this.canvas.hidden) {
- this.zoomLayer = this.canvas.parentNode;
- this.zoomLayer.style.position = "absolute";
- }
- }
-
- if (this.zoomLayer) {
- this.cssTransform({
- target: this.zoomLayer.firstChild
- });
- }
-
- this.reset({
- keepZoomLayer: true,
- keepAnnotationLayer: true,
- keepAnnotationEditorLayer: true,
- keepXfaLayer: true
- });
- }
-
- cancelRendering({
- keepAnnotationLayer = false,
- keepAnnotationEditorLayer = false,
- keepXfaLayer = false
- } = {}) {
- if (this.paintTask) {
- this.paintTask.cancel();
- this.paintTask = null;
- }
-
- this.resume = null;
-
- if (this.textLayer) {
- this.textLayer.cancel();
- this.textLayer = null;
- }
-
- if (this.annotationLayer && (!keepAnnotationLayer || !this.annotationLayer.div)) {
- this.annotationLayer.cancel();
- this.annotationLayer = null;
- this._annotationCanvasMap = null;
- }
-
- if (this.annotationEditorLayer && (!keepAnnotationEditorLayer || !this.annotationEditorLayer.div)) {
- this.annotationEditorLayer.cancel();
- this.annotationEditorLayer = null;
- }
-
- if (this.xfaLayer && (!keepXfaLayer || !this.xfaLayer.div)) {
- this.xfaLayer.cancel();
- this.xfaLayer = null;
- this.textHighlighter?.disable();
- }
-
- if (this._onTextLayerRendered) {
- this.eventBus._off("textlayerrendered", this._onTextLayerRendered);
-
- this._onTextLayerRendered = null;
- }
- }
-
- cssTransform({
- target,
- redrawAnnotationLayer = false,
- redrawAnnotationEditorLayer = false,
- redrawXfaLayer = false
- }) {
- const width = this.viewport.width;
- const height = this.viewport.height;
- const div = this.div;
- target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + "px";
- target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + "px";
- const relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;
- const absRotation = Math.abs(relativeRotation);
- let scaleX = 1,
- scaleY = 1;
-
- if (absRotation === 90 || absRotation === 270) {
- scaleX = height / width;
- scaleY = width / height;
- }
-
- target.style.transform = `rotate(${relativeRotation}deg) scale(${scaleX}, ${scaleY})`;
-
- if (this.textLayer) {
- const textLayerViewport = this.textLayer.viewport;
- const textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;
- const textAbsRotation = Math.abs(textRelativeRotation);
- let scale = width / textLayerViewport.width;
-
- if (textAbsRotation === 90 || textAbsRotation === 270) {
- scale = width / textLayerViewport.height;
- }
-
- const textLayerDiv = this.textLayer.textLayerDiv;
- let transX, transY;
-
- switch (textAbsRotation) {
- case 0:
- transX = transY = 0;
- break;
-
- case 90:
- transX = 0;
- transY = "-" + textLayerDiv.style.height;
- break;
-
- case 180:
- transX = "-" + textLayerDiv.style.width;
- transY = "-" + textLayerDiv.style.height;
- break;
-
- case 270:
- transX = "-" + textLayerDiv.style.width;
- transY = 0;
- break;
-
- default:
- console.error("Bad rotation value.");
- break;
- }
-
- textLayerDiv.style.transform = `rotate(${textAbsRotation}deg) ` + `scale(${scale}) ` + `translate(${transX}, ${transY})`;
- textLayerDiv.style.transformOrigin = "0% 0%";
- }
-
- if (redrawAnnotationLayer && this.annotationLayer) {
- this._renderAnnotationLayer();
- }
-
- if (redrawAnnotationEditorLayer && this.annotationEditorLayer) {
- this._renderAnnotationEditorLayer();
- }
-
- if (redrawXfaLayer && this.xfaLayer) {
- this._renderXfaLayer();
- }
- }
-
- get width() {
- return this.viewport.width;
- }
-
- get height() {
- return this.viewport.height;
- }
-
- getPagePoint(x, y) {
- return this.viewport.convertToPdfPoint(x, y);
- }
-
- toggleLoadingIconSpinner(viewVisible = false) {
- this.loadingIconDiv?.classList.toggle("notVisible", !viewVisible);
- }
-
- draw() {
- if (this.renderingState !== _ui_utils.RenderingStates.INITIAL) {
- console.error("Must be in new state before drawing");
- this.reset();
- }
-
- const {
- div,
- pdfPage
- } = this;
-
- if (!pdfPage) {
- this.renderingState = _ui_utils.RenderingStates.FINISHED;
-
- if (this.loadingIconDiv) {
- this.loadingIconDiv.remove();
- delete this.loadingIconDiv;
- }
-
- return Promise.reject(new Error("pdfPage is not loaded"));
- }
-
- this.renderingState = _ui_utils.RenderingStates.RUNNING;
- const canvasWrapper = document.createElement("div");
- canvasWrapper.style.width = div.style.width;
- canvasWrapper.style.height = div.style.height;
- canvasWrapper.classList.add("canvasWrapper");
- const lastDivBeforeTextDiv = this.annotationLayer?.div || this.annotationEditorLayer?.div;
-
- if (lastDivBeforeTextDiv) {
- lastDivBeforeTextDiv.before(canvasWrapper);
- } else {
- div.append(canvasWrapper);
- }
-
- let textLayer = null;
-
- if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) {
- this._accessibilityManager ||= new _text_accessibility.TextAccessibilityManager();
- const textLayerDiv = document.createElement("div");
- textLayerDiv.className = "textLayer";
- textLayerDiv.style.width = canvasWrapper.style.width;
- textLayerDiv.style.height = canvasWrapper.style.height;
-
- if (lastDivBeforeTextDiv) {
- lastDivBeforeTextDiv.before(textLayerDiv);
- } else {
- div.append(textLayerDiv);
- }
-
- textLayer = this.textLayerFactory.createTextLayerBuilder({
- textLayerDiv,
- pageIndex: this.id - 1,
- viewport: this.viewport,
- enhanceTextSelection: this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE,
- eventBus: this.eventBus,
- highlighter: this.textHighlighter,
- accessibilityManager: this._accessibilityManager
- });
- }
-
- this.textLayer = textLayer;
-
- if (this.#annotationMode !== _pdfjsLib.AnnotationMode.DISABLE && this.annotationLayerFactory) {
- this._annotationCanvasMap ||= new Map();
- this.annotationLayer ||= this.annotationLayerFactory.createAnnotationLayerBuilder({
- pageDiv: div,
- pdfPage,
- imageResourcesPath: this.imageResourcesPath,
- renderForms: this.#annotationMode === _pdfjsLib.AnnotationMode.ENABLE_FORMS,
- l10n: this.l10n,
- annotationCanvasMap: this._annotationCanvasMap,
- accessibilityManager: this._accessibilityManager
- });
- }
-
- if (this.xfaLayer?.div) {
- div.append(this.xfaLayer.div);
- }
-
- let renderContinueCallback = null;
-
- if (this.renderingQueue) {
- renderContinueCallback = cont => {
- if (!this.renderingQueue.isHighestPriority(this)) {
- this.renderingState = _ui_utils.RenderingStates.PAUSED;
-
- this.resume = () => {
- this.renderingState = _ui_utils.RenderingStates.RUNNING;
- cont();
- };
-
- return;
- }
-
- cont();
- };
- }
-
- const finishPaintTask = async (error = null) => {
- if (paintTask === this.paintTask) {
- this.paintTask = null;
- }
-
- if (error instanceof _pdfjsLib.RenderingCancelledException) {
- this._renderError = null;
- return;
- }
-
- this._renderError = error;
- this.renderingState = _ui_utils.RenderingStates.FINISHED;
-
- if (this.loadingIconDiv) {
- this.loadingIconDiv.remove();
- delete this.loadingIconDiv;
- }
-
- this._resetZoomLayer(true);
-
- this.#useThumbnailCanvas.regularAnnotations = !paintTask.separateAnnots;
- this.eventBus.dispatch("pagerendered", {
- source: this,
- pageNumber: this.id,
- cssTransform: false,
- timestamp: performance.now(),
- error: this._renderError
- });
-
- if (error) {
- throw error;
- }
- };
-
- const paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);
- paintTask.onRenderContinue = renderContinueCallback;
- this.paintTask = paintTask;
- const resultPromise = paintTask.promise.then(() => {
- return finishPaintTask(null).then(() => {
- if (textLayer) {
- const readableStream = pdfPage.streamTextContent({
- includeMarkedContent: true
- });
- textLayer.setTextContentStream(readableStream);
- textLayer.render();
- }
-
- if (this.annotationLayer) {
- this._renderAnnotationLayer().then(() => {
- if (this.annotationEditorLayerFactory) {
- this.annotationEditorLayer ||= this.annotationEditorLayerFactory.createAnnotationEditorLayerBuilder({
- pageDiv: div,
- pdfPage,
- l10n: this.l10n,
- accessibilityManager: this._accessibilityManager
- });
-
- this._renderAnnotationEditorLayer();
- }
- });
- }
- });
- }, function (reason) {
- return finishPaintTask(reason);
- });
-
- if (this.xfaLayerFactory) {
- this.xfaLayer ||= this.xfaLayerFactory.createXfaLayerBuilder({
- pageDiv: div,
- pdfPage
- });
-
- this._renderXfaLayer();
- }
-
- if (this.structTreeLayerFactory && this.textLayer && this.canvas) {
- this._onTextLayerRendered = event => {
- if (event.pageNumber !== this.id) {
- return;
- }
-
- this.eventBus._off("textlayerrendered", this._onTextLayerRendered);
-
- this._onTextLayerRendered = null;
-
- if (!this.canvas) {
- return;
- }
-
- this.pdfPage.getStructTree().then(tree => {
- if (!tree) {
- return;
- }
-
- if (!this.canvas) {
- return;
- }
-
- const treeDom = this.structTreeLayer.render(tree);
- treeDom.classList.add("structTree");
- this.canvas.append(treeDom);
- });
- };
-
- this.eventBus._on("textlayerrendered", this._onTextLayerRendered);
-
- this.structTreeLayer = this.structTreeLayerFactory.createStructTreeLayerBuilder({
- pdfPage
- });
- }
-
- div.setAttribute("data-loaded", true);
- this.eventBus.dispatch("pagerender", {
- source: this,
- pageNumber: this.id
- });
- return resultPromise;
- }
-
- paintOnCanvas(canvasWrapper) {
- const renderCapability = (0, _pdfjsLib.createPromiseCapability)();
- const result = {
- promise: renderCapability.promise,
-
- onRenderContinue(cont) {
- cont();
- },
-
- cancel() {
- renderTask.cancel();
- },
-
- get separateAnnots() {
- return renderTask.separateAnnots;
- }
-
- };
- const viewport = this.viewport;
- const canvas = document.createElement("canvas");
- canvas.setAttribute("role", "presentation");
- canvas.hidden = true;
- let isCanvasHidden = true;
-
- const showCanvas = function () {
- if (isCanvasHidden) {
- canvas.hidden = false;
- isCanvasHidden = false;
- }
- };
-
- canvasWrapper.append(canvas);
- this.canvas = canvas;
- const ctx = canvas.getContext("2d", {
- alpha: false
- });
- const outputScale = this.outputScale = new _ui_utils.OutputScale();
-
- if (this.useOnlyCssZoom) {
- const actualSizeViewport = viewport.clone({
- scale: _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS
- });
- outputScale.sx *= actualSizeViewport.width / viewport.width;
- outputScale.sy *= actualSizeViewport.height / viewport.height;
- }
-
- if (this.maxCanvasPixels > 0) {
- const pixelsInViewport = viewport.width * viewport.height;
- const maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);
-
- if (outputScale.sx > maxScale || outputScale.sy > maxScale) {
- outputScale.sx = maxScale;
- outputScale.sy = maxScale;
- this.hasRestrictedScaling = true;
- } else {
- this.hasRestrictedScaling = false;
- }
- }
-
- const sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);
- const sfy = (0, _ui_utils.approximateFraction)(outputScale.sy);
- canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]);
- canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]);
- canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + "px";
- canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + "px";
- this.paintedViewportMap.set(canvas, viewport);
- const transform = outputScale.scaled ? [outputScale.sx, 0, 0, outputScale.sy, 0, 0] : null;
- const renderContext = {
- canvasContext: ctx,
- transform,
- viewport: this.viewport,
- annotationMode: this.#annotationMode,
- optionalContentConfigPromise: this._optionalContentConfigPromise,
- annotationCanvasMap: this._annotationCanvasMap,
- pageColors: this.pageColors
- };
- const renderTask = this.pdfPage.render(renderContext);
-
- renderTask.onContinue = function (cont) {
- showCanvas();
-
- if (result.onRenderContinue) {
- result.onRenderContinue(cont);
- } else {
- cont();
- }
- };
-
- renderTask.promise.then(function () {
- showCanvas();
- renderCapability.resolve();
- }, function (error) {
- showCanvas();
- renderCapability.reject(error);
- });
- return result;
- }
-
- paintOnSvg(wrapper) {
- let cancelled = false;
-
- const ensureNotCancelled = () => {
- if (cancelled) {
- throw new _pdfjsLib.RenderingCancelledException(`Rendering cancelled, page ${this.id}`, "svg");
- }
- };
-
- const pdfPage = this.pdfPage;
- const actualSizeViewport = this.viewport.clone({
- scale: _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS
- });
- const promise = pdfPage.getOperatorList({
- annotationMode: this.#annotationMode
- }).then(opList => {
- ensureNotCancelled();
- const svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs);
- return svgGfx.getSVG(opList, actualSizeViewport).then(svg => {
- ensureNotCancelled();
- this.svg = svg;
- this.paintedViewportMap.set(svg, actualSizeViewport);
- svg.style.width = wrapper.style.width;
- svg.style.height = wrapper.style.height;
- this.renderingState = _ui_utils.RenderingStates.FINISHED;
- wrapper.append(svg);
- });
- });
- return {
- promise,
-
- onRenderContinue(cont) {
- cont();
- },
-
- cancel() {
- cancelled = true;
- },
-
- get separateAnnots() {
- return false;
- }
-
- };
- }
-
- setPageLabel(label) {
- this.pageLabel = typeof label === "string" ? label : null;
-
- if (this.pageLabel !== null) {
- this.div.setAttribute("data-page-label", this.pageLabel);
- } else {
- this.div.removeAttribute("data-page-label");
- }
- }
-
- get thumbnailCanvas() {
- const {
- initialOptionalContent,
- regularAnnotations
- } = this.#useThumbnailCanvas;
- return initialOptionalContent && regularAnnotations ? this.canvas : null;
- }
-
-}
-
-exports.PDFPageView = PDFPageView;
-
-/***/ }),
-/* 34 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.TextAccessibilityManager = void 0;
-
-var _ui_utils = __webpack_require__(1);
-
-class TextAccessibilityManager {
- #enabled = false;
- #textChildren = null;
- #textNodes = new Map();
- #waitingElements = new Map();
-
- setTextMapping(textDivs) {
- this.#textChildren = textDivs;
- }
-
- static #compareElementPositions(e1, e2) {
- const rect1 = e1.getBoundingClientRect();
- const rect2 = e2.getBoundingClientRect();
-
- if (rect1.width === 0 && rect1.height === 0) {
- return +1;
- }
-
- if (rect2.width === 0 && rect2.height === 0) {
- return -1;
- }
-
- const top1 = rect1.y;
- const bot1 = rect1.y + rect1.height;
- const mid1 = rect1.y + rect1.height / 2;
- const top2 = rect2.y;
- const bot2 = rect2.y + rect2.height;
- const mid2 = rect2.y + rect2.height / 2;
-
- if (mid1 <= top2 && mid2 >= bot1) {
- return -1;
- }
-
- if (mid2 <= top1 && mid1 >= bot2) {
- return +1;
- }
-
- const centerX1 = rect1.x + rect1.width / 2;
- const centerX2 = rect2.x + rect2.width / 2;
- return centerX1 - centerX2;
- }
-
- enable() {
- if (this.#enabled) {
- throw new Error("TextAccessibilityManager is already enabled.");
- }
-
- if (!this.#textChildren) {
- throw new Error("Text divs and strings have not been set.");
- }
-
- this.#enabled = true;
- this.#textChildren = this.#textChildren.slice();
- this.#textChildren.sort(TextAccessibilityManager.#compareElementPositions);
-
- if (this.#textNodes.size > 0) {
- const textChildren = this.#textChildren;
-
- for (const [id, nodeIndex] of this.#textNodes) {
- const element = document.getElementById(id);
-
- if (!element) {
- this.#textNodes.delete(id);
- continue;
- }
-
- this.#addIdToAriaOwns(id, textChildren[nodeIndex]);
- }
- }
-
- for (const [element, isRemovable] of this.#waitingElements) {
- this.addPointerInTextLayer(element, isRemovable);
- }
-
- this.#waitingElements.clear();
- }
-
- disable() {
- if (!this.#enabled) {
- return;
- }
-
- this.#waitingElements.clear();
- this.#textChildren = null;
- this.#enabled = false;
- }
-
- removePointerInTextLayer(element) {
- if (!this.#enabled) {
- this.#waitingElements.delete(element);
- return;
- }
-
- const children = this.#textChildren;
-
- if (!children || children.length === 0) {
- return;
- }
-
- const {
- id
- } = element;
- const nodeIndex = this.#textNodes.get(id);
-
- if (nodeIndex === undefined) {
- return;
- }
-
- const node = children[nodeIndex];
- this.#textNodes.delete(id);
- let owns = node.getAttribute("aria-owns");
-
- if (owns?.includes(id)) {
- owns = owns.split(" ").filter(x => x !== id).join(" ");
-
- if (owns) {
- node.setAttribute("aria-owns", owns);
- } else {
- node.removeAttribute("aria-owns");
- node.setAttribute("role", "presentation");
- }
- }
- }
-
- #addIdToAriaOwns(id, node) {
- const owns = node.getAttribute("aria-owns");
-
- if (!owns?.includes(id)) {
- node.setAttribute("aria-owns", owns ? `${owns} ${id}` : id);
- }
-
- node.removeAttribute("role");
- }
-
- addPointerInTextLayer(element, isRemovable) {
- const {
- id
- } = element;
-
- if (!id) {
- return;
- }
-
- if (!this.#enabled) {
- this.#waitingElements.set(element, isRemovable);
- return;
- }
-
- if (isRemovable) {
- this.removePointerInTextLayer(element);
- }
-
- const children = this.#textChildren;
-
- if (!children || children.length === 0) {
- return;
- }
-
- const index = (0, _ui_utils.binarySearchFirstItem)(children, node => TextAccessibilityManager.#compareElementPositions(element, node) < 0);
- const nodeIndex = Math.max(0, index - 1);
- this.#addIdToAriaOwns(id, children[nodeIndex]);
- this.#textNodes.set(id, nodeIndex);
- }
-
- moveElementInDOM(container, element, contentElement, isRemovable) {
- this.addPointerInTextLayer(contentElement, isRemovable);
-
- if (!container.hasChildNodes()) {
- container.append(element);
- return;
- }
-
- const children = Array.from(container.childNodes).filter(node => node !== element);
-
- if (children.length === 0) {
- return;
- }
-
- const elementToCompare = contentElement || element;
- const index = (0, _ui_utils.binarySearchFirstItem)(children, node => TextAccessibilityManager.#compareElementPositions(elementToCompare, node) < 0);
-
- if (index === 0) {
- children[0].before(element);
- } else {
- children[index - 1].after(element);
- }
- }
-
-}
-
-exports.TextAccessibilityManager = TextAccessibilityManager;
-
-/***/ }),
-/* 35 */
-/***/ ((__unused_webpack_module, exports) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.StructTreeLayerBuilder = void 0;
-const PDF_ROLE_TO_HTML_ROLE = {
- Document: null,
- DocumentFragment: null,
- Part: "group",
- Sect: "group",
- Div: "group",
- Aside: "note",
- NonStruct: "none",
- P: null,
- H: "heading",
- Title: null,
- FENote: "note",
- Sub: "group",
- Lbl: null,
- Span: null,
- Em: null,
- Strong: null,
- Link: "link",
- Annot: "note",
- Form: "form",
- Ruby: null,
- RB: null,
- RT: null,
- RP: null,
- Warichu: null,
- WT: null,
- WP: null,
- L: "list",
- LI: "listitem",
- LBody: null,
- Table: "table",
- TR: "row",
- TH: "columnheader",
- TD: "cell",
- THead: "columnheader",
- TBody: null,
- TFoot: null,
- Caption: null,
- Figure: "figure",
- Formula: null,
- Artifact: null
-};
-const HEADING_PATTERN = /^H(\d+)$/;
-
-class StructTreeLayerBuilder {
- constructor({
- pdfPage
- }) {
- this.pdfPage = pdfPage;
- }
-
- render(structTree) {
- return this._walk(structTree);
- }
-
- _setAttributes(structElement, htmlElement) {
- if (structElement.alt !== undefined) {
- htmlElement.setAttribute("aria-label", structElement.alt);
- }
-
- if (structElement.id !== undefined) {
- htmlElement.setAttribute("aria-owns", structElement.id);
- }
-
- if (structElement.lang !== undefined) {
- htmlElement.setAttribute("lang", structElement.lang);
- }
- }
-
- _walk(node) {
- if (!node) {
- return null;
- }
-
- const element = document.createElement("span");
-
- if ("role" in node) {
- const {
- role
- } = node;
- const match = role.match(HEADING_PATTERN);
-
- if (match) {
- element.setAttribute("role", "heading");
- element.setAttribute("aria-level", match[1]);
- } else if (PDF_ROLE_TO_HTML_ROLE[role]) {
- element.setAttribute("role", PDF_ROLE_TO_HTML_ROLE[role]);
- }
- }
-
- this._setAttributes(node, element);
-
- if (node.children) {
- if (node.children.length === 1 && "id" in node.children[0]) {
- this._setAttributes(node.children[0], element);
- } else {
- for (const kid of node.children) {
- element.append(this._walk(kid));
- }
- }
- }
-
- return element;
- }
-
-}
-
-exports.StructTreeLayerBuilder = StructTreeLayerBuilder;
-
-/***/ }),
-/* 36 */
-/***/ ((__unused_webpack_module, exports) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.TextHighlighter = void 0;
-
-class TextHighlighter {
- constructor({
- findController,
- eventBus,
- pageIndex
- }) {
- this.findController = findController;
- this.matches = [];
- this.eventBus = eventBus;
- this.pageIdx = pageIndex;
- this._onUpdateTextLayerMatches = null;
- this.textDivs = null;
- this.textContentItemsStr = null;
- this.enabled = false;
- }
-
- setTextMapping(divs, texts) {
- this.textDivs = divs;
- this.textContentItemsStr = texts;
- }
-
- enable() {
- if (!this.textDivs || !this.textContentItemsStr) {
- throw new Error("Text divs and strings have not been set.");
- }
-
- if (this.enabled) {
- throw new Error("TextHighlighter is already enabled.");
- }
-
- this.enabled = true;
-
- if (!this._onUpdateTextLayerMatches) {
- this._onUpdateTextLayerMatches = evt => {
- if (evt.pageIndex === this.pageIdx || evt.pageIndex === -1) {
- this._updateMatches();
- }
- };
-
- this.eventBus._on("updatetextlayermatches", this._onUpdateTextLayerMatches);
- }
-
- this._updateMatches();
- }
-
- disable() {
- if (!this.enabled) {
- return;
- }
-
- this.enabled = false;
-
- if (this._onUpdateTextLayerMatches) {
- this.eventBus._off("updatetextlayermatches", this._onUpdateTextLayerMatches);
-
- this._onUpdateTextLayerMatches = null;
- }
- }
-
- _convertMatches(matches, matchesLength) {
- if (!matches) {
- return [];
- }
-
- const {
- textContentItemsStr
- } = this;
- let i = 0,
- iIndex = 0;
- const end = textContentItemsStr.length - 1;
- const result = [];
-
- for (let m = 0, mm = matches.length; m < mm; m++) {
- let matchIdx = matches[m];
-
- while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {
- iIndex += textContentItemsStr[i].length;
- i++;
- }
-
- if (i === textContentItemsStr.length) {
- console.error("Could not find a matching mapping");
- }
-
- const match = {
- begin: {
- divIdx: i,
- offset: matchIdx - iIndex
- }
- };
- matchIdx += matchesLength[m];
-
- while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {
- iIndex += textContentItemsStr[i].length;
- i++;
- }
-
- match.end = {
- divIdx: i,
- offset: matchIdx - iIndex
- };
- result.push(match);
- }
-
- return result;
- }
-
- _renderMatches(matches) {
- if (matches.length === 0) {
- return;
- }
-
- const {
- findController,
- pageIdx
- } = this;
- const {
- textContentItemsStr,
- textDivs
- } = this;
- const isSelectedPage = pageIdx === findController.selected.pageIdx;
- const selectedMatchIdx = findController.selected.matchIdx;
- const highlightAll = findController.state.highlightAll;
- let prevEnd = null;
- const infinity = {
- divIdx: -1,
- offset: undefined
- };
-
- function beginText(begin, className) {
- const divIdx = begin.divIdx;
- textDivs[divIdx].textContent = "";
- return appendTextToDiv(divIdx, 0, begin.offset, className);
- }
-
- function appendTextToDiv(divIdx, fromOffset, toOffset, className) {
- let div = textDivs[divIdx];
-
- if (div.nodeType === Node.TEXT_NODE) {
- const span = document.createElement("span");
- div.before(span);
- span.append(div);
- textDivs[divIdx] = span;
- div = span;
- }
-
- const content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);
- const node = document.createTextNode(content);
-
- if (className) {
- const span = document.createElement("span");
- span.className = `${className} appended`;
- span.append(node);
- div.append(span);
- return className.includes("selected") ? span.offsetLeft : 0;
- }
-
- div.append(node);
- return 0;
- }
-
- let i0 = selectedMatchIdx,
- i1 = i0 + 1;
-
- if (highlightAll) {
- i0 = 0;
- i1 = matches.length;
- } else if (!isSelectedPage) {
- return;
- }
-
- for (let i = i0; i < i1; i++) {
- const match = matches[i];
- const begin = match.begin;
- const end = match.end;
- const isSelected = isSelectedPage && i === selectedMatchIdx;
- const highlightSuffix = isSelected ? " selected" : "";
- let selectedLeft = 0;
-
- if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {
- if (prevEnd !== null) {
- appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);
- }
-
- beginText(begin);
- } else {
- appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);
- }
-
- if (begin.divIdx === end.divIdx) {
- selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, end.offset, "highlight" + highlightSuffix);
- } else {
- selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, "highlight begin" + highlightSuffix);
-
- for (let n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {
- textDivs[n0].className = "highlight middle" + highlightSuffix;
- }
-
- beginText(end, "highlight end" + highlightSuffix);
- }
-
- prevEnd = end;
-
- if (isSelected) {
- findController.scrollMatchIntoView({
- element: textDivs[begin.divIdx],
- selectedLeft,
- pageIndex: pageIdx,
- matchIndex: selectedMatchIdx
- });
- }
- }
-
- if (prevEnd) {
- appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);
- }
- }
-
- _updateMatches() {
- if (!this.enabled) {
- return;
- }
-
- const {
- findController,
- matches,
- pageIdx
- } = this;
- const {
- textContentItemsStr,
- textDivs
- } = this;
- let clearedUntilDivIdx = -1;
-
- for (let i = 0, ii = matches.length; i < ii; i++) {
- const match = matches[i];
- const begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);
-
- for (let n = begin, end = match.end.divIdx; n <= end; n++) {
- const div = textDivs[n];
- div.textContent = textContentItemsStr[n];
- div.className = "";
- }
-
- clearedUntilDivIdx = match.end.divIdx + 1;
- }
-
- if (!findController?.highlightMatches) {
- return;
- }
-
- const pageMatches = findController.pageMatches[pageIdx] || null;
- const pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;
- this.matches = this._convertMatches(pageMatches, pageMatchesLength);
-
- this._renderMatches(this.matches);
- }
-
-}
-
-exports.TextHighlighter = TextHighlighter;
-
-/***/ }),
-/* 37 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.TextLayerBuilder = void 0;
-
-var _pdfjsLib = __webpack_require__(5);
-
-const EXPAND_DIVS_TIMEOUT = 300;
-
-class TextLayerBuilder {
- constructor({
- textLayerDiv,
- eventBus,
- pageIndex,
- viewport,
- highlighter = null,
- enhanceTextSelection = false,
- accessibilityManager = null
- }) {
- this.textLayerDiv = textLayerDiv;
- this.eventBus = eventBus;
- this.textContent = null;
- this.textContentItemsStr = [];
- this.textContentStream = null;
- this.renderingDone = false;
- this.pageNumber = pageIndex + 1;
- this.viewport = viewport;
- this.textDivs = [];
- this.textLayerRenderTask = null;
- this.highlighter = highlighter;
- this.enhanceTextSelection = enhanceTextSelection;
- this.accessibilityManager = accessibilityManager;
-
- this._bindMouse();
- }
-
- _finishRendering() {
- this.renderingDone = true;
-
- if (!this.enhanceTextSelection) {
- const endOfContent = document.createElement("div");
- endOfContent.className = "endOfContent";
- this.textLayerDiv.append(endOfContent);
- }
-
- this.eventBus.dispatch("textlayerrendered", {
- source: this,
- pageNumber: this.pageNumber,
- numTextDivs: this.textDivs.length
- });
- }
-
- render(timeout = 0) {
- if (!(this.textContent || this.textContentStream) || this.renderingDone) {
- return;
- }
-
- this.cancel();
- this.textDivs.length = 0;
- this.highlighter?.setTextMapping(this.textDivs, this.textContentItemsStr);
- this.accessibilityManager?.setTextMapping(this.textDivs);
- const textLayerFrag = document.createDocumentFragment();
- this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({
- textContent: this.textContent,
- textContentStream: this.textContentStream,
- container: textLayerFrag,
- viewport: this.viewport,
- textDivs: this.textDivs,
- textContentItemsStr: this.textContentItemsStr,
- timeout,
- enhanceTextSelection: this.enhanceTextSelection
- });
- this.textLayerRenderTask.promise.then(() => {
- this.textLayerDiv.append(textLayerFrag);
-
- this._finishRendering();
-
- this.highlighter?.enable();
- this.accessibilityManager?.enable();
- }, function (reason) {});
- }
-
- cancel() {
- if (this.textLayerRenderTask) {
- this.textLayerRenderTask.cancel();
- this.textLayerRenderTask = null;
- }
-
- this.highlighter?.disable();
- this.accessibilityManager?.disable();
- }
-
- setTextContentStream(readableStream) {
- this.cancel();
- this.textContentStream = readableStream;
- }
-
- setTextContent(textContent) {
- this.cancel();
- this.textContent = textContent;
- }
-
- _bindMouse() {
- const div = this.textLayerDiv;
- let expandDivsTimer = null;
- div.addEventListener("mousedown", evt => {
- if (this.enhanceTextSelection && this.textLayerRenderTask) {
- this.textLayerRenderTask.expandTextDivs(true);
-
- if (expandDivsTimer) {
- clearTimeout(expandDivsTimer);
- expandDivsTimer = null;
- }
-
- return;
- }
-
- const end = div.querySelector(".endOfContent");
-
- if (!end) {
- return;
- }
-
- let adjustTop = evt.target !== div;
- adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue("-moz-user-select") !== "none";
-
- if (adjustTop) {
- const divBounds = div.getBoundingClientRect();
- const r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);
- end.style.top = (r * 100).toFixed(2) + "%";
- }
-
- end.classList.add("active");
- });
- div.addEventListener("mouseup", () => {
- if (this.enhanceTextSelection && this.textLayerRenderTask) {
- expandDivsTimer = setTimeout(() => {
- if (this.textLayerRenderTask) {
- this.textLayerRenderTask.expandTextDivs(false);
- }
-
- expandDivsTimer = null;
- }, EXPAND_DIVS_TIMEOUT);
- return;
- }
-
- const end = div.querySelector(".endOfContent");
-
- if (!end) {
- return;
- }
-
- end.style.top = "";
- end.classList.remove("active");
- });
- }
-
-}
-
-exports.TextLayerBuilder = TextLayerBuilder;
-
-/***/ }),
-/* 38 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.XfaLayerBuilder = void 0;
-
-var _pdfjsLib = __webpack_require__(5);
-
-class XfaLayerBuilder {
- constructor({
- pageDiv,
- pdfPage,
- annotationStorage = null,
- linkService,
- xfaHtml = null
- }) {
- this.pageDiv = pageDiv;
- this.pdfPage = pdfPage;
- this.annotationStorage = annotationStorage;
- this.linkService = linkService;
- this.xfaHtml = xfaHtml;
- this.div = null;
- this._cancelled = false;
- }
-
- render(viewport, intent = "display") {
- if (intent === "print") {
- const parameters = {
- viewport: viewport.clone({
- dontFlip: true
- }),
- div: this.div,
- xfaHtml: this.xfaHtml,
- annotationStorage: this.annotationStorage,
- linkService: this.linkService,
- intent
- };
- const div = document.createElement("div");
- this.pageDiv.append(div);
- parameters.div = div;
-
- const result = _pdfjsLib.XfaLayer.render(parameters);
-
- return Promise.resolve(result);
- }
-
- return this.pdfPage.getXfa().then(xfaHtml => {
- if (this._cancelled || !xfaHtml) {
- return {
- textDivs: []
- };
- }
-
- const parameters = {
- viewport: viewport.clone({
- dontFlip: true
- }),
- div: this.div,
- xfaHtml,
- annotationStorage: this.annotationStorage,
- linkService: this.linkService,
- intent
- };
-
- if (this.div) {
- return _pdfjsLib.XfaLayer.update(parameters);
- }
-
- this.div = document.createElement("div");
- this.pageDiv.append(this.div);
- parameters.div = this.div;
- return _pdfjsLib.XfaLayer.render(parameters);
- }).catch(error => {
- console.error(error);
- });
- }
-
- cancel() {
- this._cancelled = true;
- }
-
- hide() {
- if (!this.div) {
- return;
- }
-
- this.div.hidden = true;
- }
-
-}
-
-exports.XfaLayerBuilder = XfaLayerBuilder;
-
-/***/ }),
-/* 39 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.SecondaryToolbar = void 0;
-
-var _ui_utils = __webpack_require__(1);
-
-var _pdf_cursor_tools = __webpack_require__(7);
-
-var _base_viewer = __webpack_require__(29);
-
-class SecondaryToolbar {
- constructor(options, eventBus) {
- this.toolbar = options.toolbar;
- this.toggleButton = options.toggleButton;
- this.buttons = [{
- element: options.presentationModeButton,
- eventName: "presentationmode",
- close: true
- }, {
- element: options.printButton,
- eventName: "print",
- close: true
- }, {
- element: options.downloadButton,
- eventName: "download",
- close: true
- }, {
- element: options.viewBookmarkButton,
- eventName: null,
- close: true
- }, {
- element: options.firstPageButton,
- eventName: "firstpage",
- close: true
- }, {
- element: options.lastPageButton,
- eventName: "lastpage",
- close: true
- }, {
- element: options.pageRotateCwButton,
- eventName: "rotatecw",
- close: false
- }, {
- element: options.pageRotateCcwButton,
- eventName: "rotateccw",
- close: false
- }, {
- element: options.cursorSelectToolButton,
- eventName: "switchcursortool",
- eventDetails: {
- tool: _pdf_cursor_tools.CursorTool.SELECT
- },
- close: true
- }, {
- element: options.cursorHandToolButton,
- eventName: "switchcursortool",
- eventDetails: {
- tool: _pdf_cursor_tools.CursorTool.HAND
- },
- close: true
- }, {
- element: options.scrollPageButton,
- eventName: "switchscrollmode",
- eventDetails: {
- mode: _ui_utils.ScrollMode.PAGE
- },
- close: true
- }, {
- element: options.scrollVerticalButton,
- eventName: "switchscrollmode",
- eventDetails: {
- mode: _ui_utils.ScrollMode.VERTICAL
- },
- close: true
- }, {
- element: options.scrollHorizontalButton,
- eventName: "switchscrollmode",
- eventDetails: {
- mode: _ui_utils.ScrollMode.HORIZONTAL
- },
- close: true
- }, {
- element: options.scrollWrappedButton,
- eventName: "switchscrollmode",
- eventDetails: {
- mode: _ui_utils.ScrollMode.WRAPPED
- },
- close: true
- }, {
- element: options.spreadNoneButton,
- eventName: "switchspreadmode",
- eventDetails: {
- mode: _ui_utils.SpreadMode.NONE
- },
- close: true
- }, {
- element: options.spreadOddButton,
- eventName: "switchspreadmode",
- eventDetails: {
- mode: _ui_utils.SpreadMode.ODD
- },
- close: true
- }, {
- element: options.spreadEvenButton,
- eventName: "switchspreadmode",
- eventDetails: {
- mode: _ui_utils.SpreadMode.EVEN
- },
- close: true
- }, {
- element: options.documentPropertiesButton,
- eventName: "documentproperties",
- close: true
- }];
- this.buttons.push({
- element: options.openFileButton,
- eventName: "openfile",
- close: true
- });
- this.items = {
- firstPage: options.firstPageButton,
- lastPage: options.lastPageButton,
- pageRotateCw: options.pageRotateCwButton,
- pageRotateCcw: options.pageRotateCcwButton
- };
- this.eventBus = eventBus;
- this.opened = false;
- this.#bindClickListeners();
- this.#bindCursorToolsListener(options);
- this.#bindScrollModeListener(options);
- this.#bindSpreadModeListener(options);
- this.reset();
- }
-
- get isOpen() {
- return this.opened;
- }
-
- setPageNumber(pageNumber) {
- this.pageNumber = pageNumber;
- this.#updateUIState();
- }
-
- setPagesCount(pagesCount) {
- this.pagesCount = pagesCount;
- this.#updateUIState();
- }
-
- reset() {
- this.pageNumber = 0;
- this.pagesCount = 0;
- this.#updateUIState();
- this.eventBus.dispatch("secondarytoolbarreset", {
- source: this
- });
- }
-
- #updateUIState() {
- this.items.firstPage.disabled = this.pageNumber <= 1;
- this.items.lastPage.disabled = this.pageNumber >= this.pagesCount;
- this.items.pageRotateCw.disabled = this.pagesCount === 0;
- this.items.pageRotateCcw.disabled = this.pagesCount === 0;
- }
-
- #bindClickListeners() {
- this.toggleButton.addEventListener("click", this.toggle.bind(this));
-
- for (const {
- element,
- eventName,
- close,
- eventDetails
- } of this.buttons) {
- element.addEventListener("click", evt => {
- if (eventName !== null) {
- const details = {
- source: this
- };
-
- for (const property in eventDetails) {
- details[property] = eventDetails[property];
- }
-
- this.eventBus.dispatch(eventName, details);
- }
-
- if (close) {
- this.close();
- }
- });
- }
- }
-
- #bindCursorToolsListener({
- cursorSelectToolButton,
- cursorHandToolButton
- }) {
- this.eventBus._on("cursortoolchanged", function ({
- tool
- }) {
- const isSelect = tool === _pdf_cursor_tools.CursorTool.SELECT,
- isHand = tool === _pdf_cursor_tools.CursorTool.HAND;
- cursorSelectToolButton.classList.toggle("toggled", isSelect);
- cursorHandToolButton.classList.toggle("toggled", isHand);
- cursorSelectToolButton.setAttribute("aria-checked", isSelect);
- cursorHandToolButton.setAttribute("aria-checked", isHand);
- });
- }
-
- #bindScrollModeListener({
- scrollPageButton,
- scrollVerticalButton,
- scrollHorizontalButton,
- scrollWrappedButton,
- spreadNoneButton,
- spreadOddButton,
- spreadEvenButton
- }) {
- const scrollModeChanged = ({
- mode
- }) => {
- const isPage = mode === _ui_utils.ScrollMode.PAGE,
- isVertical = mode === _ui_utils.ScrollMode.VERTICAL,
- isHorizontal = mode === _ui_utils.ScrollMode.HORIZONTAL,
- isWrapped = mode === _ui_utils.ScrollMode.WRAPPED;
- scrollPageButton.classList.toggle("toggled", isPage);
- scrollVerticalButton.classList.toggle("toggled", isVertical);
- scrollHorizontalButton.classList.toggle("toggled", isHorizontal);
- scrollWrappedButton.classList.toggle("toggled", isWrapped);
- scrollPageButton.setAttribute("aria-checked", isPage);
- scrollVerticalButton.setAttribute("aria-checked", isVertical);
- scrollHorizontalButton.setAttribute("aria-checked", isHorizontal);
- scrollWrappedButton.setAttribute("aria-checked", isWrapped);
- const forceScrollModePage = this.pagesCount > _base_viewer.PagesCountLimit.FORCE_SCROLL_MODE_PAGE;
- scrollPageButton.disabled = forceScrollModePage;
- scrollVerticalButton.disabled = forceScrollModePage;
- scrollHorizontalButton.disabled = forceScrollModePage;
- scrollWrappedButton.disabled = forceScrollModePage;
- spreadNoneButton.disabled = isHorizontal;
- spreadOddButton.disabled = isHorizontal;
- spreadEvenButton.disabled = isHorizontal;
- };
-
- this.eventBus._on("scrollmodechanged", scrollModeChanged);
-
- this.eventBus._on("secondarytoolbarreset", evt => {
- if (evt.source === this) {
- scrollModeChanged({
- mode: _ui_utils.ScrollMode.VERTICAL
- });
- }
- });
- }
-
- #bindSpreadModeListener({
- spreadNoneButton,
- spreadOddButton,
- spreadEvenButton
- }) {
- function spreadModeChanged({
- mode
- }) {
- const isNone = mode === _ui_utils.SpreadMode.NONE,
- isOdd = mode === _ui_utils.SpreadMode.ODD,
- isEven = mode === _ui_utils.SpreadMode.EVEN;
- spreadNoneButton.classList.toggle("toggled", isNone);
- spreadOddButton.classList.toggle("toggled", isOdd);
- spreadEvenButton.classList.toggle("toggled", isEven);
- spreadNoneButton.setAttribute("aria-checked", isNone);
- spreadOddButton.setAttribute("aria-checked", isOdd);
- spreadEvenButton.setAttribute("aria-checked", isEven);
- }
-
- this.eventBus._on("spreadmodechanged", spreadModeChanged);
-
- this.eventBus._on("secondarytoolbarreset", evt => {
- if (evt.source === this) {
- spreadModeChanged({
- mode: _ui_utils.SpreadMode.NONE
- });
- }
- });
- }
-
- open() {
- if (this.opened) {
- return;
- }
-
- this.opened = true;
- this.toggleButton.classList.add("toggled");
- this.toggleButton.setAttribute("aria-expanded", "true");
- this.toolbar.classList.remove("hidden");
- }
-
- close() {
- if (!this.opened) {
- return;
- }
-
- this.opened = false;
- this.toolbar.classList.add("hidden");
- this.toggleButton.classList.remove("toggled");
- this.toggleButton.setAttribute("aria-expanded", "false");
- }
-
- toggle() {
- if (this.opened) {
- this.close();
- } else {
- this.open();
- }
- }
-
-}
-
-exports.SecondaryToolbar = SecondaryToolbar;
-
-/***/ }),
-/* 40 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.Toolbar = void 0;
-
-var _ui_utils = __webpack_require__(1);
-
-var _pdfjsLib = __webpack_require__(5);
-
-const PAGE_NUMBER_LOADING_INDICATOR = "visiblePageIsLoading";
-
-class Toolbar {
- #wasLocalized = false;
-
- constructor(options, eventBus, l10n) {
- this.toolbar = options.container;
- this.eventBus = eventBus;
- this.l10n = l10n;
- this.buttons = [{
- element: options.previous,
- eventName: "previouspage"
- }, {
- element: options.next,
- eventName: "nextpage"
- }, {
- element: options.zoomIn,
- eventName: "zoomin"
- }, {
- element: options.zoomOut,
- eventName: "zoomout"
- }, {
- element: options.print,
- eventName: "print"
- }, {
- element: options.presentationModeButton,
- eventName: "presentationmode"
- }, {
- element: options.download,
- eventName: "download"
- }, {
- element: options.viewBookmark,
- eventName: null
- }, {
- element: options.editorFreeTextButton,
- eventName: "switchannotationeditormode",
- eventDetails: {
- get mode() {
- const {
- classList
- } = options.editorFreeTextButton;
- return classList.contains("toggled") ? _pdfjsLib.AnnotationEditorType.NONE : _pdfjsLib.AnnotationEditorType.FREETEXT;
- }
-
- }
- }, {
- element: options.editorInkButton,
- eventName: "switchannotationeditormode",
- eventDetails: {
- get mode() {
- const {
- classList
- } = options.editorInkButton;
- return classList.contains("toggled") ? _pdfjsLib.AnnotationEditorType.NONE : _pdfjsLib.AnnotationEditorType.INK;
- }
-
- }
- }];
- this.buttons.push({
- element: options.openFile,
- eventName: "openfile"
- });
- this.items = {
- numPages: options.numPages,
- pageNumber: options.pageNumber,
- scaleSelect: options.scaleSelect,
- customScaleOption: options.customScaleOption,
- previous: options.previous,
- next: options.next,
- zoomIn: options.zoomIn,
- zoomOut: options.zoomOut
- };
- this.#bindListeners(options);
- this.reset();
- }
-
- setPageNumber(pageNumber, pageLabel) {
- this.pageNumber = pageNumber;
- this.pageLabel = pageLabel;
- this.#updateUIState(false);
- }
-
- setPagesCount(pagesCount, hasPageLabels) {
- this.pagesCount = pagesCount;
- this.hasPageLabels = hasPageLabels;
- this.#updateUIState(true);
- }
-
- setPageScale(pageScaleValue, pageScale) {
- this.pageScaleValue = (pageScaleValue || pageScale).toString();
- this.pageScale = pageScale;
- this.#updateUIState(false);
- }
-
- reset() {
- this.pageNumber = 0;
- this.pageLabel = null;
- this.hasPageLabels = false;
- this.pagesCount = 0;
- this.pageScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
- this.pageScale = _ui_utils.DEFAULT_SCALE;
- this.#updateUIState(true);
- this.updateLoadingIndicatorState();
- this.eventBus.dispatch("toolbarreset", {
- source: this
- });
- }
-
- #bindListeners(options) {
- const {
- pageNumber,
- scaleSelect
- } = this.items;
- const self = this;
-
- for (const {
- element,
- eventName,
- eventDetails
- } of this.buttons) {
- element.addEventListener("click", evt => {
- if (eventName !== null) {
- const details = {
- source: this
- };
-
- if (eventDetails) {
- for (const property in eventDetails) {
- details[property] = eventDetails[property];
- }
- }
-
- this.eventBus.dispatch(eventName, details);
- }
- });
- }
-
- pageNumber.addEventListener("click", function () {
- this.select();
- });
- pageNumber.addEventListener("change", function () {
- self.eventBus.dispatch("pagenumberchanged", {
- source: self,
- value: this.value
- });
- });
- scaleSelect.addEventListener("change", function () {
- if (this.value === "custom") {
- return;
- }
-
- self.eventBus.dispatch("scalechanged", {
- source: self,
- value: this.value
- });
- });
- scaleSelect.addEventListener("click", function (evt) {
- const target = evt.target;
-
- if (this.value === self.pageScaleValue && target.tagName.toUpperCase() === "OPTION") {
- this.blur();
- }
- });
- scaleSelect.oncontextmenu = _ui_utils.noContextMenuHandler;
-
- this.eventBus._on("localized", () => {
- this.#wasLocalized = true;
- this.#adjustScaleWidth();
- this.#updateUIState(true);
- });
-
- this.#bindEditorToolsListener(options);
- }
-
- #bindEditorToolsListener({
- editorFreeTextButton,
- editorFreeTextParamsToolbar,
- editorInkButton,
- editorInkParamsToolbar
- }) {
- const editorModeChanged = (evt, disableButtons = false) => {
- const editorButtons = [{
- mode: _pdfjsLib.AnnotationEditorType.FREETEXT,
- button: editorFreeTextButton,
- toolbar: editorFreeTextParamsToolbar
- }, {
- mode: _pdfjsLib.AnnotationEditorType.INK,
- button: editorInkButton,
- toolbar: editorInkParamsToolbar
- }];
-
- for (const {
- mode,
- button,
- toolbar
- } of editorButtons) {
- const checked = mode === evt.mode;
- button.classList.toggle("toggled", checked);
- button.setAttribute("aria-checked", checked);
- button.disabled = disableButtons;
- toolbar?.classList.toggle("hidden", !checked);
- }
- };
-
- this.eventBus._on("annotationeditormodechanged", editorModeChanged);
-
- this.eventBus._on("toolbarreset", evt => {
- if (evt.source === this) {
- editorModeChanged({
- mode: _pdfjsLib.AnnotationEditorType.NONE
- }, true);
- }
- });
- }
-
- #updateUIState(resetNumPages = false) {
- if (!this.#wasLocalized) {
- return;
- }
-
- const {
- pageNumber,
- pagesCount,
- pageScaleValue,
- pageScale,
- items
- } = this;
-
- if (resetNumPages) {
- if (this.hasPageLabels) {
- items.pageNumber.type = "text";
- } else {
- items.pageNumber.type = "number";
- this.l10n.get("of_pages", {
- pagesCount
- }).then(msg => {
- items.numPages.textContent = msg;
- });
- }
-
- items.pageNumber.max = pagesCount;
- }
-
- if (this.hasPageLabels) {
- items.pageNumber.value = this.pageLabel;
- this.l10n.get("page_of_pages", {
- pageNumber,
- pagesCount
- }).then(msg => {
- items.numPages.textContent = msg;
- });
- } else {
- items.pageNumber.value = pageNumber;
- }
-
- items.previous.disabled = pageNumber <= 1;
- items.next.disabled = pageNumber >= pagesCount;
- items.zoomOut.disabled = pageScale <= _ui_utils.MIN_SCALE;
- items.zoomIn.disabled = pageScale >= _ui_utils.MAX_SCALE;
- this.l10n.get("page_scale_percent", {
- scale: Math.round(pageScale * 10000) / 100
- }).then(msg => {
- let predefinedValueFound = false;
-
- for (const option of items.scaleSelect.options) {
- if (option.value !== pageScaleValue) {
- option.selected = false;
- continue;
- }
-
- option.selected = true;
- predefinedValueFound = true;
- }
-
- if (!predefinedValueFound) {
- items.customScaleOption.textContent = msg;
- items.customScaleOption.selected = true;
- }
- });
- }
-
- updateLoadingIndicatorState(loading = false) {
- const {
- pageNumber
- } = this.items;
- pageNumber.classList.toggle(PAGE_NUMBER_LOADING_INDICATOR, loading);
- }
-
- async #adjustScaleWidth() {
- const {
- items,
- l10n
- } = this;
- const predefinedValuesPromise = Promise.all([l10n.get("page_scale_auto"), l10n.get("page_scale_actual"), l10n.get("page_scale_fit"), l10n.get("page_scale_width")]);
- await _ui_utils.animationStarted;
- const style = getComputedStyle(items.scaleSelect),
- scaleSelectContainerWidth = parseInt(style.getPropertyValue("--scale-select-container-width"), 10),
- scaleSelectOverflow = parseInt(style.getPropertyValue("--scale-select-overflow"), 10);
- const canvas = document.createElement("canvas");
- const ctx = canvas.getContext("2d", {
- alpha: false
- });
- ctx.font = `${style.fontSize} ${style.fontFamily}`;
- let maxWidth = 0;
-
- for (const predefinedValue of await predefinedValuesPromise) {
- const {
- width
- } = ctx.measureText(predefinedValue);
-
- if (width > maxWidth) {
- maxWidth = width;
- }
- }
-
- maxWidth += 2 * scaleSelectOverflow;
-
- if (maxWidth > scaleSelectContainerWidth) {
- _ui_utils.docStyle.setProperty("--scale-select-container-width", `${maxWidth}px`);
- }
-
- canvas.width = 0;
- canvas.height = 0;
- }
-
-}
-
-exports.Toolbar = Toolbar;
-
-/***/ }),
-/* 41 */
-/***/ ((__unused_webpack_module, exports) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.ViewHistory = void 0;
-const DEFAULT_VIEW_HISTORY_CACHE_SIZE = 20;
-
-class ViewHistory {
- constructor(fingerprint, cacheSize = DEFAULT_VIEW_HISTORY_CACHE_SIZE) {
- this.fingerprint = fingerprint;
- this.cacheSize = cacheSize;
- this._initializedPromise = this._readFromStorage().then(databaseStr => {
- const database = JSON.parse(databaseStr || "{}");
- let index = -1;
-
- if (!Array.isArray(database.files)) {
- database.files = [];
- } else {
- while (database.files.length >= this.cacheSize) {
- database.files.shift();
- }
-
- for (let i = 0, ii = database.files.length; i < ii; i++) {
- const branch = database.files[i];
-
- if (branch.fingerprint === this.fingerprint) {
- index = i;
- break;
- }
- }
- }
-
- if (index === -1) {
- index = database.files.push({
- fingerprint: this.fingerprint
- }) - 1;
- }
-
- this.file = database.files[index];
- this.database = database;
- });
- }
-
- async _writeToStorage() {
- const databaseStr = JSON.stringify(this.database);
- localStorage.setItem("pdfjs.history", databaseStr);
- }
-
- async _readFromStorage() {
- return localStorage.getItem("pdfjs.history");
- }
-
- async set(name, val) {
- await this._initializedPromise;
- this.file[name] = val;
- return this._writeToStorage();
- }
-
- async setMultiple(properties) {
- await this._initializedPromise;
-
- for (const name in properties) {
- this.file[name] = properties[name];
- }
-
- return this._writeToStorage();
- }
-
- async get(name, defaultValue) {
- await this._initializedPromise;
- const val = this.file[name];
- return val !== undefined ? val : defaultValue;
- }
-
- async getMultiple(properties) {
- await this._initializedPromise;
- const values = Object.create(null);
-
- for (const name in properties) {
- const val = this.file[name];
- values[name] = val !== undefined ? val : properties[name];
- }
-
- return values;
- }
-
-}
-
-exports.ViewHistory = ViewHistory;
-
-/***/ }),
-/* 42 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.GenericCom = void 0;
-
-var _app = __webpack_require__(4);
-
-var _preferences = __webpack_require__(43);
-
-var _download_manager = __webpack_require__(44);
-
-var _genericl10n = __webpack_require__(45);
-
-var _generic_scripting = __webpack_require__(47);
-
-;
-const GenericCom = {};
-exports.GenericCom = GenericCom;
-
-class GenericPreferences extends _preferences.BasePreferences {
- async _writeToStorage(prefObj) {
- localStorage.setItem("pdfjs.preferences", JSON.stringify(prefObj));
- }
-
- async _readFromStorage(prefObj) {
- return JSON.parse(localStorage.getItem("pdfjs.preferences"));
- }
-
-}
-
-class GenericExternalServices extends _app.DefaultExternalServices {
- static createDownloadManager(options) {
- return new _download_manager.DownloadManager();
- }
-
- static createPreferences() {
- return new GenericPreferences();
- }
-
- static createL10n({
- locale = "en-US"
- }) {
- return new _genericl10n.GenericL10n(locale);
- }
-
- static createScripting({
- sandboxBundleSrc
- }) {
- return new _generic_scripting.GenericScripting(sandboxBundleSrc);
- }
-
-}
-
-_app.PDFViewerApplication.externalServices = GenericExternalServices;
-
-/***/ }),
-/* 43 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.BasePreferences = void 0;
-
-var _app_options = __webpack_require__(2);
-
-class BasePreferences {
- #defaults = Object.freeze({
- "annotationEditorMode": -1,
- "annotationMode": 2,
- "cursorToolOnLoad": 0,
- "defaultZoomValue": "",
- "disablePageLabels": false,
- "enablePermissions": false,
- "enablePrintAutoRotate": true,
- "enableScripting": true,
- "externalLinkTarget": 0,
- "historyUpdateUrl": false,
- "ignoreDestinationZoom": false,
- "forcePageColors": false,
- "pageColorsBackground": "Canvas",
- "pageColorsForeground": "CanvasText",
- "pdfBugEnabled": false,
- "sidebarViewOnLoad": -1,
- "scrollModeOnLoad": -1,
- "spreadModeOnLoad": -1,
- "textLayerMode": 1,
- "useOnlyCssZoom": false,
- "viewerCssTheme": 0,
- "viewOnLoad": 0,
- "disableAutoFetch": false,
- "disableFontFace": false,
- "disableRange": false,
- "disableStream": false,
- "enableXfa": true,
- "renderer": "canvas"
- });
- #prefs = Object.create(null);
- #initializedPromise = null;
-
- constructor() {
- if (this.constructor === BasePreferences) {
- throw new Error("Cannot initialize BasePreferences.");
- }
-
- this.#initializedPromise = this._readFromStorage(this.#defaults).then(prefs => {
- for (const name in this.#defaults) {
- const prefValue = prefs?.[name];
-
- if (typeof prefValue === typeof this.#defaults[name]) {
- this.#prefs[name] = prefValue;
- }
- }
- });
- }
-
- async _writeToStorage(prefObj) {
- throw new Error("Not implemented: _writeToStorage");
- }
-
- async _readFromStorage(prefObj) {
- throw new Error("Not implemented: _readFromStorage");
- }
-
- async reset() {
- await this.#initializedPromise;
- const prefs = this.#prefs;
- this.#prefs = Object.create(null);
- return this._writeToStorage(this.#defaults).catch(reason => {
- this.#prefs = prefs;
- throw reason;
- });
- }
-
- async set(name, value) {
- await this.#initializedPromise;
- const defaultValue = this.#defaults[name],
- prefs = this.#prefs;
-
- if (defaultValue === undefined) {
- throw new Error(`Set preference: "${name}" is undefined.`);
- } else if (value === undefined) {
- throw new Error("Set preference: no value is specified.");
- }
-
- const valueType = typeof value,
- defaultType = typeof defaultValue;
-
- if (valueType !== defaultType) {
- if (valueType === "number" && defaultType === "string") {
- value = value.toString();
- } else {
- throw new Error(`Set preference: "${value}" is a ${valueType}, expected a ${defaultType}.`);
- }
- } else {
- if (valueType === "number" && !Number.isInteger(value)) {
- throw new Error(`Set preference: "${value}" must be an integer.`);
- }
- }
-
- this.#prefs[name] = value;
- return this._writeToStorage(this.#prefs).catch(reason => {
- this.#prefs = prefs;
- throw reason;
- });
- }
-
- async get(name) {
- await this.#initializedPromise;
- const defaultValue = this.#defaults[name];
-
- if (defaultValue === undefined) {
- throw new Error(`Get preference: "${name}" is undefined.`);
- }
-
- return this.#prefs[name] ?? defaultValue;
- }
-
- async getAll() {
- await this.#initializedPromise;
- const obj = Object.create(null);
-
- for (const name in this.#defaults) {
- obj[name] = this.#prefs[name] ?? this.#defaults[name];
- }
-
- return obj;
- }
-
-}
-
-exports.BasePreferences = BasePreferences;
-
-/***/ }),
-/* 44 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.DownloadManager = void 0;
-
-var _pdfjsLib = __webpack_require__(5);
-
-;
-
-function download(blobUrl, filename) {
- const a = document.createElement("a");
-
- if (!a.click) {
- throw new Error('DownloadManager: "a.click()" is not supported.');
- }
-
- a.href = blobUrl;
- a.target = "_parent";
-
- if ("download" in a) {
- a.download = filename;
- }
-
- (document.body || document.documentElement).append(a);
- a.click();
- a.remove();
-}
-
-class DownloadManager {
- constructor() {
- this._openBlobUrls = new WeakMap();
- }
-
- downloadUrl(url, filename) {
- if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, "http://example.com")) {
- console.error(`downloadUrl - not a valid URL: ${url}`);
- return;
- }
-
- download(url + "#pdfjs.action=download", filename);
- }
-
- downloadData(data, filename, contentType) {
- const blobUrl = URL.createObjectURL(new Blob([data], {
- type: contentType
- }));
- download(blobUrl, filename);
- }
-
- openOrDownloadData(element, data, filename) {
- const isPdfData = (0, _pdfjsLib.isPdfFile)(filename);
- const contentType = isPdfData ? "application/pdf" : "";
-
- if (isPdfData) {
- let blobUrl = this._openBlobUrls.get(element);
-
- if (!blobUrl) {
- blobUrl = URL.createObjectURL(new Blob([data], {
- type: contentType
- }));
-
- this._openBlobUrls.set(element, blobUrl);
- }
-
- let viewerUrl;
- viewerUrl = "?file=" + encodeURIComponent(blobUrl + "#" + filename);
-
- try {
- window.open(viewerUrl);
- return true;
- } catch (ex) {
- console.error(`openOrDownloadData: ${ex}`);
- URL.revokeObjectURL(blobUrl);
-
- this._openBlobUrls.delete(element);
- }
- }
-
- this.downloadData(data, filename, contentType);
- return false;
- }
-
- download(blob, url, filename) {
- const blobUrl = URL.createObjectURL(blob);
- download(blobUrl, filename);
- }
-
-}
-
-exports.DownloadManager = DownloadManager;
-
-/***/ }),
-/* 45 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.GenericL10n = void 0;
-
-__webpack_require__(46);
-
-var _l10n_utils = __webpack_require__(31);
-
-const webL10n = document.webL10n;
-
-class GenericL10n {
- constructor(lang) {
- this._lang = lang;
- this._ready = new Promise((resolve, reject) => {
- webL10n.setLanguage((0, _l10n_utils.fixupLangCode)(lang), () => {
- resolve(webL10n);
- });
- });
- }
-
- async getLanguage() {
- const l10n = await this._ready;
- return l10n.getLanguage();
- }
-
- async getDirection() {
- const l10n = await this._ready;
- return l10n.getDirection();
- }
-
- async get(key, args = null, fallback = (0, _l10n_utils.getL10nFallback)(key, args)) {
- const l10n = await this._ready;
- return l10n.get(key, args, fallback);
- }
-
- async translate(element) {
- const l10n = await this._ready;
- return l10n.translate(element);
- }
-
-}
-
-exports.GenericL10n = GenericL10n;
-
-/***/ }),
-/* 46 */
-/***/ (() => {
-
-
-
-document.webL10n = function (window, document, undefined) {
- var gL10nData = {};
- var gTextData = '';
- var gTextProp = 'textContent';
- var gLanguage = '';
- var gMacros = {};
- var gReadyState = 'loading';
- var gAsyncResourceLoading = true;
-
- function getL10nResourceLinks() {
- return document.querySelectorAll('link[type="application/l10n"]');
- }
-
- function getL10nDictionary() {
- var script = document.querySelector('script[type="application/l10n"]');
- return script ? JSON.parse(script.innerHTML) : null;
- }
-
- function getTranslatableChildren(element) {
- return element ? element.querySelectorAll('*[data-l10n-id]') : [];
- }
-
- function getL10nAttributes(element) {
- if (!element) return {};
- var l10nId = element.getAttribute('data-l10n-id');
- var l10nArgs = element.getAttribute('data-l10n-args');
- var args = {};
-
- if (l10nArgs) {
- try {
- args = JSON.parse(l10nArgs);
- } catch (e) {
- console.warn('could not parse arguments for #' + l10nId);
- }
- }
-
- return {
- id: l10nId,
- args: args
- };
- }
-
- function xhrLoadText(url, onSuccess, onFailure) {
- onSuccess = onSuccess || function _onSuccess(data) {};
-
- onFailure = onFailure || function _onFailure() {};
-
- var xhr = new XMLHttpRequest();
- xhr.open('GET', url, gAsyncResourceLoading);
-
- if (xhr.overrideMimeType) {
- xhr.overrideMimeType('text/plain; charset=utf-8');
- }
-
- xhr.onreadystatechange = function () {
- if (xhr.readyState == 4) {
- if (xhr.status == 200 || xhr.status === 0) {
- onSuccess(xhr.responseText);
- } else {
- onFailure();
- }
- }
- };
-
- xhr.onerror = onFailure;
- xhr.ontimeout = onFailure;
-
- try {
- xhr.send(null);
- } catch (e) {
- onFailure();
- }
- }
-
- function parseResource(href, lang, successCallback, failureCallback) {
- var baseURL = href.replace(/[^\/]*$/, '') || './';
-
- function evalString(text) {
- if (text.lastIndexOf('\\') < 0) return text;
- return text.replace(/\\\\/g, '\\').replace(/\\n/g, '\n').replace(/\\r/g, '\r').replace(/\\t/g, '\t').replace(/\\b/g, '\b').replace(/\\f/g, '\f').replace(/\\{/g, '{').replace(/\\}/g, '}').replace(/\\"/g, '"').replace(/\\'/g, "'");
- }
-
- function parseProperties(text, parsedPropertiesCallback) {
- var dictionary = {};
- var reBlank = /^\s*|\s*$/;
- var reComment = /^\s*#|^\s*$/;
- var reSection = /^\s*\[(.*)\]\s*$/;
- var reImport = /^\s*@import\s+url\((.*)\)\s*$/i;
- var reSplit = /^([^=\s]*)\s*=\s*(.+)$/;
-
- function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {
- var entries = rawText.replace(reBlank, '').split(/[\r\n]+/);
- var currentLang = '*';
- var genericLang = lang.split('-', 1)[0];
- var skipLang = false;
- var match = '';
-
- function nextEntry() {
- while (true) {
- if (!entries.length) {
- parsedRawLinesCallback();
- return;
- }
-
- var line = entries.shift();
- if (reComment.test(line)) continue;
-
- if (extendedSyntax) {
- match = reSection.exec(line);
-
- if (match) {
- currentLang = match[1].toLowerCase();
- skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;
- continue;
- } else if (skipLang) {
- continue;
- }
-
- match = reImport.exec(line);
-
- if (match) {
- loadImport(baseURL + match[1], nextEntry);
- return;
- }
- }
-
- var tmp = line.match(reSplit);
-
- if (tmp && tmp.length == 3) {
- dictionary[tmp[1]] = evalString(tmp[2]);
- }
- }
- }
-
- nextEntry();
- }
-
- function loadImport(url, callback) {
- xhrLoadText(url, function (content) {
- parseRawLines(content, false, callback);
- }, function () {
- console.warn(url + ' not found.');
- callback();
- });
- }
-
- parseRawLines(text, true, function () {
- parsedPropertiesCallback(dictionary);
- });
- }
-
- xhrLoadText(href, function (response) {
- gTextData += response;
- parseProperties(response, function (data) {
- for (var key in data) {
- var id,
- prop,
- index = key.lastIndexOf('.');
-
- if (index > 0) {
- id = key.substring(0, index);
- prop = key.substring(index + 1);
- } else {
- id = key;
- prop = gTextProp;
- }
-
- if (!gL10nData[id]) {
- gL10nData[id] = {};
- }
-
- gL10nData[id][prop] = data[key];
- }
-
- if (successCallback) {
- successCallback();
- }
- });
- }, failureCallback);
- }
-
- function loadLocale(lang, callback) {
- if (lang) {
- lang = lang.toLowerCase();
- }
-
- callback = callback || function _callback() {};
-
- clear();
- gLanguage = lang;
- var langLinks = getL10nResourceLinks();
- var langCount = langLinks.length;
-
- if (langCount === 0) {
- var dict = getL10nDictionary();
-
- if (dict && dict.locales && dict.default_locale) {
- console.log('using the embedded JSON directory, early way out');
- gL10nData = dict.locales[lang];
-
- if (!gL10nData) {
- var defaultLocale = dict.default_locale.toLowerCase();
-
- for (var anyCaseLang in dict.locales) {
- anyCaseLang = anyCaseLang.toLowerCase();
-
- if (anyCaseLang === lang) {
- gL10nData = dict.locales[lang];
- break;
- } else if (anyCaseLang === defaultLocale) {
- gL10nData = dict.locales[defaultLocale];
- }
- }
- }
-
- callback();
- } else {
- console.log('no resource to load, early way out');
- }
-
- gReadyState = 'complete';
- return;
- }
-
- var onResourceLoaded = null;
- var gResourceCount = 0;
-
- onResourceLoaded = function () {
- gResourceCount++;
-
- if (gResourceCount >= langCount) {
- callback();
- gReadyState = 'complete';
- }
- };
-
- function L10nResourceLink(link) {
- var href = link.href;
-
- this.load = function (lang, callback) {
- parseResource(href, lang, callback, function () {
- console.warn(href + ' not found.');
- console.warn('"' + lang + '" resource not found');
- gLanguage = '';
- callback();
- });
- };
- }
-
- for (var i = 0; i < langCount; i++) {
- var resource = new L10nResourceLink(langLinks[i]);
- resource.load(lang, onResourceLoaded);
- }
- }
-
- function clear() {
- gL10nData = {};
- gTextData = '';
- gLanguage = '';
- }
-
- function getPluralRules(lang) {
- var locales2rules = {
- 'af': 3,
- 'ak': 4,
- 'am': 4,
- 'ar': 1,
- 'asa': 3,
- 'az': 0,
- 'be': 11,
- 'bem': 3,
- 'bez': 3,
- 'bg': 3,
- 'bh': 4,
- 'bm': 0,
- 'bn': 3,
- 'bo': 0,
- 'br': 20,
- 'brx': 3,
- 'bs': 11,
- 'ca': 3,
- 'cgg': 3,
- 'chr': 3,
- 'cs': 12,
- 'cy': 17,
- 'da': 3,
- 'de': 3,
- 'dv': 3,
- 'dz': 0,
- 'ee': 3,
- 'el': 3,
- 'en': 3,
- 'eo': 3,
- 'es': 3,
- 'et': 3,
- 'eu': 3,
- 'fa': 0,
- 'ff': 5,
- 'fi': 3,
- 'fil': 4,
- 'fo': 3,
- 'fr': 5,
- 'fur': 3,
- 'fy': 3,
- 'ga': 8,
- 'gd': 24,
- 'gl': 3,
- 'gsw': 3,
- 'gu': 3,
- 'guw': 4,
- 'gv': 23,
- 'ha': 3,
- 'haw': 3,
- 'he': 2,
- 'hi': 4,
- 'hr': 11,
- 'hu': 0,
- 'id': 0,
- 'ig': 0,
- 'ii': 0,
- 'is': 3,
- 'it': 3,
- 'iu': 7,
- 'ja': 0,
- 'jmc': 3,
- 'jv': 0,
- 'ka': 0,
- 'kab': 5,
- 'kaj': 3,
- 'kcg': 3,
- 'kde': 0,
- 'kea': 0,
- 'kk': 3,
- 'kl': 3,
- 'km': 0,
- 'kn': 0,
- 'ko': 0,
- 'ksb': 3,
- 'ksh': 21,
- 'ku': 3,
- 'kw': 7,
- 'lag': 18,
- 'lb': 3,
- 'lg': 3,
- 'ln': 4,
- 'lo': 0,
- 'lt': 10,
- 'lv': 6,
- 'mas': 3,
- 'mg': 4,
- 'mk': 16,
- 'ml': 3,
- 'mn': 3,
- 'mo': 9,
- 'mr': 3,
- 'ms': 0,
- 'mt': 15,
- 'my': 0,
- 'nah': 3,
- 'naq': 7,
- 'nb': 3,
- 'nd': 3,
- 'ne': 3,
- 'nl': 3,
- 'nn': 3,
- 'no': 3,
- 'nr': 3,
- 'nso': 4,
- 'ny': 3,
- 'nyn': 3,
- 'om': 3,
- 'or': 3,
- 'pa': 3,
- 'pap': 3,
- 'pl': 13,
- 'ps': 3,
- 'pt': 3,
- 'rm': 3,
- 'ro': 9,
- 'rof': 3,
- 'ru': 11,
- 'rwk': 3,
- 'sah': 0,
- 'saq': 3,
- 'se': 7,
- 'seh': 3,
- 'ses': 0,
- 'sg': 0,
- 'sh': 11,
- 'shi': 19,
- 'sk': 12,
- 'sl': 14,
- 'sma': 7,
- 'smi': 7,
- 'smj': 7,
- 'smn': 7,
- 'sms': 7,
- 'sn': 3,
- 'so': 3,
- 'sq': 3,
- 'sr': 11,
- 'ss': 3,
- 'ssy': 3,
- 'st': 3,
- 'sv': 3,
- 'sw': 3,
- 'syr': 3,
- 'ta': 3,
- 'te': 3,
- 'teo': 3,
- 'th': 0,
- 'ti': 4,
- 'tig': 3,
- 'tk': 3,
- 'tl': 4,
- 'tn': 3,
- 'to': 0,
- 'tr': 0,
- 'ts': 3,
- 'tzm': 22,
- 'uk': 11,
- 'ur': 3,
- 've': 3,
- 'vi': 0,
- 'vun': 3,
- 'wa': 4,
- 'wae': 3,
- 'wo': 0,
- 'xh': 3,
- 'xog': 3,
- 'yo': 0,
- 'zh': 0,
- 'zu': 3
- };
-
- function isIn(n, list) {
- return list.indexOf(n) !== -1;
- }
-
- function isBetween(n, start, end) {
- return start <= n && n <= end;
- }
-
- var pluralRules = {
- '0': function (n) {
- return 'other';
- },
- '1': function (n) {
- if (isBetween(n % 100, 3, 10)) return 'few';
- if (n === 0) return 'zero';
- if (isBetween(n % 100, 11, 99)) return 'many';
- if (n == 2) return 'two';
- if (n == 1) return 'one';
- return 'other';
- },
- '2': function (n) {
- if (n !== 0 && n % 10 === 0) return 'many';
- if (n == 2) return 'two';
- if (n == 1) return 'one';
- return 'other';
- },
- '3': function (n) {
- if (n == 1) return 'one';
- return 'other';
- },
- '4': function (n) {
- if (isBetween(n, 0, 1)) return 'one';
- return 'other';
- },
- '5': function (n) {
- if (isBetween(n, 0, 2) && n != 2) return 'one';
- return 'other';
- },
- '6': function (n) {
- if (n === 0) return 'zero';
- if (n % 10 == 1 && n % 100 != 11) return 'one';
- return 'other';
- },
- '7': function (n) {
- if (n == 2) return 'two';
- if (n == 1) return 'one';
- return 'other';
- },
- '8': function (n) {
- if (isBetween(n, 3, 6)) return 'few';
- if (isBetween(n, 7, 10)) return 'many';
- if (n == 2) return 'two';
- if (n == 1) return 'one';
- return 'other';
- },
- '9': function (n) {
- if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';
- if (n == 1) return 'one';
- return 'other';
- },
- '10': function (n) {
- if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';
- if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';
- return 'other';
- },
- '11': function (n) {
- if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';
- if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';
- if (n % 10 == 1 && n % 100 != 11) return 'one';
- return 'other';
- },
- '12': function (n) {
- if (isBetween(n, 2, 4)) return 'few';
- if (n == 1) return 'one';
- return 'other';
- },
- '13': function (n) {
- if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';
- if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';
- if (n == 1) return 'one';
- return 'other';
- },
- '14': function (n) {
- if (isBetween(n % 100, 3, 4)) return 'few';
- if (n % 100 == 2) return 'two';
- if (n % 100 == 1) return 'one';
- return 'other';
- },
- '15': function (n) {
- if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';
- if (isBetween(n % 100, 11, 19)) return 'many';
- if (n == 1) return 'one';
- return 'other';
- },
- '16': function (n) {
- if (n % 10 == 1 && n != 11) return 'one';
- return 'other';
- },
- '17': function (n) {
- if (n == 3) return 'few';
- if (n === 0) return 'zero';
- if (n == 6) return 'many';
- if (n == 2) return 'two';
- if (n == 1) return 'one';
- return 'other';
- },
- '18': function (n) {
- if (n === 0) return 'zero';
- if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';
- return 'other';
- },
- '19': function (n) {
- if (isBetween(n, 2, 10)) return 'few';
- if (isBetween(n, 0, 1)) return 'one';
- return 'other';
- },
- '20': function (n) {
- if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few';
- if (n % 1000000 === 0 && n !== 0) return 'many';
- if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';
- if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';
- return 'other';
- },
- '21': function (n) {
- if (n === 0) return 'zero';
- if (n == 1) return 'one';
- return 'other';
- },
- '22': function (n) {
- if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';
- return 'other';
- },
- '23': function (n) {
- if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';
- return 'other';
- },
- '24': function (n) {
- if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';
- if (isIn(n, [2, 12])) return 'two';
- if (isIn(n, [1, 11])) return 'one';
- return 'other';
- }
- };
- var index = locales2rules[lang.replace(/-.*$/, '')];
-
- if (!(index in pluralRules)) {
- console.warn('plural form unknown for [' + lang + ']');
- return function () {
- return 'other';
- };
- }
-
- return pluralRules[index];
- }
-
- gMacros.plural = function (str, param, key, prop) {
- var n = parseFloat(param);
- if (isNaN(n)) return str;
- if (prop != gTextProp) return str;
-
- if (!gMacros._pluralRules) {
- gMacros._pluralRules = getPluralRules(gLanguage);
- }
-
- var index = '[' + gMacros._pluralRules(n) + ']';
-
- if (n === 0 && key + '[zero]' in gL10nData) {
- str = gL10nData[key + '[zero]'][prop];
- } else if (n == 1 && key + '[one]' in gL10nData) {
- str = gL10nData[key + '[one]'][prop];
- } else if (n == 2 && key + '[two]' in gL10nData) {
- str = gL10nData[key + '[two]'][prop];
- } else if (key + index in gL10nData) {
- str = gL10nData[key + index][prop];
- } else if (key + '[other]' in gL10nData) {
- str = gL10nData[key + '[other]'][prop];
- }
-
- return str;
- };
-
- function getL10nData(key, args, fallback) {
- var data = gL10nData[key];
-
- if (!data) {
- console.warn('#' + key + ' is undefined.');
-
- if (!fallback) {
- return null;
- }
-
- data = fallback;
- }
-
- var rv = {};
-
- for (var prop in data) {
- var str = data[prop];
- str = substIndexes(str, args, key, prop);
- str = substArguments(str, args, key);
- rv[prop] = str;
- }
-
- return rv;
- }
-
- function substIndexes(str, args, key, prop) {
- var reIndex = /\{\[\s*([a-zA-Z]+)\(([a-zA-Z]+)\)\s*\]\}/;
- var reMatch = reIndex.exec(str);
- if (!reMatch || !reMatch.length) return str;
- var macroName = reMatch[1];
- var paramName = reMatch[2];
- var param;
-
- if (args && paramName in args) {
- param = args[paramName];
- } else if (paramName in gL10nData) {
- param = gL10nData[paramName];
- }
-
- if (macroName in gMacros) {
- var macro = gMacros[macroName];
- str = macro(str, param, key, prop);
- }
-
- return str;
- }
-
- function substArguments(str, args, key) {
- var reArgs = /\{\{\s*(.+?)\s*\}\}/g;
- return str.replace(reArgs, function (matched_text, arg) {
- if (args && arg in args) {
- return args[arg];
- }
-
- if (arg in gL10nData) {
- return gL10nData[arg];
- }
-
- console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');
- return matched_text;
- });
- }
-
- function translateElement(element) {
- var l10n = getL10nAttributes(element);
- if (!l10n.id) return;
- var data = getL10nData(l10n.id, l10n.args);
-
- if (!data) {
- console.warn('#' + l10n.id + ' is undefined.');
- return;
- }
-
- if (data[gTextProp]) {
- if (getChildElementCount(element) === 0) {
- element[gTextProp] = data[gTextProp];
- } else {
- var children = element.childNodes;
- var found = false;
-
- for (var i = 0, l = children.length; i < l; i++) {
- if (children[i].nodeType === 3 && /\S/.test(children[i].nodeValue)) {
- if (found) {
- children[i].nodeValue = '';
- } else {
- children[i].nodeValue = data[gTextProp];
- found = true;
- }
- }
- }
-
- if (!found) {
- var textNode = document.createTextNode(data[gTextProp]);
- element.prepend(textNode);
- }
- }
-
- delete data[gTextProp];
- }
-
- for (var k in data) {
- element[k] = data[k];
- }
- }
-
- function getChildElementCount(element) {
- if (element.children) {
- return element.children.length;
- }
-
- if (typeof element.childElementCount !== 'undefined') {
- return element.childElementCount;
- }
-
- var count = 0;
-
- for (var i = 0; i < element.childNodes.length; i++) {
- count += element.nodeType === 1 ? 1 : 0;
- }
-
- return count;
- }
-
- function translateFragment(element) {
- element = element || document.documentElement;
- var children = getTranslatableChildren(element);
- var elementCount = children.length;
-
- for (var i = 0; i < elementCount; i++) {
- translateElement(children[i]);
- }
-
- translateElement(element);
- }
-
- return {
- get: function (key, args, fallbackString) {
- var index = key.lastIndexOf('.');
- var prop = gTextProp;
-
- if (index > 0) {
- prop = key.substring(index + 1);
- key = key.substring(0, index);
- }
-
- var fallback;
-
- if (fallbackString) {
- fallback = {};
- fallback[prop] = fallbackString;
- }
-
- var data = getL10nData(key, args, fallback);
-
- if (data && prop in data) {
- return data[prop];
- }
-
- return '{{' + key + '}}';
- },
- getData: function () {
- return gL10nData;
- },
- getText: function () {
- return gTextData;
- },
- getLanguage: function () {
- return gLanguage;
- },
- setLanguage: function (lang, callback) {
- loadLocale(lang, function () {
- if (callback) callback();
- });
- },
- getDirection: function () {
- var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];
- var shortCode = gLanguage.split('-', 1)[0];
- return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';
- },
- translate: translateFragment,
- getReadyState: function () {
- return gReadyState;
- },
- ready: function (callback) {
- if (!callback) {
- return;
- } else if (gReadyState == 'complete' || gReadyState == 'interactive') {
- window.setTimeout(function () {
- callback();
- });
- } else if (document.addEventListener) {
- document.addEventListener('localized', function once() {
- document.removeEventListener('localized', once);
- callback();
- });
- }
- }
- };
-}(window, document);
-
-/***/ }),
-/* 47 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.GenericScripting = void 0;
-exports.docPropertiesLookup = docPropertiesLookup;
-
-var _pdfjsLib = __webpack_require__(5);
-
-async function docPropertiesLookup(pdfDocument) {
- const url = "",
- baseUrl = url.split("#")[0];
- let {
- info,
- metadata,
- contentDispositionFilename,
- contentLength
- } = await pdfDocument.getMetadata();
-
- if (!contentLength) {
- const {
- length
- } = await pdfDocument.getDownloadInfo();
- contentLength = length;
- }
-
- return { ...info,
- baseURL: baseUrl,
- filesize: contentLength,
- filename: contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(url),
- metadata: metadata?.getRaw(),
- authors: metadata?.get("dc:creator"),
- numPages: pdfDocument.numPages,
- URL: url
- };
-}
-
-class GenericScripting {
- constructor(sandboxBundleSrc) {
- this._ready = (0, _pdfjsLib.loadScript)(sandboxBundleSrc, true).then(() => {
- return window.pdfjsSandbox.QuickJSSandbox();
- });
- }
-
- async createSandbox(data) {
- const sandbox = await this._ready;
- sandbox.create(data);
- }
-
- async dispatchEventInSandbox(event) {
- const sandbox = await this._ready;
- setTimeout(() => sandbox.dispatchEvent(event), 0);
- }
-
- async destroySandbox() {
- const sandbox = await this._ready;
- sandbox.nukeSandbox();
- }
-
-}
-
-exports.GenericScripting = GenericScripting;
-
-/***/ }),
-/* 48 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.PDFPrintService = PDFPrintService;
-
-var _pdfjsLib = __webpack_require__(5);
-
-var _app = __webpack_require__(4);
-
-var _print_utils = __webpack_require__(49);
-
-let activeService = null;
-let dialog = null;
-let overlayManager = null;
-
-function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size, printResolution, optionalContentConfigPromise, printAnnotationStoragePromise) {
- const scratchCanvas = activeService.scratchCanvas;
- const PRINT_UNITS = printResolution / _pdfjsLib.PixelsPerInch.PDF;
- scratchCanvas.width = Math.floor(size.width * PRINT_UNITS);
- scratchCanvas.height = Math.floor(size.height * PRINT_UNITS);
- const ctx = scratchCanvas.getContext("2d");
- ctx.save();
- ctx.fillStyle = "rgb(255, 255, 255)";
- ctx.fillRect(0, 0, scratchCanvas.width, scratchCanvas.height);
- ctx.restore();
- return Promise.all([pdfDocument.getPage(pageNumber), printAnnotationStoragePromise]).then(function ([pdfPage, printAnnotationStorage]) {
- const renderContext = {
- canvasContext: ctx,
- transform: [PRINT_UNITS, 0, 0, PRINT_UNITS, 0, 0],
- viewport: pdfPage.getViewport({
- scale: 1,
- rotation: size.rotation
- }),
- intent: "print",
- annotationMode: _pdfjsLib.AnnotationMode.ENABLE_STORAGE,
- optionalContentConfigPromise,
- printAnnotationStorage
- };
- return pdfPage.render(renderContext).promise;
- });
-}
-
-function PDFPrintService(pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise = null, printAnnotationStoragePromise = null, l10n) {
- this.pdfDocument = pdfDocument;
- this.pagesOverview = pagesOverview;
- this.printContainer = printContainer;
- this._printResolution = printResolution || 150;
- this._optionalContentConfigPromise = optionalContentConfigPromise || pdfDocument.getOptionalContentConfig();
- this._printAnnotationStoragePromise = printAnnotationStoragePromise || Promise.resolve();
- this.l10n = l10n;
- this.currentPage = -1;
- this.scratchCanvas = document.createElement("canvas");
-}
-
-PDFPrintService.prototype = {
- layout() {
- this.throwIfInactive();
- const body = document.querySelector("body");
- body.setAttribute("data-pdfjsprinting", true);
- const hasEqualPageSizes = this.pagesOverview.every(function (size) {
- return size.width === this.pagesOverview[0].width && size.height === this.pagesOverview[0].height;
- }, this);
-
- if (!hasEqualPageSizes) {
- console.warn("Not all pages have the same size. The printed " + "result may be incorrect!");
- }
-
- this.pageStyleSheet = document.createElement("style");
- const pageSize = this.pagesOverview[0];
- this.pageStyleSheet.textContent = "@page { size: " + pageSize.width + "pt " + pageSize.height + "pt;}";
- body.append(this.pageStyleSheet);
- },
-
- destroy() {
- if (activeService !== this) {
- return;
- }
-
- this.printContainer.textContent = "";
- const body = document.querySelector("body");
- body.removeAttribute("data-pdfjsprinting");
-
- if (this.pageStyleSheet) {
- this.pageStyleSheet.remove();
- this.pageStyleSheet = null;
- }
-
- this.scratchCanvas.width = this.scratchCanvas.height = 0;
- this.scratchCanvas = null;
- activeService = null;
- ensureOverlay().then(function () {
- if (overlayManager.active === dialog) {
- overlayManager.close(dialog);
- }
- });
- },
-
- renderPages() {
- if (this.pdfDocument.isPureXfa) {
- (0, _print_utils.getXfaHtmlForPrinting)(this.printContainer, this.pdfDocument);
- return Promise.resolve();
- }
-
- const pageCount = this.pagesOverview.length;
-
- const renderNextPage = (resolve, reject) => {
- this.throwIfInactive();
-
- if (++this.currentPage >= pageCount) {
- renderProgress(pageCount, pageCount, this.l10n);
- resolve();
- return;
- }
-
- const index = this.currentPage;
- renderProgress(index, pageCount, this.l10n);
- renderPage(this, this.pdfDocument, index + 1, this.pagesOverview[index], this._printResolution, this._optionalContentConfigPromise, this._printAnnotationStoragePromise).then(this.useRenderedPage.bind(this)).then(function () {
- renderNextPage(resolve, reject);
- }, reject);
- };
-
- return new Promise(renderNextPage);
- },
-
- useRenderedPage() {
- this.throwIfInactive();
- const img = document.createElement("img");
- const scratchCanvas = this.scratchCanvas;
-
- if ("toBlob" in scratchCanvas) {
- scratchCanvas.toBlob(function (blob) {
- img.src = URL.createObjectURL(blob);
- });
- } else {
- img.src = scratchCanvas.toDataURL();
- }
-
- const wrapper = document.createElement("div");
- wrapper.className = "printedPage";
- wrapper.append(img);
- this.printContainer.append(wrapper);
- return new Promise(function (resolve, reject) {
- img.onload = resolve;
- img.onerror = reject;
- });
- },
-
- performPrint() {
- this.throwIfInactive();
- return new Promise(resolve => {
- setTimeout(() => {
- if (!this.active) {
- resolve();
- return;
- }
-
- print.call(window);
- setTimeout(resolve, 20);
- }, 0);
- });
- },
-
- get active() {
- return this === activeService;
- },
-
- throwIfInactive() {
- if (!this.active) {
- throw new Error("This print request was cancelled or completed.");
- }
- }
-
-};
-const print = window.print;
-
-window.print = function () {
- if (activeService) {
- console.warn("Ignored window.print() because of a pending print job.");
- return;
- }
-
- ensureOverlay().then(function () {
- if (activeService) {
- overlayManager.open(dialog);
- }
- });
-
- try {
- dispatchEvent("beforeprint");
- } finally {
- if (!activeService) {
- console.error("Expected print service to be initialized.");
- ensureOverlay().then(function () {
- if (overlayManager.active === dialog) {
- overlayManager.close(dialog);
- }
- });
- return;
- }
-
- const activeServiceOnEntry = activeService;
- activeService.renderPages().then(function () {
- return activeServiceOnEntry.performPrint();
- }).catch(function () {}).then(function () {
- if (activeServiceOnEntry.active) {
- abort();
- }
- });
- }
-};
-
-function dispatchEvent(eventType) {
- const event = document.createEvent("CustomEvent");
- event.initCustomEvent(eventType, false, false, "custom");
- window.dispatchEvent(event);
-}
-
-function abort() {
- if (activeService) {
- activeService.destroy();
- dispatchEvent("afterprint");
- }
-}
-
-function renderProgress(index, total, l10n) {
- dialog ||= document.getElementById("printServiceDialog");
- const progress = Math.round(100 * index / total);
- const progressBar = dialog.querySelector("progress");
- const progressPerc = dialog.querySelector(".relative-progress");
- progressBar.value = progress;
- l10n.get("print_progress_percent", {
- progress
- }).then(msg => {
- progressPerc.textContent = msg;
- });
-}
-
-window.addEventListener("keydown", function (event) {
- if (event.keyCode === 80 && (event.ctrlKey || event.metaKey) && !event.altKey && (!event.shiftKey || window.chrome || window.opera)) {
- window.print();
- event.preventDefault();
-
- if (event.stopImmediatePropagation) {
- event.stopImmediatePropagation();
- } else {
- event.stopPropagation();
- }
- }
-}, true);
-
-if ("onbeforeprint" in window) {
- const stopPropagationIfNeeded = function (event) {
- if (event.detail !== "custom" && event.stopImmediatePropagation) {
- event.stopImmediatePropagation();
- }
- };
-
- window.addEventListener("beforeprint", stopPropagationIfNeeded);
- window.addEventListener("afterprint", stopPropagationIfNeeded);
-}
-
-let overlayPromise;
-
-function ensureOverlay() {
- if (!overlayPromise) {
- overlayManager = _app.PDFViewerApplication.overlayManager;
-
- if (!overlayManager) {
- throw new Error("The overlay manager has not yet been initialized.");
- }
-
- dialog ||= document.getElementById("printServiceDialog");
- overlayPromise = overlayManager.register(dialog, true);
- document.getElementById("printCancel").onclick = abort;
- dialog.addEventListener("close", abort);
- }
-
- return overlayPromise;
-}
-
-_app.PDFPrintServiceFactory.instance = {
- supportsPrinting: true,
-
- createPrintService(pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, printAnnotationStoragePromise, l10n) {
- if (activeService) {
- throw new Error("The print service is created and active.");
- }
-
- activeService = new PDFPrintService(pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, printAnnotationStoragePromise, l10n);
- return activeService;
- }
-
-};
-
-/***/ }),
-/* 49 */
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-exports.getXfaHtmlForPrinting = getXfaHtmlForPrinting;
-
-var _pdfjsLib = __webpack_require__(5);
-
-var _pdf_link_service = __webpack_require__(3);
-
-var _xfa_layer_builder = __webpack_require__(38);
-
-function getXfaHtmlForPrinting(printContainer, pdfDocument) {
- const xfaHtml = pdfDocument.allXfaHtml;
- const linkService = new _pdf_link_service.SimpleLinkService();
- const scale = Math.round(_pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS * 100) / 100;
-
- for (const xfaPage of xfaHtml.children) {
- const page = document.createElement("div");
- page.className = "xfaPrintedPage";
- printContainer.append(page);
- const builder = new _xfa_layer_builder.XfaLayerBuilder({
- pageDiv: page,
- pdfPage: null,
- annotationStorage: pdfDocument.annotationStorage,
- linkService,
- xfaHtml: xfaPage
- });
- const viewport = (0, _pdfjsLib.getXfaPageViewport)(xfaPage, {
- scale
- });
- builder.render(viewport, "print");
- }
-}
-
-/***/ })
-/******/ ]);
-/************************************************************************/
-/******/ // The module cache
-/******/ var __webpack_module_cache__ = {};
-/******/
-/******/ // The require function
-/******/ function __webpack_require__(moduleId) {
-/******/ // Check if module is in cache
-/******/ var cachedModule = __webpack_module_cache__[moduleId];
-/******/ if (cachedModule !== undefined) {
-/******/ return cachedModule.exports;
-/******/ }
-/******/ // Create a new module (and put it into the cache)
-/******/ var module = __webpack_module_cache__[moduleId] = {
-/******/ // no module.id needed
-/******/ // no module.loaded needed
-/******/ exports: {}
-/******/ };
-/******/
-/******/ // Execute the module function
-/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
-/******/
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-/******/
-/************************************************************************/
-var __webpack_exports__ = {};
-// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
-(() => {
-var exports = __webpack_exports__;
-
-
-Object.defineProperty(exports, "__esModule", ({
- value: true
-}));
-Object.defineProperty(exports, "PDFViewerApplication", ({
- enumerable: true,
- get: function () {
- return _app.PDFViewerApplication;
- }
-}));
-exports.PDFViewerApplicationConstants = void 0;
-Object.defineProperty(exports, "PDFViewerApplicationOptions", ({
- enumerable: true,
- get: function () {
- return _app_options.AppOptions;
- }
-}));
-
-var _ui_utils = __webpack_require__(1);
-
-var _app_options = __webpack_require__(2);
-
-var _pdf_link_service = __webpack_require__(3);
-
-var _app = __webpack_require__(4);
-
-const pdfjsVersion = '2.16.105';
-const pdfjsBuild = '172ccdbe5';
-const AppConstants = {
- LinkTarget: _pdf_link_service.LinkTarget,
- RenderingStates: _ui_utils.RenderingStates,
- ScrollMode: _ui_utils.ScrollMode,
- SpreadMode: _ui_utils.SpreadMode
-};
-exports.PDFViewerApplicationConstants = AppConstants;
-window.PDFViewerApplication = _app.PDFViewerApplication;
-window.PDFViewerApplicationConstants = AppConstants;
-window.PDFViewerApplicationOptions = _app_options.AppOptions;
-;
-;
-{
- __webpack_require__(42);
-}
-;
-{
- __webpack_require__(48);
-}
-
-function getViewerConfiguration() {
- let errorWrapper = null;
- errorWrapper = {
- container: document.getElementById("errorWrapper"),
- errorMessage: document.getElementById("errorMessage"),
- closeButton: document.getElementById("errorClose"),
- errorMoreInfo: document.getElementById("errorMoreInfo"),
- moreInfoButton: document.getElementById("errorShowMore"),
- lessInfoButton: document.getElementById("errorShowLess")
- };
- return {
- appContainer: document.body,
- mainContainer: document.getElementById("viewerContainer"),
- viewerContainer: document.getElementById("viewer"),
- toolbar: {
- container: document.getElementById("toolbarViewer"),
- numPages: document.getElementById("numPages"),
- pageNumber: document.getElementById("pageNumber"),
- scaleSelect: document.getElementById("scaleSelect"),
- customScaleOption: document.getElementById("customScaleOption"),
- previous: document.getElementById("previous"),
- next: document.getElementById("next"),
- zoomIn: document.getElementById("zoomIn"),
- zoomOut: document.getElementById("zoomOut"),
- viewFind: document.getElementById("viewFind"),
- openFile: document.getElementById("openFile"),
- print: document.getElementById("print"),
- editorFreeTextButton: document.getElementById("editorFreeText"),
- editorFreeTextParamsToolbar: document.getElementById("editorFreeTextParamsToolbar"),
- editorInkButton: document.getElementById("editorInk"),
- editorInkParamsToolbar: document.getElementById("editorInkParamsToolbar"),
- presentationModeButton: document.getElementById("presentationMode"),
- download: document.getElementById("download"),
- viewBookmark: document.getElementById("viewBookmark")
- },
- secondaryToolbar: {
- toolbar: document.getElementById("secondaryToolbar"),
- toggleButton: document.getElementById("secondaryToolbarToggle"),
- presentationModeButton: document.getElementById("secondaryPresentationMode"),
- openFileButton: document.getElementById("secondaryOpenFile"),
- printButton: document.getElementById("secondaryPrint"),
- downloadButton: document.getElementById("secondaryDownload"),
- viewBookmarkButton: document.getElementById("secondaryViewBookmark"),
- firstPageButton: document.getElementById("firstPage"),
- lastPageButton: document.getElementById("lastPage"),
- pageRotateCwButton: document.getElementById("pageRotateCw"),
- pageRotateCcwButton: document.getElementById("pageRotateCcw"),
- cursorSelectToolButton: document.getElementById("cursorSelectTool"),
- cursorHandToolButton: document.getElementById("cursorHandTool"),
- scrollPageButton: document.getElementById("scrollPage"),
- scrollVerticalButton: document.getElementById("scrollVertical"),
- scrollHorizontalButton: document.getElementById("scrollHorizontal"),
- scrollWrappedButton: document.getElementById("scrollWrapped"),
- spreadNoneButton: document.getElementById("spreadNone"),
- spreadOddButton: document.getElementById("spreadOdd"),
- spreadEvenButton: document.getElementById("spreadEven"),
- documentPropertiesButton: document.getElementById("documentProperties")
- },
- sidebar: {
- outerContainer: document.getElementById("outerContainer"),
- sidebarContainer: document.getElementById("sidebarContainer"),
- toggleButton: document.getElementById("sidebarToggle"),
- thumbnailButton: document.getElementById("viewThumbnail"),
- outlineButton: document.getElementById("viewOutline"),
- attachmentsButton: document.getElementById("viewAttachments"),
- layersButton: document.getElementById("viewLayers"),
- thumbnailView: document.getElementById("thumbnailView"),
- outlineView: document.getElementById("outlineView"),
- attachmentsView: document.getElementById("attachmentsView"),
- layersView: document.getElementById("layersView"),
- outlineOptionsContainer: document.getElementById("outlineOptionsContainer"),
- currentOutlineItemButton: document.getElementById("currentOutlineItem")
- },
- sidebarResizer: {
- outerContainer: document.getElementById("outerContainer"),
- resizer: document.getElementById("sidebarResizer")
- },
- findBar: {
- bar: document.getElementById("findbar"),
- toggleButton: document.getElementById("viewFind"),
- findField: document.getElementById("findInput"),
- highlightAllCheckbox: document.getElementById("findHighlightAll"),
- caseSensitiveCheckbox: document.getElementById("findMatchCase"),
- matchDiacriticsCheckbox: document.getElementById("findMatchDiacritics"),
- entireWordCheckbox: document.getElementById("findEntireWord"),
- findMsg: document.getElementById("findMsg"),
- findResultsCount: document.getElementById("findResultsCount"),
- findPreviousButton: document.getElementById("findPrevious"),
- findNextButton: document.getElementById("findNext")
- },
- passwordOverlay: {
- dialog: document.getElementById("passwordDialog"),
- label: document.getElementById("passwordText"),
- input: document.getElementById("password"),
- submitButton: document.getElementById("passwordSubmit"),
- cancelButton: document.getElementById("passwordCancel")
- },
- documentProperties: {
- dialog: document.getElementById("documentPropertiesDialog"),
- closeButton: document.getElementById("documentPropertiesClose"),
- fields: {
- fileName: document.getElementById("fileNameField"),
- fileSize: document.getElementById("fileSizeField"),
- title: document.getElementById("titleField"),
- author: document.getElementById("authorField"),
- subject: document.getElementById("subjectField"),
- keywords: document.getElementById("keywordsField"),
- creationDate: document.getElementById("creationDateField"),
- modificationDate: document.getElementById("modificationDateField"),
- creator: document.getElementById("creatorField"),
- producer: document.getElementById("producerField"),
- version: document.getElementById("versionField"),
- pageCount: document.getElementById("pageCountField"),
- pageSize: document.getElementById("pageSizeField"),
- linearized: document.getElementById("linearizedField")
- }
- },
- annotationEditorParams: {
- editorFreeTextFontSize: document.getElementById("editorFreeTextFontSize"),
- editorFreeTextColor: document.getElementById("editorFreeTextColor"),
- editorInkColor: document.getElementById("editorInkColor"),
- editorInkThickness: document.getElementById("editorInkThickness"),
- editorInkOpacity: document.getElementById("editorInkOpacity")
- },
- errorWrapper,
- printContainer: document.getElementById("printContainer"),
- openFileInput: document.getElementById("fileInput"),
- debuggerScriptPath: "./debugger.js"
- };
-}
-
-function webViewerLoad() {
- const config = getViewerConfiguration();
- const event = document.createEvent("CustomEvent");
- event.initCustomEvent("webviewerloaded", true, true, {
- source: window
- });
-
- try {
- parent.document.dispatchEvent(event);
- } catch (ex) {
- console.error(`webviewerloaded: ${ex}`);
- document.dispatchEvent(event);
- }
-
- _app.PDFViewerApplication.run(config);
-}
-
-document.blockUnblockOnload?.(true);
-
-if (document.readyState === "interactive" || document.readyState === "complete") {
- webViewerLoad();
-} else {
- document.addEventListener("DOMContentLoaded", webViewerLoad, true);
-}
-})();
-
-/******/ })()
-;
-//# sourceMappingURL=viewer.js.map
\ No newline at end of file
diff --git a/static/js/pdf-js/web/viewer.js.map b/static/js/pdf-js/web/viewer.js.map
deleted file mode 100644
index 3879a8d..0000000
--- a/static/js/pdf-js/web/viewer.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"viewer.js","mappings":"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","sources":["webpack://pdf.js/web/ui_utils.js","webpack://pdf.js/web/app_options.js","webpack://pdf.js/web/pdf_link_service.js","webpack://pdf.js/web/app.js","webpack://pdf.js/web/pdfjs.js","webpack://pdf.js/web/event_utils.js","webpack://pdf.js/web/pdf_cursor_tools.js","webpack://pdf.js/web/grab_to_pan.js","webpack://pdf.js/web/annotation_editor_params.js","webpack://pdf.js/web/overlay_manager.js","webpack://pdf.js/web/password_prompt.js","webpack://pdf.js/web/pdf_attachment_viewer.js","webpack://pdf.js/web/base_tree_viewer.js","webpack://pdf.js/web/pdf_document_properties.js","webpack://pdf.js/web/pdf_find_bar.js","webpack://pdf.js/web/pdf_find_controller.js","webpack://pdf.js/web/pdf_find_utils.js","webpack://pdf.js/web/pdf_history.js","webpack://pdf.js/web/pdf_layer_viewer.js","webpack://pdf.js/web/pdf_outline_viewer.js","webpack://pdf.js/web/pdf_presentation_mode.js","webpack://pdf.js/web/pdf_rendering_queue.js","webpack://pdf.js/web/pdf_scripting_manager.js","webpack://pdf.js/web/pdf_sidebar.js","webpack://pdf.js/web/pdf_sidebar_resizer.js","webpack://pdf.js/web/pdf_thumbnail_viewer.js","webpack://pdf.js/web/pdf_thumbnail_view.js","webpack://pdf.js/web/pdf_viewer.js","webpack://pdf.js/web/base_viewer.js","webpack://pdf.js/web/annotation_editor_layer_builder.js","webpack://pdf.js/web/l10n_utils.js","webpack://pdf.js/web/annotation_layer_builder.js","webpack://pdf.js/web/pdf_page_view.js","webpack://pdf.js/web/text_accessibility.js","webpack://pdf.js/web/struct_tree_layer_builder.js","webpack://pdf.js/web/text_highlighter.js","webpack://pdf.js/web/text_layer_builder.js","webpack://pdf.js/web/xfa_layer_builder.js","webpack://pdf.js/web/secondary_toolbar.js","webpack://pdf.js/web/toolbar.js","webpack://pdf.js/web/view_history.js","webpack://pdf.js/web/genericcom.js","webpack://pdf.js/web/preferences.js","webpack://pdf.js/web/download_manager.js","webpack://pdf.js/web/genericl10n.js","webpack://pdf.js/external/webL10n/l10n.js","webpack://pdf.js/web/generic_scripting.js","webpack://pdf.js/web/pdf_print_service.js","webpack://pdf.js/web/print_utils.js","webpack://pdf.js/webpack/bootstrap","webpack://pdf.js/web/viewer.js"],"sourcesContent":["/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst DEFAULT_SCALE_VALUE = \"auto\";\nconst DEFAULT_SCALE = 1.0;\nconst DEFAULT_SCALE_DELTA = 1.1;\nconst MIN_SCALE = 0.1;\nconst MAX_SCALE = 10.0;\nconst UNKNOWN_SCALE = 0;\nconst MAX_AUTO_SCALE = 1.25;\nconst SCROLLBAR_PADDING = 40;\nconst VERTICAL_PADDING = 5;\n\nconst RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3,\n};\n\nconst PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3,\n};\n\nconst SidebarView = {\n UNKNOWN: -1,\n NONE: 0,\n THUMBS: 1, // Default value.\n OUTLINE: 2,\n ATTACHMENTS: 3,\n LAYERS: 4,\n};\n\nconst RendererType =\n typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"!PRODUCTION || GENERIC\")\n ? {\n CANVAS: \"canvas\",\n SVG: \"svg\",\n }\n : null;\n\nconst TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_ENHANCE: 2,\n};\n\nconst ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0, // Default value.\n HORIZONTAL: 1,\n WRAPPED: 2,\n PAGE: 3,\n};\n\nconst SpreadMode = {\n UNKNOWN: -1,\n NONE: 0, // Default value.\n ODD: 1,\n EVEN: 2,\n};\n\n// Used by `PDFViewerApplication`, and by the API unit-tests.\nconst AutoPrintRegExp = /\\bprint\\s*\\(/;\n\n/**\n * Scale factors for the canvas, necessary with HiDPI displays.\n */\nclass OutputScale {\n constructor() {\n const pixelRatio = window.devicePixelRatio || 1;\n\n /**\n * @type {number} Horizontal scale.\n */\n this.sx = pixelRatio;\n\n /**\n * @type {number} Vertical scale.\n */\n this.sy = pixelRatio;\n }\n\n /**\n * @type {boolean} Returns `true` when scaling is required, `false` otherwise.\n */\n get scaled() {\n return this.sx !== 1 || this.sy !== 1;\n }\n}\n\n/**\n * Scrolls specified element into view of its parent.\n * @param {Object} element - The element to be visible.\n * @param {Object} spot - An object with optional top and left properties,\n * specifying the offset from the top left edge.\n * @param {boolean} [scrollMatches] - When scrolling search results into view,\n * ignore elements that either: Contains marked content identifiers,\n * or have the CSS-rule `overflow: hidden;` set. The default value is `false`.\n */\nfunction scrollIntoView(element, spot, scrollMatches = false) {\n // Assuming offsetParent is available (it's not available when viewer is in\n // hidden iframe or object). We have to scroll: if the offsetParent is not set\n // producing the error. See also animationStarted.\n let parent = element.offsetParent;\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n let offsetY = element.offsetTop + element.clientTop;\n let offsetX = element.offsetLeft + element.clientLeft;\n while (\n (parent.clientHeight === parent.scrollHeight &&\n parent.clientWidth === parent.scrollWidth) ||\n (scrollMatches &&\n (parent.classList.contains(\"markedContent\") ||\n getComputedStyle(parent).overflow === \"hidden\"))\n ) {\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n\n parent = parent.offsetParent;\n if (!parent) {\n return; // no need to scroll\n }\n }\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n parent.scrollTop = offsetY;\n}\n\n/**\n * Helper function to start monitoring the scroll event and converting them into\n * PDF.js friendly one: with scroll debounce and scroll direction.\n */\nfunction watchScroll(viewAreaElement, callback) {\n const debounceScroll = function (evt) {\n if (rAF) {\n return;\n }\n // schedule an invocation of scroll for next animation frame.\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n\n const currentX = viewAreaElement.scrollLeft;\n const lastX = state.lastX;\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n state.lastX = currentX;\n const currentY = viewAreaElement.scrollTop;\n const lastY = state.lastY;\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n state.lastY = currentY;\n callback(state);\n });\n };\n\n const state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll,\n };\n\n let rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n return state;\n}\n\n/**\n * Helper function to parse query string (e.g. ?param1=value¶m2=...).\n * @param {string}\n * @returns {Map}\n */\nfunction parseQueryString(query) {\n const params = new Map();\n for (const [key, value] of new URLSearchParams(query)) {\n params.set(key.toLowerCase(), value);\n }\n return params;\n}\n\nconst NullCharactersRegExp = /\\x00/g;\nconst InvisibleCharactersRegExp = /[\\x01-\\x1F]/g;\n\n/**\n * @param {string} str\n * @param {boolean} [replaceInvisible]\n */\nfunction removeNullCharacters(str, replaceInvisible = false) {\n if (typeof str !== \"string\") {\n console.error(`The argument must be a string.`);\n return str;\n }\n if (replaceInvisible) {\n str = str.replace(InvisibleCharactersRegExp, \" \");\n }\n return str.replace(NullCharactersRegExp, \"\");\n}\n\n/**\n * Use binary search to find the index of the first item in a given array which\n * passes a given condition. The items are expected to be sorted in the sense\n * that if the condition is true for one item in the array, then it is also true\n * for all following items.\n *\n * @returns {number} Index of the first array element to pass the test,\n * or |items.length| if no such element exists.\n */\nfunction binarySearchFirstItem(items, condition, start = 0) {\n let minIndex = start;\n let maxIndex = items.length - 1;\n\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n if (condition(items[minIndex])) {\n return minIndex;\n }\n\n while (minIndex < maxIndex) {\n const currentIndex = (minIndex + maxIndex) >> 1;\n const currentItem = items[currentIndex];\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n return minIndex; /* === maxIndex */\n}\n\n/**\n * Approximates float number as a fraction using Farey sequence (max order\n * of 8).\n * @param {number} x - Positive float number.\n * @returns {Array} Estimated fraction: the first array item is a numerator,\n * the second one is a denominator.\n */\nfunction approximateFraction(x) {\n // Fast paths for int numbers or their inversions.\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n const xinv = 1 / x;\n const limit = 8;\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n\n const x_ = x > 1 ? xinv : x;\n // a/b and c/d are neighbours in Farey sequence.\n let a = 0,\n b = 1,\n c = 1,\n d = 1;\n // Limiting search to order 8.\n while (true) {\n // Generating next term in sequence (order of q).\n const p = a + c,\n q = b + d;\n if (q > limit) {\n break;\n }\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n let result;\n // Select closest of the neighbours to x.\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n return result;\n}\n\nfunction roundToDivide(x, div) {\n const r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\n\n/**\n * @typedef {Object} GetPageSizeInchesParameters\n * @property {number[]} view\n * @property {number} userUnit\n * @property {number} rotate\n */\n\n/**\n * @typedef {Object} PageSize\n * @property {number} width - In inches.\n * @property {number} height - In inches.\n */\n\n/**\n * Gets the size of the specified page, converted from PDF units to inches.\n * @param {GetPageSizeInchesParameters} params\n * @returns {PageSize}\n */\nfunction getPageSizeInches({ view, userUnit, rotate }) {\n const [x1, y1, x2, y2] = view;\n // We need to take the page rotation into account as well.\n const changeOrientation = rotate % 180 !== 0;\n\n const width = ((x2 - x1) / 72) * userUnit;\n const height = ((y2 - y1) / 72) * userUnit;\n\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height,\n };\n}\n\n/**\n * Helper function for getVisibleElements.\n *\n * @param {number} index - initial guess at the first visible element\n * @param {Array} views - array of pages, into which `index` is an index\n * @param {number} top - the top of the scroll pane\n * @returns {number} less than or equal to `index` that is definitely at or\n * before the first visible element in `views`, but not by too much. (Usually,\n * this will be the first element in the first partially visible row in\n * `views`, although sometimes it goes back one row further.)\n */\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n // binarySearchFirstItem's assumption is that the input is ordered, with only\n // one index where the conditions flips from false to true: [false ...,\n // true...]. With vertical scrolling and spreads, it is possible to have\n // [false ..., true, false, true ...]. With wrapped scrolling we can have a\n // similar sequence, with many more mixed true and false in the middle.\n //\n // So there is no guarantee that the binary search yields the index of the\n // first visible element. It could have been any of the other visible elements\n // that were preceded by a hidden element.\n\n // Of course, if either this element or the previous (hidden) element is also\n // the first element, there's nothing to worry about.\n if (index < 2) {\n return index;\n }\n\n // That aside, the possible cases are represented below.\n //\n // **** = fully hidden\n // A*B* = mix of partially visible and/or hidden pages\n // CDEF = fully visible\n //\n // (1) Binary search could have returned A, in which case we can stop.\n // (2) Binary search could also have returned B, in which case we need to\n // check the whole row.\n // (3) Binary search could also have returned C, in which case we need to\n // check the whole previous row.\n //\n // There's one other possibility:\n //\n // **** = fully hidden\n // ABCD = mix of fully and/or partially visible pages\n //\n // (4) Binary search could only have returned A.\n\n // Initially assume that we need to find the beginning of the current row\n // (case 1, 2, or 4), which means finding a page that is above the current\n // page's top. If the found page is partially visible, we're definitely not in\n // case 3, and this assumption is correct.\n let elt = views[index].div;\n let pageTop = elt.offsetTop + elt.clientTop;\n\n if (pageTop >= top) {\n // The found page is fully visible, so we're actually either in case 3 or 4,\n // and unfortunately we can't tell the difference between them without\n // scanning the entire previous row, so we just conservatively assume that\n // we do need to backtrack to that row. In both cases, the previous page is\n // in the previous row, so use its top instead.\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n\n // Now we backtrack to the first page that still has its bottom below\n // `pageTop`, which is the top of a page in the first visible row (unless\n // we're in case 4, in which case it's the row before that).\n // `index` is found by binary search, so the page at `index - 1` is\n // invisible and we can start looking for potentially visible pages from\n // `index - 2`. (However, if this loop terminates on its first iteration,\n // which is the case when pages are stacked vertically, `index` should remain\n // unchanged, so we use a distinct loop variable.)\n for (let i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n // We have reached the previous row, so stop now.\n // This loop is expected to terminate relatively quickly because the\n // number of pages per row is expected to be small.\n break;\n }\n index = i;\n }\n return index;\n}\n\n/**\n * @typedef {Object} GetVisibleElementsParameters\n * @property {HTMLElement} scrollEl - A container that can possibly scroll.\n * @property {Array} views - Objects with a `div` property that contains an\n * HTMLElement, which should all be descendants of `scrollEl` satisfying the\n * relevant layout assumptions.\n * @property {boolean} sortByVisibility - If `true`, the returned elements are\n * sorted in descending order of the percent of their padding box that is\n * visible. The default value is `false`.\n * @property {boolean} horizontal - If `true`, the elements are assumed to be\n * laid out horizontally instead of vertically. The default value is `false`.\n * @property {boolean} rtl - If `true`, the `scrollEl` container is assumed to\n * be in right-to-left mode. The default value is `false`.\n */\n\n/**\n * Generic helper to find out what elements are visible within a scroll pane.\n *\n * Well, pretty generic. There are some assumptions placed on the elements\n * referenced by `views`:\n * - If `horizontal`, no left of any earlier element is to the right of the\n * left of any later element.\n * - Otherwise, `views` can be split into contiguous rows where, within a row,\n * no top of any element is below the bottom of any other element, and\n * between rows, no bottom of any element in an earlier row is below the\n * top of any element in a later row.\n *\n * (Here, top, left, etc. all refer to the padding edge of the element in\n * question. For pages, that ends up being equivalent to the bounding box of the\n * rendering canvas. Earlier and later refer to index in `views`, not page\n * layout.)\n *\n * @param {GetVisibleElementsParameters}\n * @returns {Object} `{ first, last, views: [{ id, x, y, view, percent }] }`\n */\nfunction getVisibleElements({\n scrollEl,\n views,\n sortByVisibility = false,\n horizontal = false,\n rtl = false,\n}) {\n const top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n const left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n\n // Throughout this \"generic\" function, comments will assume we're working with\n // PDF document pages, which is the most important and complex case. In this\n // case, the visible elements we're actually interested is the page canvas,\n // which is contained in a wrapper which adds no padding/border/margin, which\n // is itself contained in `view.div` which adds no padding (but does add a\n // border). So, as specified in this function's doc comment, this function\n // does all of its work on the padding edge of the provided views, starting at\n // offsetLeft/Top (which includes margin) and adding clientLeft/Top (which is\n // the border). Adding clientWidth/Height gets us the bottom-right corner of\n // the padding edge.\n function isElementBottomAfterViewTop(view) {\n const element = view.div;\n const elementBottom =\n element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n function isElementNextAfterViewHorizontally(view) {\n const element = view.div;\n const elementLeft = element.offsetLeft + element.clientLeft;\n const elementRight = elementLeft + element.clientWidth;\n return rtl ? elementLeft < right : elementRight > left;\n }\n\n const visible = [],\n ids = new Set(),\n numViews = views.length;\n let firstVisibleElementInd = binarySearchFirstItem(\n views,\n horizontal\n ? isElementNextAfterViewHorizontally\n : isElementBottomAfterViewTop\n );\n\n // Please note the return value of the `binarySearchFirstItem` function when\n // no valid element is found (hence the `firstVisibleElementInd` check below).\n if (\n firstVisibleElementInd > 0 &&\n firstVisibleElementInd < numViews &&\n !horizontal\n ) {\n // In wrapped scrolling (or vertical scrolling with spreads), with some page\n // sizes, isElementBottomAfterViewTop doesn't satisfy the binary search\n // condition: there can be pages with bottoms above the view top between\n // pages with bottoms below. This function detects and corrects that error;\n // see it for more comments.\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(\n firstVisibleElementInd,\n views,\n top\n );\n }\n\n // lastEdge acts as a cutoff for us to stop looping, because we know all\n // subsequent pages will be hidden.\n //\n // When using wrapped scrolling or vertical scrolling with spreads, we can't\n // simply stop the first time we reach a page below the bottom of the view;\n // the tops of subsequent pages on the same row could still be visible. In\n // horizontal scrolling, we don't have that issue, so we can stop as soon as\n // we pass `right`, without needing the code below that handles the -1 case.\n let lastEdge = horizontal ? right : -1;\n\n for (let i = firstVisibleElementInd; i < numViews; i++) {\n const view = views[i],\n element = view.div;\n const currentWidth = element.offsetLeft + element.clientLeft;\n const currentHeight = element.offsetTop + element.clientTop;\n const viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n const viewRight = currentWidth + viewWidth;\n const viewBottom = currentHeight + viewHeight;\n\n if (lastEdge === -1) {\n // As commented above, this is only needed in non-horizontal cases.\n // Setting lastEdge to the bottom of the first page that is partially\n // visible ensures that the next page fully below lastEdge is on the\n // next row, which has to be fully hidden along with all subsequent rows.\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n\n if (\n viewBottom <= top ||\n currentHeight >= bottom ||\n viewRight <= left ||\n currentWidth >= right\n ) {\n continue;\n }\n\n const hiddenHeight =\n Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n const hiddenWidth =\n Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n\n const fractionHeight = (viewHeight - hiddenHeight) / viewHeight,\n fractionWidth = (viewWidth - hiddenWidth) / viewWidth;\n const percent = (fractionHeight * fractionWidth * 100) | 0;\n\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view,\n percent,\n widthPercent: (fractionWidth * 100) | 0,\n });\n ids.add(view.id);\n }\n\n const first = visible[0],\n last = visible.at(-1);\n\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n const pc = a.percent - b.percent;\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n return a.id - b.id; // ensure stability\n });\n }\n return { first, last, views: visible, ids };\n}\n\n/**\n * Event handler to suppress context menu.\n */\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\n\nfunction normalizeWheelEventDirection(evt) {\n let delta = Math.hypot(evt.deltaX, evt.deltaY);\n const angle = Math.atan2(evt.deltaY, evt.deltaX);\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n // All that is left-up oriented has to change the sign.\n delta = -delta;\n }\n return delta;\n}\n\nfunction normalizeWheelEventDelta(evt) {\n let delta = normalizeWheelEventDirection(evt);\n\n const MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n const MOUSE_DOM_DELTA_LINE_MODE = 1;\n const MOUSE_PIXELS_PER_LINE = 30;\n const MOUSE_LINES_PER_PAGE = 30;\n\n // Converts delta to per-page units\n if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n return delta;\n}\n\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\n\nfunction isValidScrollMode(mode) {\n return (\n Number.isInteger(mode) &&\n Object.values(ScrollMode).includes(mode) &&\n mode !== ScrollMode.UNKNOWN\n );\n}\n\nfunction isValidSpreadMode(mode) {\n return (\n Number.isInteger(mode) &&\n Object.values(SpreadMode).includes(mode) &&\n mode !== SpreadMode.UNKNOWN\n );\n}\n\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\n\n/**\n * Promise that is resolved when DOM window becomes visible.\n */\nconst animationStarted = new Promise(function (resolve) {\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"LIB\") &&\n typeof window === \"undefined\"\n ) {\n // Prevent \"ReferenceError: window is not defined\" errors when running the\n // unit-tests in Node.js environments.\n setTimeout(resolve, 20);\n return;\n }\n window.requestAnimationFrame(resolve);\n});\n\nconst docStyle =\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"LIB\") &&\n typeof document === \"undefined\"\n ? null\n : document.documentElement.style;\n\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\n\nclass ProgressBar {\n #classList = null;\n\n #percent = 0;\n\n #visible = true;\n\n constructor(id) {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n arguments.length > 1\n ) {\n throw new Error(\n \"ProgressBar no longer accepts any additional options, \" +\n \"please use CSS rules to modify its appearance instead.\"\n );\n }\n const bar = document.getElementById(id);\n this.#classList = bar.classList;\n }\n\n get percent() {\n return this.#percent;\n }\n\n set percent(val) {\n this.#percent = clamp(val, 0, 100);\n\n if (isNaN(val)) {\n this.#classList.add(\"indeterminate\");\n return;\n }\n this.#classList.remove(\"indeterminate\");\n\n docStyle.setProperty(\"--progressBar-percent\", `${this.#percent}%`);\n }\n\n setWidth(viewer) {\n if (!viewer) {\n return;\n }\n const container = viewer.parentNode;\n const scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n if (scrollbarWidth > 0) {\n docStyle.setProperty(\"--progressBar-end-offset\", `${scrollbarWidth}px`);\n }\n }\n\n hide() {\n if (!this.#visible) {\n return;\n }\n this.#visible = false;\n this.#classList.add(\"hidden\");\n }\n\n show() {\n if (this.#visible) {\n return;\n }\n this.#visible = true;\n this.#classList.remove(\"hidden\");\n }\n}\n\n/**\n * Get the active or focused element in current DOM.\n *\n * Recursively search for the truly active or focused element in case there are\n * shadow DOMs.\n *\n * @returns {Element} the truly active or focused element.\n */\nfunction getActiveOrFocusedElement() {\n let curRoot = document;\n let curActiveOrFocused =\n curRoot.activeElement || curRoot.querySelector(\":focus\");\n\n while (curActiveOrFocused?.shadowRoot) {\n curRoot = curActiveOrFocused.shadowRoot;\n curActiveOrFocused =\n curRoot.activeElement || curRoot.querySelector(\":focus\");\n }\n\n return curActiveOrFocused;\n}\n\n/**\n * Converts API PageLayout values to the format used by `BaseViewer`.\n * NOTE: This is supported to the extent that the viewer implements the\n * necessary Scroll/Spread modes (since SinglePage, TwoPageLeft,\n * and TwoPageRight all suggests using non-continuous scrolling).\n * @param {string} mode - The API PageLayout value.\n * @returns {Object}\n */\nfunction apiPageLayoutToViewerModes(layout) {\n let scrollMode = ScrollMode.VERTICAL,\n spreadMode = SpreadMode.NONE;\n\n switch (layout) {\n case \"SinglePage\":\n scrollMode = ScrollMode.PAGE;\n break;\n case \"OneColumn\":\n break;\n case \"TwoPageLeft\":\n scrollMode = ScrollMode.PAGE;\n /* falls through */\n case \"TwoColumnLeft\":\n spreadMode = SpreadMode.ODD;\n break;\n case \"TwoPageRight\":\n scrollMode = ScrollMode.PAGE;\n /* falls through */\n case \"TwoColumnRight\":\n spreadMode = SpreadMode.EVEN;\n break;\n }\n return { scrollMode, spreadMode };\n}\n\n/**\n * Converts API PageMode values to the format used by `PDFSidebar`.\n * NOTE: There's also a \"FullScreen\" parameter which is not possible to support,\n * since the Fullscreen API used in browsers requires that entering\n * fullscreen mode only occurs as a result of a user-initiated event.\n * @param {string} mode - The API PageMode value.\n * @returns {number} A value from {SidebarView}.\n */\nfunction apiPageModeToSidebarView(mode) {\n switch (mode) {\n case \"UseNone\":\n return SidebarView.NONE;\n case \"UseThumbs\":\n return SidebarView.THUMBS;\n case \"UseOutlines\":\n return SidebarView.OUTLINE;\n case \"UseAttachments\":\n return SidebarView.ATTACHMENTS;\n case \"UseOC\":\n return SidebarView.LAYERS;\n }\n return SidebarView.NONE; // Default value.\n}\n\nexport {\n animationStarted,\n apiPageLayoutToViewerModes,\n apiPageModeToSidebarView,\n approximateFraction,\n AutoPrintRegExp,\n backtrackBeforeAllVisibleElements, // only exported for testing\n binarySearchFirstItem,\n DEFAULT_SCALE,\n DEFAULT_SCALE_DELTA,\n DEFAULT_SCALE_VALUE,\n docStyle,\n getActiveOrFocusedElement,\n getPageSizeInches,\n getVisibleElements,\n isPortraitOrientation,\n isValidRotation,\n isValidScrollMode,\n isValidSpreadMode,\n MAX_AUTO_SCALE,\n MAX_SCALE,\n MIN_SCALE,\n noContextMenuHandler,\n normalizeWheelEventDelta,\n normalizeWheelEventDirection,\n OutputScale,\n parseQueryString,\n PresentationModeState,\n ProgressBar,\n removeNullCharacters,\n RendererType,\n RenderingStates,\n roundToDivide,\n SCROLLBAR_PADDING,\n scrollIntoView,\n ScrollMode,\n SidebarView,\n SpreadMode,\n TextLayerMode,\n UNKNOWN_SCALE,\n VERTICAL_PADDING,\n watchScroll,\n};\n","/* Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst compatibilityParams = Object.create(null);\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"LIB\") &&\n typeof navigator === \"undefined\"\n ) {\n globalThis.navigator = Object.create(null);\n }\n const userAgent = navigator.userAgent || \"\";\n const platform = navigator.platform || \"\";\n const maxTouchPoints = navigator.maxTouchPoints || 1;\n\n const isAndroid = /Android/.test(userAgent);\n const isIOS =\n /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) ||\n (platform === \"MacIntel\" && maxTouchPoints > 1);\n\n // Limit canvas size to 5 mega-pixels on mobile.\n // Support: Android, iOS\n (function checkCanvasSizeLimitation() {\n if (isIOS || isAndroid) {\n compatibilityParams.maxCanvasPixels = 5242880;\n }\n })();\n}\n\nconst OptionKind = {\n VIEWER: 0x02,\n API: 0x04,\n WORKER: 0x08,\n PREFERENCE: 0x80,\n};\n\n/**\n * NOTE: These options are used to generate the `default_preferences.json` file,\n * see `OptionKind.PREFERENCE`, hence the values below must use only\n * primitive types and cannot rely on any imported types.\n */\nconst defaultOptions = {\n annotationEditorMode: {\n /** @type {boolean} */\n value:\n typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ? 0\n : -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n annotationMode: {\n /** @type {number} */\n value: 2,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n cursorToolOnLoad: {\n /** @type {number} */\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n defaultZoomValue: {\n /** @type {string} */\n value: \"\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n disableHistory: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER,\n },\n disablePageLabels: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n enablePermissions: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n enablePrintAutoRotate: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n enableScripting: {\n /** @type {boolean} */\n value: typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"CHROME\"),\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n externalLinkRel: {\n /** @type {string} */\n value: \"noopener noreferrer nofollow\",\n kind: OptionKind.VIEWER,\n },\n externalLinkTarget: {\n /** @type {number} */\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n historyUpdateUrl: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ignoreDestinationZoom: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n imageResourcesPath: {\n /** @type {string} */\n value: \"./images/\",\n kind: OptionKind.VIEWER,\n },\n maxCanvasPixels: {\n /** @type {number} */\n value: 16777216,\n kind: OptionKind.VIEWER,\n },\n forcePageColors: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n pageColorsBackground: {\n /** @type {string} */\n value: \"Canvas\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n pageColorsForeground: {\n /** @type {string} */\n value: \"CanvasText\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n pdfBugEnabled: {\n /** @type {boolean} */\n value: typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\"),\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n printResolution: {\n /** @type {number} */\n value: 150,\n kind: OptionKind.VIEWER,\n },\n sidebarViewOnLoad: {\n /** @type {number} */\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n scrollModeOnLoad: {\n /** @type {number} */\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n spreadModeOnLoad: {\n /** @type {number} */\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n textLayerMode: {\n /** @type {number} */\n value: 1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n useOnlyCssZoom: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n viewerCssTheme: {\n /** @type {number} */\n value: typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"CHROME\") ? 2 : 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n viewOnLoad: {\n /** @type {boolean} */\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n\n cMapPacked: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.API,\n },\n cMapUrl: {\n /** @type {string} */\n value:\n typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")\n ? \"../external/bcmaps/\"\n : \"../web/cmaps/\",\n kind: OptionKind.API,\n },\n disableAutoFetch: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n disableFontFace: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n disableRange: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n disableStream: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n docBaseUrl: {\n /** @type {string} */\n value: \"\",\n kind: OptionKind.API,\n },\n enableXfa: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n fontExtraProperties: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API,\n },\n isEvalSupported: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.API,\n },\n maxImageSize: {\n /** @type {number} */\n value: -1,\n kind: OptionKind.API,\n },\n pdfBug: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API,\n },\n standardFontDataUrl: {\n /** @type {string} */\n value:\n typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")\n ? \"../external/standard_fonts/\"\n : \"../web/standard_fonts/\",\n kind: OptionKind.API,\n },\n verbosity: {\n /** @type {number} */\n value: 1,\n kind: OptionKind.API,\n },\n\n workerPort: {\n /** @type {Object} */\n value: null,\n kind: OptionKind.WORKER,\n },\n workerSrc: {\n /** @type {string} */\n value:\n typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")\n ? \"../src/worker_loader.js\"\n : \"../build/pdf.worker.js\",\n kind: OptionKind.WORKER,\n },\n};\nif (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || GENERIC\")\n) {\n defaultOptions.defaultUrl = {\n /** @type {string} */\n value: \"compressed.tracemonkey-pldi-09.pdf\",\n kind: OptionKind.VIEWER,\n };\n defaultOptions.disablePreferences = {\n /** @type {boolean} */\n value: typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"TESTING\"),\n kind: OptionKind.VIEWER,\n };\n defaultOptions.locale = {\n /** @type {string} */\n value: navigator.language || \"en-US\",\n kind: OptionKind.VIEWER,\n };\n defaultOptions.renderer = {\n /** @type {string} */\n value: \"canvas\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n };\n defaultOptions.sandboxBundleSrc = {\n /** @type {string} */\n value:\n typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")\n ? \"../build/dev-sandbox/pdf.sandbox.js\"\n : \"../build/pdf.sandbox.js\",\n kind: OptionKind.VIEWER,\n };\n} else if (PDFJSDev.test(\"CHROME\")) {\n defaultOptions.defaultUrl = {\n /** @type {string} */\n value: \"\",\n kind: OptionKind.VIEWER,\n };\n defaultOptions.disableTelemetry = {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n };\n defaultOptions.sandboxBundleSrc = {\n /** @type {string} */\n value: \"../build/pdf.sandbox.js\",\n kind: OptionKind.VIEWER,\n };\n}\n\nconst userOptions = Object.create(null);\n\nclass AppOptions {\n constructor() {\n throw new Error(\"Cannot initialize AppOptions.\");\n }\n\n static get(name) {\n const userOption = userOptions[name];\n if (userOption !== undefined) {\n return userOption;\n }\n const defaultOption = defaultOptions[name];\n if (defaultOption !== undefined) {\n return compatibilityParams[name] ?? defaultOption.value;\n }\n return undefined;\n }\n\n static getAll(kind = null) {\n const options = Object.create(null);\n for (const name in defaultOptions) {\n const defaultOption = defaultOptions[name];\n if (kind) {\n if ((kind & defaultOption.kind) === 0) {\n continue;\n }\n if (kind === OptionKind.PREFERENCE) {\n const value = defaultOption.value,\n valueType = typeof value;\n\n if (\n valueType === \"boolean\" ||\n valueType === \"string\" ||\n (valueType === \"number\" && Number.isInteger(value))\n ) {\n options[name] = value;\n continue;\n }\n throw new Error(`Invalid type for preference: ${name}`);\n }\n }\n const userOption = userOptions[name];\n options[name] =\n userOption !== undefined\n ? userOption\n : compatibilityParams[name] ?? defaultOption.value;\n }\n return options;\n }\n\n static set(name, value) {\n userOptions[name] = value;\n }\n\n static setAll(options) {\n for (const name in options) {\n userOptions[name] = options[name];\n }\n }\n\n static remove(name) {\n delete userOptions[name];\n }\n\n /**\n * @ignore\n */\n static _hasUserOptions() {\n return Object.keys(userOptions).length > 0;\n }\n}\n\nexport { AppOptions, compatibilityParams, OptionKind };\n","/* Copyright 2015 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @typedef {import(\"./event_utils\").EventBus} EventBus */\n/** @typedef {import(\"./interfaces\").IPDFLinkService} IPDFLinkService */\n\nimport { parseQueryString, removeNullCharacters } from \"./ui_utils.js\";\n\nconst DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\n\nconst LinkTarget = {\n NONE: 0, // Default value.\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4,\n};\n\n/**\n * @typedef {Object} ExternalLinkParameters\n * @property {string} url - An absolute URL.\n * @property {LinkTarget} [target] - The link target. The default value is\n * `LinkTarget.NONE`.\n * @property {string} [rel] - The link relationship. The default value is\n * `DEFAULT_LINK_REL`.\n * @property {boolean} [enabled] - Whether the link should be enabled. The\n * default value is true.\n */\n\n/**\n * Adds various attributes (href, title, target, rel) to hyperlinks.\n * @param {HTMLAnchorElement} link - The link element.\n * @param {ExternalLinkParameters} params\n */\nfunction addLinkAttributes(link, { url, target, rel, enabled = true } = {}) {\n if (!url || typeof url !== \"string\") {\n throw new Error('A valid \"url\" parameter must provided.');\n }\n\n const urlNullRemoved = removeNullCharacters(url);\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = \"\";\n link.title = `Disabled: ${urlNullRemoved}`;\n link.onclick = () => {\n return false;\n };\n }\n\n let targetStr = \"\"; // LinkTarget.NONE\n switch (target) {\n case LinkTarget.NONE:\n break;\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n link.target = targetStr;\n\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n}\n\n/**\n * @typedef {Object} PDFLinkServiceOptions\n * @property {EventBus} eventBus - The application event bus.\n * @property {number} [externalLinkTarget] - Specifies the `target` attribute\n * for external links. Must use one of the values from {LinkTarget}.\n * Defaults to using no target.\n * @property {string} [externalLinkRel] - Specifies the `rel` attribute for\n * external links. Defaults to stripping the referrer.\n * @property {boolean} [ignoreDestinationZoom] - Ignores the zoom argument,\n * thus preserving the current zoom level in the viewer, when navigating\n * to internal destinations. The default value is `false`.\n */\n\n/**\n * Performs navigation functions inside PDF, such as opening specified page,\n * or destination.\n * @implements {IPDFLinkService}\n */\nclass PDFLinkService {\n #pagesRefCache = new Map();\n\n /**\n * @param {PDFLinkServiceOptions} options\n */\n constructor({\n eventBus,\n externalLinkTarget = null,\n externalLinkRel = null,\n ignoreDestinationZoom = false,\n } = {}) {\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this.externalLinkEnabled = true;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n }\n\n setDocument(pdfDocument, baseUrl = null) {\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this.#pagesRefCache.clear();\n }\n\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n\n setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n\n /**\n * @type {number}\n */\n get pagesCount() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n\n /**\n * @type {number}\n */\n get page() {\n return this.pdfViewer.currentPageNumber;\n }\n\n /**\n * @param {number} value\n */\n set page(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n\n /**\n * @type {number}\n */\n get rotation() {\n return this.pdfViewer.pagesRotation;\n }\n\n /**\n * @param {number} value\n */\n set rotation(value) {\n this.pdfViewer.pagesRotation = value;\n }\n\n #goToDestinationHelper(rawDest, namedDest = null, explicitDest) {\n // Dest array looks like that: \n const destRef = explicitDest[0];\n let pageNumber;\n\n if (typeof destRef === \"object\" && destRef !== null) {\n pageNumber = this._cachedPageNumber(destRef);\n\n if (!pageNumber) {\n // Fetch the page reference if it's not yet available. This could\n // only occur during loading, before all pages have been resolved.\n this.pdfDocument\n .getPageIndex(destRef)\n .then(pageIndex => {\n this.cachePageRef(pageIndex + 1, destRef);\n this.#goToDestinationHelper(rawDest, namedDest, explicitDest);\n })\n .catch(() => {\n console.error(\n `PDFLinkService.#goToDestinationHelper: \"${destRef}\" is not ` +\n `a valid page reference, for dest=\"${rawDest}\".`\n );\n });\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error(\n `PDFLinkService.#goToDestinationHelper: \"${destRef}\" is not ` +\n `a valid destination reference, for dest=\"${rawDest}\".`\n );\n return;\n }\n if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(\n `PDFLinkService.#goToDestinationHelper: \"${pageNumber}\" is not ` +\n `a valid page number, for dest=\"${rawDest}\".`\n );\n return;\n }\n\n if (this.pdfHistory) {\n // Update the browser history before scrolling the new destination into\n // view, to be able to accurately capture the current document position.\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.push({ namedDest, explicitDest, pageNumber });\n }\n\n this.pdfViewer.scrollPageIntoView({\n pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: this._ignoreDestinationZoom,\n });\n }\n\n /**\n * This method will, when available, also update the browser history.\n *\n * @param {string|Array} dest - The named, or explicit, PDF destination.\n */\n async goToDestination(dest) {\n if (!this.pdfDocument) {\n return;\n }\n let namedDest, explicitDest;\n if (typeof dest === \"string\") {\n namedDest = dest;\n explicitDest = await this.pdfDocument.getDestination(dest);\n } else {\n namedDest = null;\n explicitDest = await dest;\n }\n if (!Array.isArray(explicitDest)) {\n console.error(\n `PDFLinkService.goToDestination: \"${explicitDest}\" is not ` +\n `a valid destination array, for dest=\"${dest}\".`\n );\n return;\n }\n this.#goToDestinationHelper(dest, namedDest, explicitDest);\n }\n\n /**\n * This method will, when available, also update the browser history.\n *\n * @param {number|string} val - The page number, or page label.\n */\n goToPage(val) {\n if (!this.pdfDocument) {\n return;\n }\n const pageNumber =\n (typeof val === \"string\" && this.pdfViewer.pageLabelToPageNumber(val)) ||\n val | 0;\n if (\n !(\n Number.isInteger(pageNumber) &&\n pageNumber > 0 &&\n pageNumber <= this.pagesCount\n )\n ) {\n console.error(`PDFLinkService.goToPage: \"${val}\" is not a valid page.`);\n return;\n }\n\n if (this.pdfHistory) {\n // Update the browser history before scrolling the new page into view,\n // to be able to accurately capture the current document position.\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.pushPage(pageNumber);\n }\n\n this.pdfViewer.scrollPageIntoView({ pageNumber });\n }\n\n /**\n * Wrapper around the `addLinkAttributes` helper function.\n * @param {HTMLAnchorElement} link\n * @param {string} url\n * @param {boolean} [newWindow]\n */\n addLinkAttributes(link, url, newWindow = false) {\n addLinkAttributes(link, {\n url,\n target: newWindow ? LinkTarget.BLANK : this.externalLinkTarget,\n rel: this.externalLinkRel,\n enabled: this.externalLinkEnabled,\n });\n }\n\n /**\n * @param {string|Array} dest - The PDF destination object.\n * @returns {string} The hyperlink to the PDF object.\n */\n getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n if (dest.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n } else if (Array.isArray(dest)) {\n const str = JSON.stringify(dest);\n if (str.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n }\n return this.getAnchorUrl(\"\");\n }\n\n /**\n * Prefix the full url on anchor links to make sure that links are resolved\n * relative to the current URL instead of the one defined in .\n * @param {string} anchor - The anchor hash, including the #.\n * @returns {string} The hyperlink to the PDF object.\n */\n getAnchorUrl(anchor) {\n return (this.baseUrl || \"\") + anchor;\n }\n\n /**\n * @param {string} hash\n */\n setHash(hash) {\n if (!this.pdfDocument) {\n return;\n }\n let pageNumber, dest;\n if (hash.includes(\"=\")) {\n const params = parseQueryString(hash);\n if (params.has(\"search\")) {\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: params.get(\"search\").replace(/\"/g, \"\"),\n phraseSearch: params.get(\"phrase\") === \"true\",\n });\n }\n // borrowing syntax from \"Parameters for Opening PDF Files\"\n if (params.has(\"page\")) {\n pageNumber = params.get(\"page\") | 0 || 1;\n }\n if (params.has(\"zoom\")) {\n // Build the destination array.\n const zoomArgs = params.get(\"zoom\").split(\",\"); // scale,left,top\n const zoomArg = zoomArgs[0];\n const zoomArgNumber = parseFloat(zoomArg);\n\n if (!zoomArg.includes(\"Fit\")) {\n // If the zoomArg is a number, it has to get divided by 100. If it's\n // a string, it should stay as it is.\n dest = [\n null,\n { name: \"XYZ\" },\n zoomArgs.length > 1 ? zoomArgs[1] | 0 : null,\n zoomArgs.length > 2 ? zoomArgs[2] | 0 : null,\n zoomArgNumber ? zoomArgNumber / 100 : zoomArg,\n ];\n } else {\n if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, { name: zoomArg }];\n } else if (\n zoomArg === \"FitH\" ||\n zoomArg === \"FitBH\" ||\n zoomArg === \"FitV\" ||\n zoomArg === \"FitBV\"\n ) {\n dest = [\n null,\n { name: zoomArg },\n zoomArgs.length > 1 ? zoomArgs[1] | 0 : null,\n ];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error(\n 'PDFLinkService.setHash: Not enough parameters for \"FitR\".'\n );\n } else {\n dest = [\n null,\n { name: zoomArg },\n zoomArgs[1] | 0,\n zoomArgs[2] | 0,\n zoomArgs[3] | 0,\n zoomArgs[4] | 0,\n ];\n }\n } else {\n console.error(\n `PDFLinkService.setHash: \"${zoomArg}\" is not a valid zoom value.`\n );\n }\n }\n }\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true,\n });\n } else if (pageNumber) {\n this.page = pageNumber; // simple page\n }\n if (params.has(\"pagemode\")) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.get(\"pagemode\"),\n });\n }\n // Ensure that this parameter is *always* handled last, in order to\n // guarantee that it won't be overridden (e.g. by the \"page\" parameter).\n if (params.has(\"nameddest\")) {\n this.goToDestination(params.get(\"nameddest\"));\n }\n } else {\n // Named (or explicit) destination.\n dest = unescape(hash);\n try {\n dest = JSON.parse(dest);\n\n if (!Array.isArray(dest)) {\n // Avoid incorrectly rejecting a valid named destination, such as\n // e.g. \"4.3\" or \"true\", because `JSON.parse` converted its type.\n dest = dest.toString();\n }\n } catch (ex) {}\n\n if (\n typeof dest === \"string\" ||\n PDFLinkService.#isValidExplicitDestination(dest)\n ) {\n this.goToDestination(dest);\n return;\n }\n console.error(\n `PDFLinkService.setHash: \"${unescape(\n hash\n )}\" is not a valid destination.`\n );\n }\n }\n\n /**\n * @param {string} action\n */\n executeNamedAction(action) {\n // See PDF reference, table 8.45 - Named action\n switch (action) {\n case \"GoBack\":\n this.pdfHistory?.back();\n break;\n\n case \"GoForward\":\n this.pdfHistory?.forward();\n break;\n\n case \"NextPage\":\n this.pdfViewer.nextPage();\n break;\n\n case \"PrevPage\":\n this.pdfViewer.previousPage();\n break;\n\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n\n case \"FirstPage\":\n this.page = 1;\n break;\n\n default:\n break; // No action according to spec\n }\n\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action,\n });\n }\n\n /**\n * @param {number} pageNum - page number.\n * @param {Object} pageRef - reference to the page.\n */\n cachePageRef(pageNum, pageRef) {\n if (!pageRef) {\n return;\n }\n const refStr =\n pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n this.#pagesRefCache.set(refStr, pageNum);\n }\n\n /**\n * @ignore\n */\n _cachedPageNumber(pageRef) {\n if (!pageRef) {\n return null;\n }\n const refStr =\n pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n return this.#pagesRefCache.get(refStr) || null;\n }\n\n /**\n * @param {number} pageNumber\n */\n isPageVisible(pageNumber) {\n return this.pdfViewer.isPageVisible(pageNumber);\n }\n\n /**\n * @param {number} pageNumber\n */\n isPageCached(pageNumber) {\n return this.pdfViewer.isPageCached(pageNumber);\n }\n\n static #isValidExplicitDestination(dest) {\n if (!Array.isArray(dest)) {\n return false;\n }\n const destLength = dest.length;\n if (destLength < 2) {\n return false;\n }\n const page = dest[0];\n if (\n !(\n typeof page === \"object\" &&\n Number.isInteger(page.num) &&\n Number.isInteger(page.gen)\n ) &&\n !(Number.isInteger(page) && page >= 0)\n ) {\n return false;\n }\n const zoom = dest[1];\n if (!(typeof zoom === \"object\" && typeof zoom.name === \"string\")) {\n return false;\n }\n let allowNull = true;\n switch (zoom.name) {\n case \"XYZ\":\n if (destLength !== 5) {\n return false;\n }\n break;\n case \"Fit\":\n case \"FitB\":\n return destLength === 2;\n case \"FitH\":\n case \"FitBH\":\n case \"FitV\":\n case \"FitBV\":\n if (destLength !== 3) {\n return false;\n }\n break;\n case \"FitR\":\n if (destLength !== 6) {\n return false;\n }\n allowNull = false;\n break;\n default:\n return false;\n }\n for (let i = 2; i < destLength; i++) {\n const param = dest[i];\n if (!(typeof param === \"number\" || (allowNull && param === null))) {\n return false;\n }\n }\n return true;\n }\n}\n\n/**\n * @implements {IPDFLinkService}\n */\nclass SimpleLinkService {\n constructor() {\n this.externalLinkEnabled = true;\n }\n\n /**\n * @type {number}\n */\n get pagesCount() {\n return 0;\n }\n\n /**\n * @type {number}\n */\n get page() {\n return 0;\n }\n\n /**\n * @param {number} value\n */\n set page(value) {}\n\n /**\n * @type {number}\n */\n get rotation() {\n return 0;\n }\n\n /**\n * @param {number} value\n */\n set rotation(value) {}\n\n /**\n * @param {string|Array} dest - The named, or explicit, PDF destination.\n */\n async goToDestination(dest) {}\n\n /**\n * @param {number|string} val - The page number, or page label.\n */\n goToPage(val) {}\n\n /**\n * @param {HTMLAnchorElement} link\n * @param {string} url\n * @param {boolean} [newWindow]\n */\n addLinkAttributes(link, url, newWindow = false) {\n addLinkAttributes(link, { url, enabled: this.externalLinkEnabled });\n }\n\n /**\n * @param dest - The PDF destination object.\n * @returns {string} The hyperlink to the PDF object.\n */\n getDestinationHash(dest) {\n return \"#\";\n }\n\n /**\n * @param hash - The PDF parameters/hash.\n * @returns {string} The hyperlink to the PDF object.\n */\n getAnchorUrl(hash) {\n return \"#\";\n }\n\n /**\n * @param {string} hash\n */\n setHash(hash) {}\n\n /**\n * @param {string} action\n */\n executeNamedAction(action) {}\n\n /**\n * @param {number} pageNum - page number.\n * @param {Object} pageRef - reference to the page.\n */\n cachePageRef(pageNum, pageRef) {}\n\n /**\n * @param {number} pageNumber\n */\n isPageVisible(pageNumber) {\n return true;\n }\n\n /**\n * @param {number} pageNumber\n */\n isPageCached(pageNumber) {\n return true;\n }\n}\n\nexport { LinkTarget, PDFLinkService, SimpleLinkService };\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n animationStarted,\n apiPageLayoutToViewerModes,\n apiPageModeToSidebarView,\n AutoPrintRegExp,\n DEFAULT_SCALE_VALUE,\n getActiveOrFocusedElement,\n isValidRotation,\n isValidScrollMode,\n isValidSpreadMode,\n noContextMenuHandler,\n normalizeWheelEventDirection,\n parseQueryString,\n ProgressBar,\n RendererType,\n RenderingStates,\n ScrollMode,\n SidebarView,\n SpreadMode,\n TextLayerMode,\n} from \"./ui_utils.js\";\nimport {\n AnnotationEditorType,\n build,\n createPromiseCapability,\n getDocument,\n getFilenameFromUrl,\n getPdfFilenameFromUrl,\n GlobalWorkerOptions,\n InvalidPDFException,\n isPdfFile,\n loadScript,\n MissingPDFException,\n OPS,\n PDFWorker,\n shadow,\n UnexpectedResponseException,\n UNSUPPORTED_FEATURES,\n version,\n} from \"pdfjs-lib\";\nimport { AppOptions, OptionKind } from \"./app_options.js\";\nimport { AutomationEventBus, EventBus } from \"./event_utils.js\";\nimport { CursorTool, PDFCursorTools } from \"./pdf_cursor_tools.js\";\nimport { LinkTarget, PDFLinkService } from \"./pdf_link_service.js\";\nimport { AnnotationEditorParams } from \"./annotation_editor_params.js\";\nimport { OverlayManager } from \"./overlay_manager.js\";\nimport { PasswordPrompt } from \"./password_prompt.js\";\nimport { PDFAttachmentViewer } from \"./pdf_attachment_viewer.js\";\nimport { PDFDocumentProperties } from \"./pdf_document_properties.js\";\nimport { PDFFindBar } from \"./pdf_find_bar.js\";\nimport { PDFFindController } from \"./pdf_find_controller.js\";\nimport { PDFHistory } from \"./pdf_history.js\";\nimport { PDFLayerViewer } from \"./pdf_layer_viewer.js\";\nimport { PDFOutlineViewer } from \"./pdf_outline_viewer.js\";\nimport { PDFPresentationMode } from \"./pdf_presentation_mode.js\";\nimport { PDFRenderingQueue } from \"./pdf_rendering_queue.js\";\nimport { PDFScriptingManager } from \"./pdf_scripting_manager.js\";\nimport { PDFSidebar } from \"./pdf_sidebar.js\";\nimport { PDFSidebarResizer } from \"./pdf_sidebar_resizer.js\";\nimport { PDFThumbnailViewer } from \"./pdf_thumbnail_viewer.js\";\nimport { PDFViewer } from \"./pdf_viewer.js\";\nimport { SecondaryToolbar } from \"./secondary_toolbar.js\";\nimport { Toolbar } from \"./toolbar.js\";\nimport { ViewHistory } from \"./view_history.js\";\n\nconst DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT = 5000; // ms\nconst FORCE_PAGES_LOADED_TIMEOUT = 10000; // ms\nconst WHEEL_ZOOM_DISABLED_TIMEOUT = 1000; // ms\n\nconst ViewOnLoad = {\n UNKNOWN: -1,\n PREVIOUS: 0, // Default value.\n INITIAL: 1,\n};\n\nconst ViewerCssTheme = {\n AUTOMATIC: 0, // Default value.\n LIGHT: 1,\n DARK: 2,\n};\n\n// Keep these in sync with mozilla-central's Histograms.json.\nconst KNOWN_VERSIONS = [\n \"1.0\",\n \"1.1\",\n \"1.2\",\n \"1.3\",\n \"1.4\",\n \"1.5\",\n \"1.6\",\n \"1.7\",\n \"1.8\",\n \"1.9\",\n \"2.0\",\n \"2.1\",\n \"2.2\",\n \"2.3\",\n];\n// Keep these in sync with mozilla-central's Histograms.json.\nconst KNOWN_GENERATORS = [\n \"acrobat distiller\",\n \"acrobat pdfwriter\",\n \"adobe livecycle\",\n \"adobe pdf library\",\n \"adobe photoshop\",\n \"ghostscript\",\n \"tcpdf\",\n \"cairo\",\n \"dvipdfm\",\n \"dvips\",\n \"pdftex\",\n \"pdfkit\",\n \"itext\",\n \"prince\",\n \"quarkxpress\",\n \"mac os x\",\n \"microsoft\",\n \"openoffice\",\n \"oracle\",\n \"luradocument\",\n \"pdf-xchange\",\n \"antenna house\",\n \"aspose.cells\",\n \"fpdf\",\n];\n\nclass DefaultExternalServices {\n constructor() {\n throw new Error(\"Cannot initialize DefaultExternalServices.\");\n }\n\n static updateFindControlState(data) {}\n\n static updateFindMatchesCount(data) {}\n\n static initPassiveLoading(callbacks) {}\n\n static reportTelemetry(data) {}\n\n static createDownloadManager(options) {\n throw new Error(\"Not implemented: createDownloadManager\");\n }\n\n static createPreferences() {\n throw new Error(\"Not implemented: createPreferences\");\n }\n\n static createL10n(options) {\n throw new Error(\"Not implemented: createL10n\");\n }\n\n static createScripting(options) {\n throw new Error(\"Not implemented: createScripting\");\n }\n\n static get supportsIntegratedFind() {\n return shadow(this, \"supportsIntegratedFind\", false);\n }\n\n static get supportsDocumentFonts() {\n return shadow(this, \"supportsDocumentFonts\", true);\n }\n\n static get supportedMouseWheelZoomModifierKeys() {\n return shadow(this, \"supportedMouseWheelZoomModifierKeys\", {\n ctrlKey: true,\n metaKey: true,\n });\n }\n\n static get isInAutomation() {\n return shadow(this, \"isInAutomation\", false);\n }\n\n static updateEditorStates(data) {\n throw new Error(\"Not implemented: updateEditorStates\");\n }\n}\n\nconst PDFViewerApplication = {\n initialBookmark: document.location.hash.substring(1),\n _initializedCapability: createPromiseCapability(),\n appConfig: null,\n pdfDocument: null,\n pdfLoadingTask: null,\n printService: null,\n /** @type {PDFViewer} */\n pdfViewer: null,\n /** @type {PDFThumbnailViewer} */\n pdfThumbnailViewer: null,\n /** @type {PDFRenderingQueue} */\n pdfRenderingQueue: null,\n /** @type {PDFPresentationMode} */\n pdfPresentationMode: null,\n /** @type {PDFDocumentProperties} */\n pdfDocumentProperties: null,\n /** @type {PDFLinkService} */\n pdfLinkService: null,\n /** @type {PDFHistory} */\n pdfHistory: null,\n /** @type {PDFSidebar} */\n pdfSidebar: null,\n /** @type {PDFSidebarResizer} */\n pdfSidebarResizer: null,\n /** @type {PDFOutlineViewer} */\n pdfOutlineViewer: null,\n /** @type {PDFAttachmentViewer} */\n pdfAttachmentViewer: null,\n /** @type {PDFLayerViewer} */\n pdfLayerViewer: null,\n /** @type {PDFCursorTools} */\n pdfCursorTools: null,\n /** @type {PDFScriptingManager} */\n pdfScriptingManager: null,\n /** @type {ViewHistory} */\n store: null,\n /** @type {DownloadManager} */\n downloadManager: null,\n /** @type {OverlayManager} */\n overlayManager: null,\n /** @type {Preferences} */\n preferences: null,\n /** @type {Toolbar} */\n toolbar: null,\n /** @type {SecondaryToolbar} */\n secondaryToolbar: null,\n /** @type {EventBus} */\n eventBus: null,\n /** @type {IL10n} */\n l10n: null,\n /** @type {AnnotationEditorParams} */\n annotationEditorParams: null,\n isInitialViewSet: false,\n downloadComplete: false,\n isViewerEmbedded: window.parent !== window,\n url: \"\",\n baseUrl: \"\",\n _downloadUrl: \"\",\n externalServices: DefaultExternalServices,\n _boundEvents: Object.create(null),\n documentInfo: null,\n metadata: null,\n _contentDispositionFilename: null,\n _contentLength: null,\n _saveInProgress: false,\n _docStats: null,\n _wheelUnusedTicks: 0,\n _idleCallbacks: new Set(),\n _PDFBug: null,\n _hasAnnotationEditors: false,\n _title: document.title,\n _printAnnotationStoragePromise: null,\n\n // Called once when the document is loaded.\n async initialize(appConfig) {\n this.preferences = this.externalServices.createPreferences();\n this.appConfig = appConfig;\n\n await this._readPreferences();\n await this._parseHashParameters();\n this._forceCssTheme();\n await this._initializeL10n();\n\n if (\n this.isViewerEmbedded &&\n AppOptions.get(\"externalLinkTarget\") === LinkTarget.NONE\n ) {\n // Prevent external links from \"replacing\" the viewer,\n // when it's embedded in e.g. an