ngx-extended-pdf-viewer 21.4.4 → 21.4.6

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.
Files changed (87) hide show
  1. package/README.md +3 -1
  2. package/assets/viewer-4.6.688-es5.mjs +1 -1
  3. package/assets/viewer-4.6.688.mjs +1 -1
  4. package/bleeding-edge/locale/ach/viewer.ftl +2 -2
  5. package/bleeding-edge/locale/af/viewer.ftl +2 -2
  6. package/bleeding-edge/locale/an/viewer.ftl +2 -2
  7. package/bleeding-edge/locale/ast/viewer.ftl +2 -2
  8. package/bleeding-edge/locale/az/viewer.ftl +2 -2
  9. package/bleeding-edge/locale/bn/viewer.ftl +2 -2
  10. package/bleeding-edge/locale/bo/viewer.ftl +2 -2
  11. package/bleeding-edge/locale/br/viewer.ftl +2 -2
  12. package/bleeding-edge/locale/brx/viewer.ftl +2 -2
  13. package/bleeding-edge/locale/bs/viewer.ftl +2 -2
  14. package/bleeding-edge/locale/ca/viewer.ftl +2 -2
  15. package/bleeding-edge/locale/cak/viewer.ftl +2 -2
  16. package/bleeding-edge/locale/ckb/viewer.ftl +2 -2
  17. package/bleeding-edge/locale/en-US/viewer.ftl +2 -2
  18. package/bleeding-edge/locale/es-ES/viewer.ftl +15 -13
  19. package/bleeding-edge/locale/es-MX/viewer.ftl +2 -2
  20. package/bleeding-edge/locale/et/viewer.ftl +2 -2
  21. package/bleeding-edge/locale/fa/viewer.ftl +2 -2
  22. package/bleeding-edge/locale/ff/viewer.ftl +2 -2
  23. package/bleeding-edge/locale/ga-IE/viewer.ftl +2 -2
  24. package/bleeding-edge/locale/gd/viewer.ftl +2 -2
  25. package/bleeding-edge/locale/gu-IN/viewer.ftl +2 -2
  26. package/bleeding-edge/locale/hi-IN/viewer.ftl +2 -2
  27. package/bleeding-edge/locale/hr/viewer.ftl +2 -2
  28. package/bleeding-edge/locale/hy-AM/viewer.ftl +2 -2
  29. package/bleeding-edge/locale/hye/viewer.ftl +2 -2
  30. package/bleeding-edge/locale/id/viewer.ftl +2 -2
  31. package/bleeding-edge/locale/km/viewer.ftl +2 -2
  32. package/bleeding-edge/locale/kn/viewer.ftl +2 -2
  33. package/bleeding-edge/locale/lij/viewer.ftl +2 -2
  34. package/bleeding-edge/locale/lo/viewer.ftl +2 -2
  35. package/bleeding-edge/locale/lt/viewer.ftl +2 -2
  36. package/bleeding-edge/locale/ltg/viewer.ftl +2 -2
  37. package/bleeding-edge/locale/lv/viewer.ftl +2 -2
  38. package/bleeding-edge/locale/meh/viewer.ftl +2 -2
  39. package/bleeding-edge/locale/mk/viewer.ftl +2 -2
  40. package/bleeding-edge/locale/mr/viewer.ftl +2 -2
  41. package/bleeding-edge/locale/ms/viewer.ftl +2 -2
  42. package/bleeding-edge/locale/my/viewer.ftl +2 -2
  43. package/bleeding-edge/locale/ne-NP/viewer.ftl +2 -2
  44. package/bleeding-edge/locale/oc/viewer.ftl +2 -2
  45. package/bleeding-edge/locale/pl/viewer.ftl +14 -4
  46. package/bleeding-edge/locale/pt-PT/viewer.ftl +14 -4
  47. package/bleeding-edge/locale/ro/viewer.ftl +2 -2
  48. package/bleeding-edge/locale/sat/viewer.ftl +2 -2
  49. package/bleeding-edge/locale/sc/viewer.ftl +2 -2
  50. package/bleeding-edge/locale/scn/viewer.ftl +2 -2
  51. package/bleeding-edge/locale/sco/viewer.ftl +2 -2
  52. package/bleeding-edge/locale/si/viewer.ftl +2 -2
  53. package/bleeding-edge/locale/skr/viewer.ftl +1 -1
  54. package/bleeding-edge/locale/son/viewer.ftl +2 -2
  55. package/bleeding-edge/locale/sr/viewer.ftl +2 -2
  56. package/bleeding-edge/locale/szl/viewer.ftl +2 -2
  57. package/bleeding-edge/locale/ta/viewer.ftl +2 -2
  58. package/bleeding-edge/locale/te/viewer.ftl +2 -2
  59. package/bleeding-edge/locale/tl/viewer.ftl +2 -2
  60. package/bleeding-edge/locale/trs/viewer.ftl +2 -2
  61. package/bleeding-edge/locale/ur/viewer.ftl +2 -2
  62. package/bleeding-edge/locale/uz/viewer.ftl +2 -2
  63. package/bleeding-edge/locale/wo/viewer.ftl +2 -2
  64. package/bleeding-edge/locale/xh/viewer.ftl +2 -2
  65. package/bleeding-edge/{pdf.sandbox-4.7.643-es5.mjs → pdf.sandbox-4.7.686-es5.mjs} +1 -1
  66. package/bleeding-edge/{pdf.sandbox-4.7.643.mjs → pdf.sandbox-4.7.686.mjs} +3 -3
  67. package/bleeding-edge/{pdf.worker-4.7.643-es5.mjs → pdf.worker-4.7.686-es5.mjs} +7 -7
  68. package/bleeding-edge/pdf.worker-4.7.686.min.mjs +21 -0
  69. package/bleeding-edge/{pdf.worker-4.7.643.mjs → pdf.worker-4.7.686.mjs} +258 -98
  70. package/bleeding-edge/{viewer-4.7.643-es5.mjs → viewer-4.7.686-es5.mjs} +24 -24
  71. package/bleeding-edge/viewer-4.7.686.min.mjs +55 -0
  72. package/bleeding-edge/{viewer-4.7.643.mjs → viewer-4.7.686.mjs} +266 -86
  73. package/changelog.md +4 -1
  74. package/esm2022/lib/ngx-extended-pdf-viewer.component.mjs +19 -6
  75. package/esm2022/lib/ngx-extended-pdf-viewer.service.mjs +3 -3
  76. package/esm2022/lib/options/pdf-default-options.mjs +2 -8
  77. package/esm2022/lib/pdf-script-loader.service.mjs +15 -5
  78. package/fesm2022/ngx-extended-pdf-viewer.mjs +34 -17
  79. package/fesm2022/ngx-extended-pdf-viewer.mjs.map +1 -1
  80. package/lib/ngx-extended-pdf-viewer.component.d.ts +2 -1
  81. package/lib/ngx-extended-pdf-viewer.service.d.ts +1 -1
  82. package/lib/options/pdf-default-options.d.ts +1 -1
  83. package/lib/pdf-script-loader.service.d.ts +4 -2
  84. package/package.json +1 -1
  85. package/bleeding-edge/pdf.worker-4.7.643.min.mjs +0 -21
  86. package/bleeding-edge/viewer-4.7.643.min.mjs +0 -55
  87. /package/bleeding-edge/{pdf.sandbox-4.7.643.min.mjs → pdf.sandbox-4.7.686.min.mjs} +0 -0
package/README.md CHANGED
@@ -39,7 +39,9 @@ This library provides an embeddable PDF viewer component. It's different from ot
39
39
 
40
40
  Version 20.0.2 is a security fix. It solves CVE-2024-4367. I strongly recommend updating to the latest version of ngx-extended-pdf-viewer as soon as possible, or to version 20.0.2 as a minimum. Older versions contain a bug allowing malicious PDF files to run arbitrary code. Kudos go to GitHub users ScratchPDX and Deepak Shakya to tell me about it, so I could provide a hotfix during my vacations.
41
41
 
42
- ## Version 21.4: improved search UI and update to pdf.js 4.6
42
+ ## Version 21.4: improved search UI and update to pdf.js 4.6 / 4.7
43
+
44
+ Version 21.4.5 updates to pdf.js 4.7. It offers the same functionality as version 21.4, but it's a breaking change because `NgxExtendedPdfViewerService.addEditorAnnotation` is now asynchronous. Unfortunately, I forgot to update the version number, so this version breaks semantic versioning. Addig insult to injury, npm does not allow me to revert publishing, so there's no way to fix this. The good news is that your application probably will still work, even if it uses the modified method.
43
45
 
44
46
  Version 21.4 updates to pdf.js 4.6. It also improved the search functionality: the find button is hidden if there's no text layer in the PDF document (or at least in the first 20 pages of the PDF document - this seems to be a decent compromise between accuracy and performance). If there's no find button or no text layer, CTRL+F doesn't open the find bar.
45
47
 
@@ -11082,7 +11082,7 @@ var esnext_iterator_some = __webpack_require__(7550);
11082
11082
  ;// CONCATENATED MODULE: ./web/pdfjs.js
11083
11083
  const{AbortException,AnnotationEditorLayer,AnnotationEditorParamsType,AnnotationEditorType,AnnotationEditorUIManager,AnnotationLayer,AnnotationMode,build,CMapCompressionType,ColorPicker,createValidAbsoluteUrl,DOMSVGFactory,DrawLayer,FeatureTest,fetchData,getDocument,getFilenameFromUrl,getPdfFilenameFromUrl: pdfjs_getPdfFilenameFromUrl,getXfaPageViewport,GlobalWorkerOptions,ImageKind,InvalidPDFException,isDataScheme,isPdfFile,MissingPDFException,noContextMenu,normalizeUnicode,OPS,PasswordResponses,PDFDataRangeTransport,PDFDateString,PDFWorker,PermissionFlag,PixelsPerInch,RenderingCancelledException,setLayerDimensions,shadow,TextLayer,UnexpectedResponseException,Util,VerbosityLevel,version,XfaLayer}=globalThis.pdfjsLib;
11084
11084
  ;// CONCATENATED MODULE: ./web/ngx-extended-pdf-viewer-version.js
11085
- const ngxExtendedPdfViewerVersion='21.4.4';
11085
+ const ngxExtendedPdfViewerVersion='21.4.6';
11086
11086
  ;// CONCATENATED MODULE: ./web/event_utils.js
11087
11087
  function event_utils_classPrivateFieldSet(s,a,r){return s.set(event_utils_assertClassBrand(s,a),r),r;}function event_utils_classPrivateFieldInitSpec(e,t,a){event_utils_checkPrivateRedeclaration(e,t),t.set(e,a);}function event_utils_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object");}function event_utils_classPrivateFieldGet(s,a){return s.get(event_utils_assertClassBrand(s,a));}function event_utils_assertClassBrand(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object");}const WaitOnType={EVENT:"event",TIMEOUT:"timeout"};async function waitOnEventOrTimeout(_ref){let{target,name,delay=0}=_ref;if(typeof target!=="object"||!(name&&typeof name==="string")||!(Number.isInteger(delay)&&delay>=0)){throw new Error("waitOnEventOrTimeout - invalid parameters.");}const{promise,resolve}=Promise.withResolvers();const ac=new AbortController();function handler(type){ac.abort();clearTimeout(timeout);resolve(type);}const evtMethod=target instanceof EventBus?"_on":"addEventListener";target[evtMethod](name,handler.bind(null,WaitOnType.EVENT),{signal:ac.signal});const timeout=setTimeout(handler.bind(null,WaitOnType.TIMEOUT),delay);return promise;}var _listeners=/*#__PURE__*/new WeakMap();class EventBus{constructor(){event_utils_classPrivateFieldInitSpec(this,_listeners,Object.create(null));}on(eventName,listener){let options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;this._on(eventName,listener,{external:true,once:options?.once,signal:options?.signal});}off(eventName,listener){let options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;this._off(eventName,listener);}dispatch(eventName,data){const eventListeners=event_utils_classPrivateFieldGet(_listeners,this)[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){let options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;let rmAbort=null;if(options?.signal instanceof AbortSignal){const{signal}=options;if(signal.aborted){console.error("Cannot use an `aborted` signal.");return;}const onAbort=()=>this._off(eventName,listener);rmAbort=()=>signal.removeEventListener("abort",onAbort);signal.addEventListener("abort",onAbort);}const eventListeners=event_utils_classPrivateFieldGet(_listeners,this)[eventName]||=[];eventListeners.push({listener,external:options?.external===true,once:options?.once===true,rmAbort});}_off(eventName,listener){let options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;const eventListeners=event_utils_classPrivateFieldGet(_listeners,this)[eventName];if(!eventListeners){return;}for(let i=0,ii=eventListeners.length;i<ii;i++){const evt=eventListeners[i];if(evt.listener===listener){evt.rmAbort?.();eventListeners.splice(i,1);return;}}}destroy(){let eventName;for(eventName in event_utils_classPrivateFieldGet(_listeners,this)){event_utils_classPrivateFieldGet(_listeners,this)[eventName].length=0;}}}var _externalServices=/*#__PURE__*/new WeakMap();var _globalEventNames=/*#__PURE__*/new WeakMap();var _isInAutomation=/*#__PURE__*/new WeakMap();class FirefoxEventBus extends EventBus{constructor(globalEventNames,externalServices,isInAutomation){super();event_utils_classPrivateFieldInitSpec(this,_externalServices,void 0);event_utils_classPrivateFieldInitSpec(this,_globalEventNames,void 0);event_utils_classPrivateFieldInitSpec(this,_isInAutomation,void 0);event_utils_classPrivateFieldSet(_globalEventNames,this,globalEventNames);event_utils_classPrivateFieldSet(_externalServices,this,externalServices);event_utils_classPrivateFieldSet(_isInAutomation,this,isInAutomation);}dispatch(eventName,data){throw new Error("Not implemented: FirefoxEventBus.dispatch");}}
11088
11088
  ;// CONCATENATED MODULE: ./web/external_services.js
@@ -21884,7 +21884,7 @@ const {
21884
21884
  } = globalThis.pdfjsLib;
21885
21885
 
21886
21886
  ;// CONCATENATED MODULE: ./web/ngx-extended-pdf-viewer-version.js
21887
- const ngxExtendedPdfViewerVersion = '21.4.4';
21887
+ const ngxExtendedPdfViewerVersion = '21.4.6';
21888
21888
  ;// CONCATENATED MODULE: ./web/event_utils.js
21889
21889
  const WaitOnType = {
21890
21890
  EVENT: "event",
@@ -269,12 +269,12 @@ pdfjs-additional-layers = Additional Layers
269
269
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
270
270
  pdfjs-find-entire-word-checkbox-label = Whole Words
271
271
  pdfjs-find-match-count =
272
- { NUMBER($total) ->
272
+ { $total ->
273
273
  [one] { $current } of { $total } match
274
274
  *[other] { $current } of { $total } matches
275
275
  }
276
276
  pdfjs-find-match-count-limit =
277
- { NUMBER($limit) ->
277
+ { $limit ->
278
278
  [one] More than { $limit } match
279
279
  *[other] More than { $limit } matches
280
280
  }
@@ -270,12 +270,12 @@ pdfjs-additional-layers = Additional Layers
270
270
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
271
271
  pdfjs-find-entire-word-checkbox-label = Whole Words
272
272
  pdfjs-find-match-count =
273
- { NUMBER($total) ->
273
+ { $total ->
274
274
  [one] { $current } of { $total } match
275
275
  *[other] { $current } of { $total } matches
276
276
  }
277
277
  pdfjs-find-match-count-limit =
278
- { NUMBER($limit) ->
278
+ { $limit ->
279
279
  [one] More than { $limit } match
280
280
  *[other] More than { $limit } matches
281
281
  }
@@ -276,12 +276,12 @@ pdfjs-current-outline-item-button =
276
276
  pdfjs-current-outline-item-button-label = Current Outline Item
277
277
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
278
278
  pdfjs-find-match-count =
279
- { NUMBER($total) ->
279
+ { $total ->
280
280
  [one] { $current } of { $total } match
281
281
  *[other] { $current } of { $total } matches
282
282
  }
283
283
  pdfjs-find-match-count-limit =
284
- { NUMBER($limit) ->
284
+ { $limit ->
285
285
  [one] More than { $limit } match
286
286
  *[other] More than { $limit } matches
287
287
  }
@@ -241,12 +241,12 @@ pdfjs-find-highlight-checkbox = Highlight All
241
241
  pdfjs-find-match-case-checkbox-label = Match Case
242
242
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
243
243
  pdfjs-find-match-count =
244
- { NUMBER($total) ->
244
+ { $total ->
245
245
  [one] { $current } of { $total } match
246
246
  *[other] { $current } of { $total } matches
247
247
  }
248
248
  pdfjs-find-match-count-limit =
249
- { NUMBER($limit) ->
249
+ { $limit ->
250
250
  [one] More than { $limit } match
251
251
  *[other] More than { $limit } matches
252
252
  }
@@ -276,12 +276,12 @@ pdfjs-current-outline-item-button =
276
276
  pdfjs-current-outline-item-button-label = Current Outline Item
277
277
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
278
278
  pdfjs-find-match-count =
279
- { NUMBER($total) ->
279
+ { $total ->
280
280
  [one] { $current } of { $total } match
281
281
  *[other] { $current } of { $total } matches
282
282
  }
283
283
  pdfjs-find-match-count-limit =
284
- { NUMBER($limit) ->
284
+ { $limit ->
285
285
  [one] More than { $limit } match
286
286
  *[other] More than { $limit } matches
287
287
  }
@@ -272,12 +272,12 @@ pdfjs-current-outline-item-button-label = Current Outline Item
272
272
  pdfjs-additional-layers = Additional Layers
273
273
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
274
274
  pdfjs-find-match-count =
275
- { NUMBER($total) ->
275
+ { $total ->
276
276
  [one] { $current } of { $total } match
277
277
  *[other] { $current } of { $total } matches
278
278
  }
279
279
  pdfjs-find-match-count-limit =
280
- { NUMBER($limit) ->
280
+ { $limit ->
281
281
  [one] More than { $limit } match
282
282
  *[other] More than { $limit } matches
283
283
  }
@@ -272,12 +272,12 @@ pdfjs-current-outline-item-button-label = Current Outline Item
272
272
  pdfjs-additional-layers = Additional Layers
273
273
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
274
274
  pdfjs-find-match-count =
275
- { NUMBER($total) ->
275
+ { $total ->
276
276
  [one] { $current } of { $total } match
277
277
  *[other] { $current } of { $total } matches
278
278
  }
279
279
  pdfjs-find-match-count-limit =
280
- { NUMBER($limit) ->
280
+ { $limit ->
281
281
  [one] More than { $limit } match
282
282
  *[other] More than { $limit } matches
283
283
  }
@@ -321,12 +321,12 @@ pdfjs-current-outline-item-button =
321
321
  .title = Find Current Outline Item
322
322
  pdfjs-current-outline-item-button-label = Current Outline Item
323
323
  pdfjs-find-match-count =
324
- { NUMBER($total) ->
324
+ { $total ->
325
325
  [one] { $current } of { $total } match
326
326
  *[other] { $current } of { $total } matches
327
327
  }
328
328
  pdfjs-find-match-count-limit =
329
- { NUMBER($limit) ->
329
+ { $limit ->
330
330
  [one] More than { $limit } match
331
331
  *[other] More than { $limit } matches
332
332
  }
@@ -270,12 +270,12 @@ pdfjs-additional-layers = Additional Layers
270
270
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
271
271
  pdfjs-find-entire-word-checkbox-label = Whole Words
272
272
  pdfjs-find-match-count =
273
- { NUMBER($total) ->
273
+ { $total ->
274
274
  [one] { $current } of { $total } match
275
275
  *[other] { $current } of { $total } matches
276
276
  }
277
277
  pdfjs-find-match-count-limit =
278
- { NUMBER($limit) ->
278
+ { $limit ->
279
279
  [one] More than { $limit } match
280
280
  *[other] More than { $limit } matches
281
281
  }
@@ -270,12 +270,12 @@ pdfjs-additional-layers = Additional Layers
270
270
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
271
271
  pdfjs-find-entire-word-checkbox-label = Whole Words
272
272
  pdfjs-find-match-count =
273
- { NUMBER($total) ->
273
+ { $total ->
274
274
  [one] { $current } of { $total } match
275
275
  *[other] { $current } of { $total } matches
276
276
  }
277
277
  pdfjs-find-match-count-limit =
278
- { NUMBER($limit) ->
278
+ { $limit ->
279
279
  [one] More than { $limit } match
280
280
  *[other] More than { $limit } matches
281
281
  }
@@ -319,12 +319,12 @@ pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) }
319
319
  pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)
320
320
  pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
321
321
  pdfjs-find-match-count =
322
- { NUMBER($total) ->
322
+ { $total ->
323
323
  [one] { $current } of { $total } match
324
324
  *[other] { $current } of { $total } matches
325
325
  }
326
326
  pdfjs-find-match-count-limit =
327
- { NUMBER($limit) ->
327
+ { $limit ->
328
328
  [one] More than { $limit } match
329
329
  *[other] More than { $limit } matches
330
330
  }
@@ -297,12 +297,12 @@ pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) }
297
297
  pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)
298
298
  pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
299
299
  pdfjs-find-match-count =
300
- { NUMBER($total) ->
300
+ { $total ->
301
301
  [one] { $current } of { $total } match
302
302
  *[other] { $current } of { $total } matches
303
303
  }
304
304
  pdfjs-find-match-count-limit =
305
- { NUMBER($limit) ->
305
+ { $limit ->
306
306
  [one] More than { $limit } match
307
307
  *[other] More than { $limit } matches
308
308
  }
@@ -272,12 +272,12 @@ pdfjs-current-outline-item-button =
272
272
  pdfjs-current-outline-item-button-label = Current Outline Item
273
273
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
274
274
  pdfjs-find-match-count =
275
- { NUMBER($total) ->
275
+ { $total ->
276
276
  [one] { $current } of { $total } match
277
277
  *[other] { $current } of { $total } matches
278
278
  }
279
279
  pdfjs-find-match-count-limit =
280
- { NUMBER($limit) ->
280
+ { $limit ->
281
281
  [one] More than { $limit } match
282
282
  *[other] More than { $limit } matches
283
283
  }
@@ -239,7 +239,7 @@ pdfjs-find-reached-bottom = Reached end of document, continued from top
239
239
  # $current (Number) - the index of the currently active find result
240
240
  # $total (Number) - the total number of matches in the document
241
241
  pdfjs-find-match-count =
242
- { NUMBER($total) ->
242
+ { $total ->
243
243
  [one] { $current } of { $total } match
244
244
  *[other] { $current } of { $total } matches
245
245
  }
@@ -247,7 +247,7 @@ pdfjs-find-match-count =
247
247
  # Variables:
248
248
  # $limit (Number) - the maximum number of matches
249
249
  pdfjs-find-match-count-limit =
250
- { NUMBER($limit) ->
250
+ { $limit ->
251
251
  [one] More than { $limit } match
252
252
  *[other] More than { $limit } matches
253
253
  }
@@ -415,6 +415,21 @@ pdfjs-editor-highlight-show-all-button =
415
415
 
416
416
  ## Image alt-text settings
417
417
 
418
+ pdfjs-editor-alt-text-settings-dialog-label = Ajustes del texto alternativo de la imagen
419
+ pdfjs-editor-alt-text-settings-automatic-title = Texto alternativo automático
420
+ pdfjs-editor-alt-text-settings-create-model-button-label = Crear texto alternativo automáticamente
421
+ pdfjs-editor-alt-text-settings-create-model-description = Sugiere descripciones para ayudar a las personas que no pueden ver la imagen o cuando la imagen no se carga.
422
+ # Variables:
423
+ # $totalSize (Number) - the total size (in MB) of the AI model.
424
+ pdfjs-editor-alt-text-settings-download-model-label = Modelo de IA de texto alternativo ({ $totalSize } MB)
425
+ pdfjs-editor-alt-text-settings-ai-model-description = Se ejecuta localmente en el dispositivo para que los datos se mantengan privados. Requerido para texto alternativo automático.
426
+ pdfjs-editor-alt-text-settings-delete-model-button = Eliminar
427
+ pdfjs-editor-alt-text-settings-download-model-button = Descargar
428
+ pdfjs-editor-alt-text-settings-downloading-model-button = Descargando…
429
+ pdfjs-editor-alt-text-settings-editor-title = Editor de texto alternativo
430
+ pdfjs-editor-alt-text-settings-show-dialog-button-label = Mostrar el editor de texto alternativo inmediatamente al añadir una imagen
431
+ pdfjs-editor-alt-text-settings-show-dialog-description = Le ayuda a asegurarse de que todas sus imágenes tengan texto alternativo.
432
+ pdfjs-editor-alt-text-settings-close-button = Cerrar
418
433
 
419
434
  pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) } KB ({ $b } bytes)
420
435
  pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)
@@ -441,19 +456,6 @@ pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer = Created automatic
441
456
  pdfjs-image-alt-text-settings-button =
442
457
  .title = Image alt text settings
443
458
  pdfjs-image-alt-text-settings-button-label = Image alt text settings
444
- pdfjs-editor-alt-text-settings-dialog-label = Image alt text settings
445
- pdfjs-editor-alt-text-settings-automatic-title = Automatic alt text
446
- pdfjs-editor-alt-text-settings-create-model-button-label = Create alt text automatically
447
- pdfjs-editor-alt-text-settings-create-model-description = Suggests descriptions to help people who can’t see the image or when the image doesn’t load.
448
- pdfjs-editor-alt-text-settings-download-model-label = Alt text AI model ({ $totalSize } MB)
449
- pdfjs-editor-alt-text-settings-ai-model-description = Runs locally on your device so your data stays private. Required for automatic alt text.
450
- pdfjs-editor-alt-text-settings-delete-model-button = Delete
451
- pdfjs-editor-alt-text-settings-download-model-button = Download
452
- pdfjs-editor-alt-text-settings-downloading-model-button = Downloading…
453
- pdfjs-editor-alt-text-settings-editor-title = Alt text editor
454
- pdfjs-editor-alt-text-settings-show-dialog-button-label = Show alt text editor right away when adding an image
455
- pdfjs-editor-alt-text-settings-show-dialog-description = Helps you make sure all your images have alt text.
456
- pdfjs-editor-alt-text-settings-close-button = Close
457
459
  unverified-signature-warning = This PDF file contains a digital signature. The PDF viewer can't verify if the signature is valid. Please download the file and open it in Acrobat Reader to verify the signature is valid.
458
460
  pdfjs-infinite-scroll-button-label = Infinite scroll
459
461
  pdfjs-find-multiple-checkbox-label = match each word
@@ -330,12 +330,12 @@ pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) }
330
330
  pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)
331
331
  pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
332
332
  pdfjs-find-match-count =
333
- { NUMBER($total) ->
333
+ { $total ->
334
334
  [one] { $current } of { $total } match
335
335
  *[other] { $current } of { $total } matches
336
336
  }
337
337
  pdfjs-find-match-count-limit =
338
- { NUMBER($limit) ->
338
+ { $limit ->
339
339
  [one] More than { $limit } match
340
340
  *[other] More than { $limit } matches
341
341
  }
@@ -280,12 +280,12 @@ pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) }
280
280
  pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)
281
281
  pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
282
282
  pdfjs-find-match-count =
283
- { NUMBER($total) ->
283
+ { $total ->
284
284
  [one] { $current } of { $total } match
285
285
  *[other] { $current } of { $total } matches
286
286
  }
287
287
  pdfjs-find-match-count-limit =
288
- { NUMBER($limit) ->
288
+ { $limit ->
289
289
  [one] More than { $limit } match
290
290
  *[other] More than { $limit } matches
291
291
  }
@@ -279,12 +279,12 @@ pdfjs-current-outline-item-button-label = Current Outline Item
279
279
  pdfjs-additional-layers = Additional Layers
280
280
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
281
281
  pdfjs-find-match-count =
282
- { NUMBER($total) ->
282
+ { $total ->
283
283
  [one] { $current } of { $total } match
284
284
  *[other] { $current } of { $total } matches
285
285
  }
286
286
  pdfjs-find-match-count-limit =
287
- { NUMBER($limit) ->
287
+ { $limit ->
288
288
  [one] More than { $limit } match
289
289
  *[other] More than { $limit } matches
290
290
  }
@@ -272,12 +272,12 @@ pdfjs-current-outline-item-button-label = Current Outline Item
272
272
  pdfjs-additional-layers = Additional Layers
273
273
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
274
274
  pdfjs-find-match-count =
275
- { NUMBER($total) ->
275
+ { $total ->
276
276
  [one] { $current } of { $total } match
277
277
  *[other] { $current } of { $total } matches
278
278
  }
279
279
  pdfjs-find-match-count-limit =
280
- { NUMBER($limit) ->
280
+ { $limit ->
281
281
  [one] More than { $limit } match
282
282
  *[other] More than { $limit } matches
283
283
  }
@@ -270,12 +270,12 @@ pdfjs-current-outline-item-button-label = Current Outline Item
270
270
  pdfjs-additional-layers = Additional Layers
271
271
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
272
272
  pdfjs-find-match-count =
273
- { NUMBER($total) ->
273
+ { $total ->
274
274
  [one] { $current } of { $total } match
275
275
  *[other] { $current } of { $total } matches
276
276
  }
277
277
  pdfjs-find-match-count-limit =
278
- { NUMBER($limit) ->
278
+ { $limit ->
279
279
  [one] More than { $limit } match
280
280
  *[other] More than { $limit } matches
281
281
  }
@@ -319,12 +319,12 @@ pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) }
319
319
  pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)
320
320
  pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
321
321
  pdfjs-find-match-count =
322
- { NUMBER($total) ->
322
+ { $total ->
323
323
  [one] { $current } of { $total } match
324
324
  *[other] { $current } of { $total } matches
325
325
  }
326
326
  pdfjs-find-match-count-limit =
327
- { NUMBER($limit) ->
327
+ { $limit ->
328
328
  [one] More than { $limit } match
329
329
  *[other] More than { $limit } matches
330
330
  }
@@ -272,12 +272,12 @@ pdfjs-current-outline-item-button-label = Current Outline Item
272
272
  pdfjs-additional-layers = Additional Layers
273
273
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
274
274
  pdfjs-find-match-count =
275
- { NUMBER($total) ->
275
+ { $total ->
276
276
  [one] { $current } of { $total } match
277
277
  *[other] { $current } of { $total } matches
278
278
  }
279
279
  pdfjs-find-match-count-limit =
280
- { NUMBER($limit) ->
280
+ { $limit ->
281
281
  [one] More than { $limit } match
282
282
  *[other] More than { $limit } matches
283
283
  }
@@ -296,12 +296,12 @@ pdfjs-current-outline-item-button-label = Current Outline Item
296
296
  pdfjs-additional-layers = Additional Layers
297
297
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
298
298
  pdfjs-find-match-count =
299
- { NUMBER($total) ->
299
+ { $total ->
300
300
  [one] { $current } of { $total } match
301
301
  *[other] { $current } of { $total } matches
302
302
  }
303
303
  pdfjs-find-match-count-limit =
304
- { NUMBER($limit) ->
304
+ { $limit ->
305
305
  [one] More than { $limit } match
306
306
  *[other] More than { $limit } matches
307
307
  }
@@ -414,6 +414,8 @@ pdfjs-editor-highlight-show-all-button =
414
414
  ## New alt-text dialog
415
415
  ## Group note for entire feature: Alternative text (alt text) helps when people can't see the image. This feature includes a tool to create alt text automatically using an AI model that works locally on the user's device to preserve privacy.
416
416
 
417
+ pdfjs-editor-new-alt-text-textarea =
418
+ .placeholder = Ovdje upiši tvoj opis …
417
419
  # This is a required legal disclaimer that refers to the automatically created text inside the alt text box above this text. It disappears if the text is edited by a human.
418
420
  pdfjs-editor-new-alt-text-disclaimer1 = Ovaj je alternativni tekst stvoren automatski i može biti netočan.
419
421
  pdfjs-editor-new-alt-text-disclaimer-learn-more-url = Saznaj više
@@ -447,8 +449,6 @@ pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "sh
447
449
  pdfjs-annotation-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
448
450
  pdfjs-editor-new-alt-text-dialog-edit-label = Edit alt text (image description)
449
451
  pdfjs-editor-new-alt-text-dialog-add-label = Add alt text (image description)
450
- pdfjs-editor-new-alt-text-textarea =
451
- .placeholder = Write your description here…
452
452
  pdfjs-editor-new-alt-text-description = Short description for people who can’t see the image or when the image doesn’t load.
453
453
  pdfjs-editor-new-alt-text-not-now-button = Not now
454
454
  pdfjs-editor-new-alt-text-error-description = Please write your own alt text or try again later.
@@ -291,12 +291,12 @@ pdfjs-current-outline-item-button-label = Current Outline Item
291
291
  pdfjs-additional-layers = Additional Layers
292
292
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
293
293
  pdfjs-find-match-count =
294
- { NUMBER($total) ->
294
+ { $total ->
295
295
  [one] { $current } of { $total } match
296
296
  *[other] { $current } of { $total } matches
297
297
  }
298
298
  pdfjs-find-match-count-limit =
299
- { NUMBER($limit) ->
299
+ { $limit ->
300
300
  [one] More than { $limit } match
301
301
  *[other] More than { $limit } matches
302
302
  }
@@ -280,12 +280,12 @@ pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) }
280
280
  pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)
281
281
  pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
282
282
  pdfjs-find-match-count =
283
- { NUMBER($total) ->
283
+ { $total ->
284
284
  [one] { $current } of { $total } match
285
285
  *[other] { $current } of { $total } matches
286
286
  }
287
287
  pdfjs-find-match-count-limit =
288
- { NUMBER($limit) ->
288
+ { $limit ->
289
289
  [one] More than { $limit } match
290
290
  *[other] More than { $limit } matches
291
291
  }
@@ -299,12 +299,12 @@ pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) }
299
299
  pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)
300
300
  pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
301
301
  pdfjs-find-match-count =
302
- { NUMBER($total) ->
302
+ { $total ->
303
303
  [one] { $current } of { $total } match
304
304
  *[other] { $current } of { $total } matches
305
305
  }
306
306
  pdfjs-find-match-count-limit =
307
- { NUMBER($limit) ->
307
+ { $limit ->
308
308
  [one] More than { $limit } match
309
309
  *[other] More than { $limit } matches
310
310
  }
@@ -268,12 +268,12 @@ pdfjs-additional-layers = Additional Layers
268
268
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
269
269
  pdfjs-find-entire-word-checkbox-label = Whole Words
270
270
  pdfjs-find-match-count =
271
- { NUMBER($total) ->
271
+ { $total ->
272
272
  [one] { $current } of { $total } match
273
273
  *[other] { $current } of { $total } matches
274
274
  }
275
275
  pdfjs-find-match-count-limit =
276
- { NUMBER($limit) ->
276
+ { $limit ->
277
277
  [one] More than { $limit } match
278
278
  *[other] More than { $limit } matches
279
279
  }
@@ -267,12 +267,12 @@ pdfjs-additional-layers = Additional Layers
267
267
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
268
268
  pdfjs-find-entire-word-checkbox-label = Whole Words
269
269
  pdfjs-find-match-count =
270
- { NUMBER($total) ->
270
+ { $total ->
271
271
  [one] { $current } of { $total } match
272
272
  *[other] { $current } of { $total } matches
273
273
  }
274
274
  pdfjs-find-match-count-limit =
275
- { NUMBER($limit) ->
275
+ { $limit ->
276
276
  [one] More than { $limit } match
277
277
  *[other] More than { $limit } matches
278
278
  }
@@ -272,12 +272,12 @@ pdfjs-current-outline-item-button-label = Current Outline Item
272
272
  pdfjs-additional-layers = Additional Layers
273
273
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
274
274
  pdfjs-find-match-count =
275
- { NUMBER($total) ->
275
+ { $total ->
276
276
  [one] { $current } of { $total } match
277
277
  *[other] { $current } of { $total } matches
278
278
  }
279
279
  pdfjs-find-match-count-limit =
280
- { NUMBER($limit) ->
280
+ { $limit ->
281
281
  [one] More than { $limit } match
282
282
  *[other] More than { $limit } matches
283
283
  }
@@ -319,12 +319,12 @@ pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) }
319
319
  pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)
320
320
  pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
321
321
  pdfjs-find-match-count =
322
- { NUMBER($total) ->
322
+ { $total ->
323
323
  [one] { $current } of { $total } match
324
324
  *[other] { $current } of { $total } matches
325
325
  }
326
326
  pdfjs-find-match-count-limit =
327
- { NUMBER($limit) ->
327
+ { $limit ->
328
328
  [one] More than { $limit } match
329
329
  *[other] More than { $limit } matches
330
330
  }
@@ -280,12 +280,12 @@ pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) }
280
280
  pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)
281
281
  pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
282
282
  pdfjs-find-match-count =
283
- { NUMBER($total) ->
283
+ { $total ->
284
284
  [one] { $current } of { $total } match
285
285
  *[other] { $current } of { $total } matches
286
286
  }
287
287
  pdfjs-find-match-count-limit =
288
- { NUMBER($limit) ->
288
+ { $limit ->
289
289
  [one] More than { $limit } match
290
290
  *[other] More than { $limit } matches
291
291
  }
@@ -272,12 +272,12 @@ pdfjs-additional-layers = Additional Layers
272
272
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
273
273
  pdfjs-find-entire-word-checkbox-label = Whole Words
274
274
  pdfjs-find-match-count =
275
- { NUMBER($total) ->
275
+ { $total ->
276
276
  [one] { $current } of { $total } match
277
277
  *[other] { $current } of { $total } matches
278
278
  }
279
279
  pdfjs-find-match-count-limit =
280
- { NUMBER($limit) ->
280
+ { $limit ->
281
281
  [one] More than { $limit } match
282
282
  *[other] More than { $limit } matches
283
283
  }
@@ -272,12 +272,12 @@ pdfjs-current-outline-item-button-label = Current Outline Item
272
272
  pdfjs-additional-layers = Additional Layers
273
273
  pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
274
274
  pdfjs-find-match-count =
275
- { NUMBER($total) ->
275
+ { $total ->
276
276
  [one] { $current } of { $total } match
277
277
  *[other] { $current } of { $total } matches
278
278
  }
279
279
  pdfjs-find-match-count-limit =
280
- { NUMBER($limit) ->
280
+ { $limit ->
281
281
  [one] More than { $limit } match
282
282
  *[other] More than { $limit } matches
283
283
  }