@fto-consult/expo-ui 7.4.33 → 7.4.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/index.js +4 -2
- package/electron/index.js +30 -30
- package/electron/pdf-viewer/locale/en-CA/viewer.ftl +311 -0
- package/electron/pdf-viewer/locale/en-GB/viewer.ftl +351 -0
- package/electron/pdf-viewer/locale/en-US/viewer.ftl +377 -0
- package/electron/pdf-viewer/locale/fr/viewer.ftl +347 -0
- package/electron/pdf-viewer/locale/locale.json +6 -0
- package/electron/pdf-viewer/pdf.min.mjs +21 -0
- package/electron/pdf-viewer/viewer.css +3718 -0
- package/electron/pdf-viewer/viewer.html +491 -0
- package/electron/pdf-viewer/web/images/altText_add.svg +3 -0
- package/electron/pdf-viewer/web/images/altText_done.svg +3 -0
- package/electron/pdf-viewer/web/images/annotation-check.svg +11 -0
- package/electron/pdf-viewer/web/images/annotation-comment.svg +16 -0
- package/electron/pdf-viewer/web/images/annotation-help.svg +26 -0
- package/electron/pdf-viewer/web/images/annotation-insert.svg +10 -0
- package/electron/pdf-viewer/web/images/annotation-key.svg +11 -0
- package/electron/pdf-viewer/web/images/annotation-newparagraph.svg +11 -0
- package/electron/pdf-viewer/web/images/annotation-noicon.svg +7 -0
- package/electron/pdf-viewer/web/images/annotation-note.svg +42 -0
- package/electron/pdf-viewer/web/images/annotation-paperclip.svg +6 -0
- package/electron/pdf-viewer/web/images/annotation-paragraph.svg +16 -0
- package/electron/pdf-viewer/web/images/annotation-pushpin.svg +7 -0
- package/electron/pdf-viewer/web/images/editor-toolbar-delete.svg +5 -0
- package/electron/pdf-viewer/web/images/loading-icon.gif +0 -0
- package/electron/pdf-viewer/web/pdf_viewer.css +2120 -0
- package/electron/pdf-viewer/web/pdf_viewer.mjs +8598 -0
- package/electron/pload.js +1 -22
- package/electron/preload.js +104 -6
- package/electron/utils/index.js +5 -0
- package/electron/utils/isBase64.js +14 -0
- package/electron/utils/isDataURL.js +13 -0
- package/electron/utils/isValidUrl.js +4 -0
- package/electron/utils/postMessage.js +1 -1
- package/electron/utils/replaceAll.js +12 -0
- package/package.json +6 -1
- package/src/pdf/index.js +2 -2
- package/src/pdf/print.electron.js +4 -0
- package/src/pdf/print.js +3 -0
- package/src/pdf/print.web.js +3 -0
package/bin/index.js
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
const { program } = require('commander');
|
11
11
|
const path= require("path");
|
12
12
|
const fs = require("fs");
|
13
|
-
const {createDir,electronDir,copy,exec,throwError,paths:getPaths,writeFile} = require("./utils");
|
13
|
+
const {createDir,electronDir,copy,exec,throwError,paths:getPaths,writeFile,isValidUrl} = require("./utils");
|
14
14
|
|
15
15
|
|
16
16
|
const dir = path.resolve(__dirname);
|
@@ -21,6 +21,7 @@ const description = packageObj.description;
|
|
21
21
|
const packageName = packageObj.name;
|
22
22
|
const localElectronPackage = path.resolve(projectRoot,"node_modules",packageName)
|
23
23
|
const localElectronPackageElectron = path.resolve(localElectronPackage,"electron");
|
24
|
+
//const pdfJSPath = path.resolve(projectRoot,"node_modules","pdfjs-dist");
|
24
25
|
|
25
26
|
program
|
26
27
|
.name(packageName)
|
@@ -79,6 +80,7 @@ program.command('electron')
|
|
79
80
|
writeFile(path.resolve(localElectronPackageElectron,"paths.json"),JSON.stringify(paths,null,"\t"));
|
80
81
|
} catch{}
|
81
82
|
}
|
83
|
+
|
82
84
|
/**** le project root d'où a été lancé le script electron doit être le même que celui de l'application principale */
|
83
85
|
if(projectRoot !== paths.projectRoot){
|
84
86
|
throwError(`main app project root ${paths.projectRoot} must be equals to ${projectRoot} in which you want to generate electron app`);
|
@@ -122,7 +124,7 @@ program.command('electron')
|
|
122
124
|
let cmd = undefined;
|
123
125
|
const start = x=>{
|
124
126
|
return new Promise((resolve,reject)=>{
|
125
|
-
cmd = `electron "${electronProjectRoot}"${url? ` --url ${url}`:''}
|
127
|
+
cmd = `electron "${electronProjectRoot}" --paths ${pathsJSON} --root ${projectRoot} ${isValidUrl(url)? ` --url ${url}`:''}`;
|
126
128
|
exec({
|
127
129
|
cmd,
|
128
130
|
projectRoot : electronProjectRoot,
|
package/electron/index.js
CHANGED
@@ -6,9 +6,9 @@ const { program } = require('commander');
|
|
6
6
|
const getPaths = require("../electron/utils/paths");
|
7
7
|
|
8
8
|
program
|
9
|
-
.option('-u, --url <url>', '
|
10
|
-
.option('-r, --root <projectRoot>', '
|
11
|
-
.option('-p, --paths <paths>', 'le chemin vers le fichiers paths.json')
|
9
|
+
.option('-u, --url <url>', 'L\'adresse url à ouvrir au lancement de l\'application')
|
10
|
+
.option('-r, --root <projectRoot>', 'le chemin du project root de l\'application')
|
11
|
+
.option('-p, --paths <paths>', 'le chemin vers le fichiers paths.json contenant la liste des alias de l\'application, exportés au moment de la compilation')
|
12
12
|
.parse();
|
13
13
|
|
14
14
|
const programOptions = program.opts();
|
@@ -20,6 +20,7 @@ const projectRoot = mainProjectRoot && fs.existsSync(mainProjectRoot) ? mainProj
|
|
20
20
|
const electronProjectRoot = projectRoot && fs.existsSync(path.resolve(projectRoot,"electron")) && path.resolve(projectRoot,"electron") || '';
|
21
21
|
const ePathsJSON = path.resolve(electronProjectRoot,"paths.json");
|
22
22
|
const packageJSONPath = path.resolve(projectRoot,"package.json");
|
23
|
+
const isValidUrl = require("./utils/isValidUrl");
|
23
24
|
const packageJSON = fs.existsSync(packageJSONPath) ? require(`${packageJSONPath}`) : {};
|
24
25
|
const eePaths = path.resolve(getPaths(projectRoot));
|
25
26
|
if(!paths){
|
@@ -67,13 +68,14 @@ const setOSTheme = (theme) => {
|
|
67
68
|
theme = "light";
|
68
69
|
}
|
69
70
|
nativeTheme.themeSource = theme;
|
70
|
-
session.set("
|
71
|
+
session.set("os-theme",theme);
|
71
72
|
return nativeTheme.shouldUseDarkColors
|
72
73
|
}
|
73
|
-
setOSTheme(session.get("
|
74
|
-
|
74
|
+
setOSTheme(session.get("os-theme"));
|
75
|
+
const isObj = x => x && typeof x =='object';
|
76
|
+
|
75
77
|
function createBrowserWindow (options){
|
76
|
-
options =
|
78
|
+
options = Object.assign({},options);
|
77
79
|
let menu = options.menu;
|
78
80
|
options.webPreferences = isObj(options.webPreferences)? options.webPreferences : {}
|
79
81
|
options.webPreferences = {
|
@@ -108,17 +110,19 @@ function createBrowserWindow (options){
|
|
108
110
|
if(typeof mainProcess.beforeCreateWindow =='function'){
|
109
111
|
mainProcess.beforeCreateWindow(options);
|
110
112
|
}
|
111
|
-
|
113
|
+
const _win = new BrowserWindow(options);
|
112
114
|
if(!menu){
|
113
115
|
_win.setMenu(null);
|
114
116
|
_win.removeMenu();
|
115
117
|
_win.setMenuBarVisibility(false)
|
116
118
|
_win.setAutoHideMenuBar(true)
|
117
119
|
}
|
118
|
-
const url = options.loadURL
|
120
|
+
const url = isValidUrl(options.loadURL) ? options.loadURL : isValidUrl(pUrl) ? pUrl : undefined;
|
119
121
|
if(url){
|
120
122
|
_win.loadURL(url);
|
121
|
-
}
|
123
|
+
} else if(options.file && fs.existsSync(options.file)){
|
124
|
+
_win.loadFile(options.file);
|
125
|
+
}
|
122
126
|
if(showOnLoad){
|
123
127
|
_win.once('ready-to-show', () => {
|
124
128
|
_win.show();
|
@@ -129,7 +133,6 @@ function createBrowserWindow (options){
|
|
129
133
|
});
|
130
134
|
return _win;
|
131
135
|
}
|
132
|
-
const args = require("./utils/parseArgs")();
|
133
136
|
function createWindow () {
|
134
137
|
// Créer le browser window
|
135
138
|
win = createBrowserWindow({
|
@@ -191,8 +194,8 @@ function createWindow () {
|
|
191
194
|
win.webContents.send('before-app-exit');
|
192
195
|
}
|
193
196
|
});
|
194
|
-
if(
|
195
|
-
win.loadURL(
|
197
|
+
if(isValidUrl(pUrl)){
|
198
|
+
win.loadURL(pUrl);
|
196
199
|
} else {
|
197
200
|
win.loadFile(path.resolve(path.join(electronProjectRoot,"dist",'index.html')))
|
198
201
|
}
|
@@ -293,7 +296,7 @@ const toggleDevTools = (value)=>{
|
|
293
296
|
}
|
294
297
|
return false;
|
295
298
|
}
|
296
|
-
ipcMain.on("
|
299
|
+
ipcMain.on("toggle-dev-tools",function(event,value) {
|
297
300
|
return toggleDevTools(value);
|
298
301
|
});
|
299
302
|
|
@@ -315,7 +318,7 @@ app.whenReady().then(() => {
|
|
315
318
|
});
|
316
319
|
})
|
317
320
|
|
318
|
-
ipcMain.on("
|
321
|
+
ipcMain.on("restart-app",x =>{app.relaunch();})
|
319
322
|
let tray = null;
|
320
323
|
let isJSON = function (json_string){
|
321
324
|
if(!json_string || typeof json_string != 'string') return false;
|
@@ -363,7 +366,7 @@ ipcMain.on("get-project-root",(event)=>{
|
|
363
366
|
event.returnValue = projectRoot;
|
364
367
|
return projectRoot;
|
365
368
|
});
|
366
|
-
ipcMain.on("get-
|
369
|
+
ipcMain.on("get-project-root",(event)=>{
|
367
370
|
event.returnValue = electronProjectRoot;
|
368
371
|
return event.returnValue ;
|
369
372
|
});
|
@@ -389,14 +392,14 @@ ipcMain.on("get-media-access-status",(event,mediaType)=>{
|
|
389
392
|
return p;
|
390
393
|
});
|
391
394
|
|
392
|
-
ipcMain.on("
|
395
|
+
ipcMain.on("ask-for-media-access",(event,mediaType)=>{
|
393
396
|
systemPreferences.askForMediaAccess(mediaType);
|
394
397
|
});
|
395
398
|
|
396
399
|
ipcMain.on("get-app-icon",(event)=>{
|
397
400
|
event.returnValue = win != win && win.getIcon && win.getIcon();
|
398
401
|
});
|
399
|
-
ipcMain.on("
|
402
|
+
ipcMain.on("set-app-icon",(event,iconPath)=>{
|
400
403
|
if(iconPath && win != null){
|
401
404
|
win.setIcon(iconPath);
|
402
405
|
event.returnValue = iconPath;
|
@@ -437,9 +440,8 @@ ipcMain.on('close-main-render-process', _ => {
|
|
437
440
|
function debounce(func, wait, immediate) {
|
438
441
|
var timeout;
|
439
442
|
|
440
|
-
return function executedFunction() {
|
443
|
+
return function executedFunction(...args) {
|
441
444
|
var context = this;
|
442
|
-
var args = arguments;
|
443
445
|
|
444
446
|
var later = function() {
|
445
447
|
timeout = null;
|
@@ -490,34 +492,32 @@ if(powerMonitor){
|
|
490
492
|
})
|
491
493
|
})
|
492
494
|
}
|
493
|
-
ipcMain.on("
|
495
|
+
ipcMain.on("set-main-window-title",(event,title)=>{
|
494
496
|
if(win !== null){
|
495
497
|
win.setTitle(title);
|
496
498
|
}
|
497
499
|
})
|
498
500
|
|
499
501
|
|
500
|
-
ipcMain.handle("
|
501
|
-
|
502
|
-
options = {};
|
503
|
-
}
|
502
|
+
ipcMain.handle("create-browser-windows",function(event,options){
|
503
|
+
options = Object.assign({},options);
|
504
504
|
createBrowserWindow(options);
|
505
505
|
})
|
506
506
|
|
507
|
-
ipcMain.handle("
|
507
|
+
ipcMain.handle("show-open-dialog",function(event,options){
|
508
508
|
if(!isObj(options)){
|
509
509
|
options = {};
|
510
510
|
}
|
511
511
|
return dialog.showOpenDialog(win,options)
|
512
512
|
})
|
513
513
|
|
514
|
-
ipcMain.handle("
|
514
|
+
ipcMain.handle("show-save-dialog",function(event,options){
|
515
515
|
if(!isObj(options)){
|
516
516
|
options = {};
|
517
517
|
}
|
518
518
|
return dialog.showSaveDialog(win,options)
|
519
519
|
})
|
520
|
-
ipcMain.on("
|
520
|
+
ipcMain.on("is-dev-tools-open",function(event,value) {
|
521
521
|
if(win !==null && win.webContents){
|
522
522
|
return win.webContents.isDevToolsOpened();
|
523
523
|
}
|
@@ -525,7 +525,7 @@ ipcMain.on("electron-is-dev-tools-open",function(event,value) {
|
|
525
525
|
})
|
526
526
|
|
527
527
|
|
528
|
-
ipcMain.on("
|
528
|
+
ipcMain.on("window-set-progressbar",(event,interval)=>{
|
529
529
|
if(typeof interval !="number" || interval <0) interval = 0;
|
530
530
|
interval = Math.floor(interval);
|
531
531
|
if(win){
|
@@ -534,6 +534,6 @@ ipcMain.on("electron-window-set-progressbar",(event,interval)=>{
|
|
534
534
|
})
|
535
535
|
|
536
536
|
/**** customisation des thèmes de l'application */
|
537
|
-
ipcMain.handle('
|
537
|
+
ipcMain.handle('set-system-theme:toggle', (event,theme) => {
|
538
538
|
return setOSTheme(theme);
|
539
539
|
});
|
@@ -0,0 +1,311 @@
|
|
1
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
2
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
3
|
+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
4
|
+
|
5
|
+
|
6
|
+
## Main toolbar buttons (tooltips and alt text for images)
|
7
|
+
|
8
|
+
pdfjs-previous-button =
|
9
|
+
.title = Previous Page
|
10
|
+
pdfjs-previous-button-label = Previous
|
11
|
+
pdfjs-next-button =
|
12
|
+
.title = Next Page
|
13
|
+
pdfjs-next-button-label = Next
|
14
|
+
# .title: Tooltip for the pageNumber input.
|
15
|
+
pdfjs-page-input =
|
16
|
+
.title = Page
|
17
|
+
# Variables:
|
18
|
+
# $pagesCount (Number) - the total number of pages in the document
|
19
|
+
# This string follows an input field with the number of the page currently displayed.
|
20
|
+
pdfjs-of-pages = of { $pagesCount }
|
21
|
+
# Variables:
|
22
|
+
# $pageNumber (Number) - the currently visible page
|
23
|
+
# $pagesCount (Number) - the total number of pages in the document
|
24
|
+
pdfjs-page-of-pages = ({ $pageNumber } of { $pagesCount })
|
25
|
+
pdfjs-zoom-out-button =
|
26
|
+
.title = Zoom Out
|
27
|
+
pdfjs-zoom-out-button-label = Zoom Out
|
28
|
+
pdfjs-zoom-in-button =
|
29
|
+
.title = Zoom In
|
30
|
+
pdfjs-zoom-in-button-label = Zoom In
|
31
|
+
pdfjs-zoom-select =
|
32
|
+
.title = Zoom
|
33
|
+
pdfjs-presentation-mode-button =
|
34
|
+
.title = Switch to Presentation Mode
|
35
|
+
pdfjs-presentation-mode-button-label = Presentation Mode
|
36
|
+
pdfjs-open-file-button =
|
37
|
+
.title = Open File
|
38
|
+
pdfjs-open-file-button-label = Open
|
39
|
+
pdfjs-print-button =
|
40
|
+
.title = Print
|
41
|
+
pdfjs-print-button-label = Print
|
42
|
+
pdfjs-save-button =
|
43
|
+
.title = Save
|
44
|
+
pdfjs-save-button-label = Save
|
45
|
+
# Used in Firefox for Android as a tooltip for the download button (“download” is a verb).
|
46
|
+
pdfjs-download-button =
|
47
|
+
.title = Download
|
48
|
+
# Used in Firefox for Android as a label for the download button (“download” is a verb).
|
49
|
+
# Length of the translation matters since we are in a mobile context, with limited screen estate.
|
50
|
+
pdfjs-download-button-label = Download
|
51
|
+
pdfjs-bookmark-button =
|
52
|
+
.title = Current Page (View URL from Current Page)
|
53
|
+
pdfjs-bookmark-button-label = Current Page
|
54
|
+
# Used in Firefox for Android.
|
55
|
+
pdfjs-open-in-app-button =
|
56
|
+
.title = Open in app
|
57
|
+
# Used in Firefox for Android.
|
58
|
+
# Length of the translation matters since we are in a mobile context, with limited screen estate.
|
59
|
+
pdfjs-open-in-app-button-label = Open in app
|
60
|
+
|
61
|
+
## Secondary toolbar and context menu
|
62
|
+
|
63
|
+
pdfjs-tools-button =
|
64
|
+
.title = Tools
|
65
|
+
pdfjs-tools-button-label = Tools
|
66
|
+
pdfjs-first-page-button =
|
67
|
+
.title = Go to First Page
|
68
|
+
pdfjs-first-page-button-label = Go to First Page
|
69
|
+
pdfjs-last-page-button =
|
70
|
+
.title = Go to Last Page
|
71
|
+
pdfjs-last-page-button-label = Go to Last Page
|
72
|
+
pdfjs-page-rotate-cw-button =
|
73
|
+
.title = Rotate Clockwise
|
74
|
+
pdfjs-page-rotate-cw-button-label = Rotate Clockwise
|
75
|
+
pdfjs-page-rotate-ccw-button =
|
76
|
+
.title = Rotate Counterclockwise
|
77
|
+
pdfjs-page-rotate-ccw-button-label = Rotate Counterclockwise
|
78
|
+
pdfjs-cursor-text-select-tool-button =
|
79
|
+
.title = Enable Text Selection Tool
|
80
|
+
pdfjs-cursor-text-select-tool-button-label = Text Selection Tool
|
81
|
+
pdfjs-cursor-hand-tool-button =
|
82
|
+
.title = Enable Hand Tool
|
83
|
+
pdfjs-cursor-hand-tool-button-label = Hand Tool
|
84
|
+
pdfjs-scroll-page-button =
|
85
|
+
.title = Use Page Scrolling
|
86
|
+
pdfjs-scroll-page-button-label = Page Scrolling
|
87
|
+
pdfjs-scroll-vertical-button =
|
88
|
+
.title = Use Vertical Scrolling
|
89
|
+
pdfjs-scroll-vertical-button-label = Vertical Scrolling
|
90
|
+
pdfjs-scroll-horizontal-button =
|
91
|
+
.title = Use Horizontal Scrolling
|
92
|
+
pdfjs-scroll-horizontal-button-label = Horizontal Scrolling
|
93
|
+
pdfjs-scroll-wrapped-button =
|
94
|
+
.title = Use Wrapped Scrolling
|
95
|
+
pdfjs-scroll-wrapped-button-label = Wrapped Scrolling
|
96
|
+
pdfjs-spread-none-button =
|
97
|
+
.title = Do not join page spreads
|
98
|
+
pdfjs-spread-none-button-label = No Spreads
|
99
|
+
pdfjs-spread-odd-button =
|
100
|
+
.title = Join page spreads starting with odd-numbered pages
|
101
|
+
pdfjs-spread-odd-button-label = Odd Spreads
|
102
|
+
pdfjs-spread-even-button =
|
103
|
+
.title = Join page spreads starting with even-numbered pages
|
104
|
+
pdfjs-spread-even-button-label = Even Spreads
|
105
|
+
|
106
|
+
## Document properties dialog
|
107
|
+
|
108
|
+
pdfjs-document-properties-button =
|
109
|
+
.title = Document Properties…
|
110
|
+
pdfjs-document-properties-button-label = Document Properties…
|
111
|
+
pdfjs-document-properties-file-name = File name:
|
112
|
+
pdfjs-document-properties-file-size = File size:
|
113
|
+
# Variables:
|
114
|
+
# $size_kb (Number) - the PDF file size in kilobytes
|
115
|
+
# $size_b (Number) - the PDF file size in bytes
|
116
|
+
pdfjs-document-properties-kb = { $size_kb } kB ({ $size_b } bytes)
|
117
|
+
# Variables:
|
118
|
+
# $size_mb (Number) - the PDF file size in megabytes
|
119
|
+
# $size_b (Number) - the PDF file size in bytes
|
120
|
+
pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } bytes)
|
121
|
+
pdfjs-document-properties-title = Title:
|
122
|
+
pdfjs-document-properties-author = Author:
|
123
|
+
pdfjs-document-properties-subject = Subject:
|
124
|
+
pdfjs-document-properties-keywords = Keywords:
|
125
|
+
pdfjs-document-properties-creation-date = Creation Date:
|
126
|
+
pdfjs-document-properties-modification-date = Modification Date:
|
127
|
+
# Variables:
|
128
|
+
# $date (Date) - the creation/modification date of the PDF file
|
129
|
+
# $time (Time) - the creation/modification time of the PDF file
|
130
|
+
pdfjs-document-properties-date-string = { $date }, { $time }
|
131
|
+
pdfjs-document-properties-creator = Creator:
|
132
|
+
pdfjs-document-properties-producer = PDF Producer:
|
133
|
+
pdfjs-document-properties-version = PDF Version:
|
134
|
+
pdfjs-document-properties-page-count = Page Count:
|
135
|
+
pdfjs-document-properties-page-size = Page Size:
|
136
|
+
pdfjs-document-properties-page-size-unit-inches = in
|
137
|
+
pdfjs-document-properties-page-size-unit-millimeters = mm
|
138
|
+
pdfjs-document-properties-page-size-orientation-portrait = portrait
|
139
|
+
pdfjs-document-properties-page-size-orientation-landscape = landscape
|
140
|
+
pdfjs-document-properties-page-size-name-a-three = A3
|
141
|
+
pdfjs-document-properties-page-size-name-a-four = A4
|
142
|
+
pdfjs-document-properties-page-size-name-letter = Letter
|
143
|
+
pdfjs-document-properties-page-size-name-legal = Legal
|
144
|
+
|
145
|
+
## Variables:
|
146
|
+
## $width (Number) - the width of the (current) page
|
147
|
+
## $height (Number) - the height of the (current) page
|
148
|
+
## $unit (String) - the unit of measurement of the (current) page
|
149
|
+
## $name (String) - the name of the (current) page
|
150
|
+
## $orientation (String) - the orientation of the (current) page
|
151
|
+
|
152
|
+
pdfjs-document-properties-page-size-dimension-string = { $width } × { $height } { $unit } ({ $orientation })
|
153
|
+
pdfjs-document-properties-page-size-dimension-name-string = { $width } × { $height } { $unit } ({ $name }, { $orientation })
|
154
|
+
|
155
|
+
##
|
156
|
+
|
157
|
+
# The linearization status of the document; usually called "Fast Web View" in
|
158
|
+
# English locales of Adobe software.
|
159
|
+
pdfjs-document-properties-linearized = Fast Web View:
|
160
|
+
pdfjs-document-properties-linearized-yes = Yes
|
161
|
+
pdfjs-document-properties-linearized-no = No
|
162
|
+
pdfjs-document-properties-close-button = Close
|
163
|
+
|
164
|
+
## Print
|
165
|
+
|
166
|
+
pdfjs-print-progress-message = Preparing document for printing…
|
167
|
+
# Variables:
|
168
|
+
# $progress (Number) - percent value
|
169
|
+
pdfjs-print-progress-percent = { $progress }%
|
170
|
+
pdfjs-print-progress-close-button = Cancel
|
171
|
+
pdfjs-printing-not-supported = Warning: Printing is not fully supported by this browser.
|
172
|
+
pdfjs-printing-not-ready = Warning: The PDF is not fully loaded for printing.
|
173
|
+
|
174
|
+
## Tooltips and alt text for side panel toolbar buttons
|
175
|
+
|
176
|
+
pdfjs-toggle-sidebar-button =
|
177
|
+
.title = Toggle Sidebar
|
178
|
+
pdfjs-toggle-sidebar-notification-button =
|
179
|
+
.title = Toggle Sidebar (document contains outline/attachments/layers)
|
180
|
+
pdfjs-toggle-sidebar-button-label = Toggle Sidebar
|
181
|
+
pdfjs-document-outline-button =
|
182
|
+
.title = Show Document Outline (double-click to expand/collapse all items)
|
183
|
+
pdfjs-document-outline-button-label = Document Outline
|
184
|
+
pdfjs-attachments-button =
|
185
|
+
.title = Show Attachments
|
186
|
+
pdfjs-attachments-button-label = Attachments
|
187
|
+
pdfjs-layers-button =
|
188
|
+
.title = Show Layers (double-click to reset all layers to the default state)
|
189
|
+
pdfjs-layers-button-label = Layers
|
190
|
+
pdfjs-thumbs-button =
|
191
|
+
.title = Show Thumbnails
|
192
|
+
pdfjs-thumbs-button-label = Thumbnails
|
193
|
+
pdfjs-current-outline-item-button =
|
194
|
+
.title = Find Current Outline Item
|
195
|
+
pdfjs-current-outline-item-button-label = Current Outline Item
|
196
|
+
pdfjs-findbar-button =
|
197
|
+
.title = Find in Document
|
198
|
+
pdfjs-findbar-button-label = Find
|
199
|
+
pdfjs-additional-layers = Additional Layers
|
200
|
+
|
201
|
+
## Thumbnails panel item (tooltip and alt text for images)
|
202
|
+
|
203
|
+
# Variables:
|
204
|
+
# $page (Number) - the page number
|
205
|
+
pdfjs-thumb-page-title =
|
206
|
+
.title = Page { $page }
|
207
|
+
# Variables:
|
208
|
+
# $page (Number) - the page number
|
209
|
+
pdfjs-thumb-page-canvas =
|
210
|
+
.aria-label = Thumbnail of Page { $page }
|
211
|
+
|
212
|
+
## Find panel button title and messages
|
213
|
+
|
214
|
+
pdfjs-find-input =
|
215
|
+
.title = Find
|
216
|
+
.placeholder = Find in document…
|
217
|
+
pdfjs-find-previous-button =
|
218
|
+
.title = Find the previous occurrence of the phrase
|
219
|
+
pdfjs-find-previous-button-label = Previous
|
220
|
+
pdfjs-find-next-button =
|
221
|
+
.title = Find the next occurrence of the phrase
|
222
|
+
pdfjs-find-next-button-label = Next
|
223
|
+
pdfjs-find-highlight-checkbox = Highlight All
|
224
|
+
pdfjs-find-match-case-checkbox-label = Match Case
|
225
|
+
pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
|
226
|
+
pdfjs-find-entire-word-checkbox-label = Whole Words
|
227
|
+
pdfjs-find-reached-top = Reached top of document, continued from bottom
|
228
|
+
pdfjs-find-reached-bottom = Reached end of document, continued from top
|
229
|
+
pdfjs-find-not-found = Phrase not found
|
230
|
+
|
231
|
+
## Predefined zoom values
|
232
|
+
|
233
|
+
pdfjs-page-scale-width = Page Width
|
234
|
+
pdfjs-page-scale-fit = Page Fit
|
235
|
+
pdfjs-page-scale-auto = Automatic Zoom
|
236
|
+
pdfjs-page-scale-actual = Actual Size
|
237
|
+
# Variables:
|
238
|
+
# $scale (Number) - percent value for page scale
|
239
|
+
pdfjs-page-scale-percent = { $scale }%
|
240
|
+
|
241
|
+
## PDF page
|
242
|
+
|
243
|
+
# Variables:
|
244
|
+
# $page (Number) - the page number
|
245
|
+
pdfjs-page-landmark =
|
246
|
+
.aria-label = Page { $page }
|
247
|
+
|
248
|
+
## Loading indicator messages
|
249
|
+
|
250
|
+
pdfjs-loading-error = An error occurred while loading the PDF.
|
251
|
+
pdfjs-invalid-file-error = Invalid or corrupted PDF file.
|
252
|
+
pdfjs-missing-file-error = Missing PDF file.
|
253
|
+
pdfjs-unexpected-response-error = Unexpected server response.
|
254
|
+
pdfjs-rendering-error = An error occurred while rendering the page.
|
255
|
+
|
256
|
+
## Annotations
|
257
|
+
|
258
|
+
# Variables:
|
259
|
+
# $date (Date) - the modification date of the annotation
|
260
|
+
# $time (Time) - the modification time of the annotation
|
261
|
+
pdfjs-annotation-date-string = { $date }, { $time }
|
262
|
+
# .alt: This is used as a tooltip.
|
263
|
+
# Variables:
|
264
|
+
# $type (String) - an annotation type from a list defined in the PDF spec
|
265
|
+
# (32000-1:2008 Table 169 – Annotation types).
|
266
|
+
# Some common types are e.g.: "Check", "Text", "Comment", "Note"
|
267
|
+
pdfjs-text-annotation-type =
|
268
|
+
.alt = [{ $type } Annotation]
|
269
|
+
|
270
|
+
## Password
|
271
|
+
|
272
|
+
pdfjs-password-label = Enter the password to open this PDF file.
|
273
|
+
pdfjs-password-invalid = Invalid password. Please try again.
|
274
|
+
pdfjs-password-ok-button = OK
|
275
|
+
pdfjs-password-cancel-button = Cancel
|
276
|
+
pdfjs-web-fonts-disabled = Web fonts are disabled: unable to use embedded PDF fonts.
|
277
|
+
|
278
|
+
## Editing
|
279
|
+
|
280
|
+
pdfjs-editor-free-text-button =
|
281
|
+
.title = Text
|
282
|
+
pdfjs-editor-free-text-button-label = Text
|
283
|
+
pdfjs-editor-ink-button =
|
284
|
+
.title = Draw
|
285
|
+
pdfjs-editor-ink-button-label = Draw
|
286
|
+
pdfjs-editor-stamp-button =
|
287
|
+
.title = Add or edit images
|
288
|
+
pdfjs-editor-stamp-button-label = Add or edit images
|
289
|
+
# Editor Parameters
|
290
|
+
pdfjs-editor-free-text-color-input = Colour
|
291
|
+
pdfjs-editor-free-text-size-input = Size
|
292
|
+
pdfjs-editor-ink-color-input = Colour
|
293
|
+
pdfjs-editor-ink-thickness-input = Thickness
|
294
|
+
pdfjs-editor-ink-opacity-input = Opacity
|
295
|
+
pdfjs-editor-stamp-add-image-button =
|
296
|
+
.title = Add image
|
297
|
+
pdfjs-editor-stamp-add-image-button-label = Add image
|
298
|
+
pdfjs-free-text =
|
299
|
+
.aria-label = Text Editor
|
300
|
+
pdfjs-free-text-default-content = Start typing…
|
301
|
+
pdfjs-ink =
|
302
|
+
.aria-label = Draw Editor
|
303
|
+
pdfjs-ink-canvas =
|
304
|
+
.aria-label = User-created image
|
305
|
+
|
306
|
+
## Alt-text dialog
|
307
|
+
|
308
|
+
|
309
|
+
## Editor resizers
|
310
|
+
## This is used in an aria label to help to understand the role of the resizer.
|
311
|
+
|