pdfjs_viewer 0.1.0

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 (421) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +13 -0
  3. data/.rspec +3 -0
  4. data/.rubocop.yml +230 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +7 -0
  7. data/CHANGELOG.md +2 -0
  8. data/Gemfile +8 -0
  9. data/Gemfile.lock +67 -0
  10. data/LICENSE +204 -0
  11. data/README.md +128 -0
  12. data/Rakefile +6 -0
  13. data/app/controllers/pdfjs_viewer/assets_controller.rb +27 -0
  14. data/app/controllers/pdfjs_viewer/viewer_controller.rb +11 -0
  15. data/app/helpers/pdfjs_viewer/application_helper.rb +20 -0
  16. data/app/views/pdfjs_viewer/viewer/show.html.erb +775 -0
  17. data/bin/build_pdfjs +24 -0
  18. data/bin/console +14 -0
  19. data/bin/setup +8 -0
  20. data/config/routes.rb +11 -0
  21. data/lib/generators/pdfjs_viewer/install_generator.rb +20 -0
  22. data/lib/generators/pdfjs_viewer/templates/README +20 -0
  23. data/lib/generators/pdfjs_viewer/templates/pdfjs_viewer.rb +30 -0
  24. data/lib/pdfjs_viewer/configuration.rb +21 -0
  25. data/lib/pdfjs_viewer/engine.rb +19 -0
  26. data/lib/pdfjs_viewer/version.rb +7 -0
  27. data/lib/pdfjs_viewer.rb +22 -0
  28. data/pdfjs_viewer.gemspec +54 -0
  29. data/public/build/pdf.mjs +23371 -0
  30. data/public/build/pdf.mjs.map +1 -0
  31. data/public/build/pdf.sandbox.mjs +218 -0
  32. data/public/build/pdf.sandbox.mjs.map +1 -0
  33. data/public/build/pdf.worker.mjs +58148 -0
  34. data/public/build/pdf.worker.mjs.map +1 -0
  35. data/public/web/cmaps/78-EUC-H.bcmap +0 -0
  36. data/public/web/cmaps/78-EUC-V.bcmap +0 -0
  37. data/public/web/cmaps/78-H.bcmap +0 -0
  38. data/public/web/cmaps/78-RKSJ-H.bcmap +0 -0
  39. data/public/web/cmaps/78-RKSJ-V.bcmap +0 -0
  40. data/public/web/cmaps/78-V.bcmap +0 -0
  41. data/public/web/cmaps/78ms-RKSJ-H.bcmap +0 -0
  42. data/public/web/cmaps/78ms-RKSJ-V.bcmap +0 -0
  43. data/public/web/cmaps/83pv-RKSJ-H.bcmap +0 -0
  44. data/public/web/cmaps/90ms-RKSJ-H.bcmap +0 -0
  45. data/public/web/cmaps/90ms-RKSJ-V.bcmap +0 -0
  46. data/public/web/cmaps/90msp-RKSJ-H.bcmap +0 -0
  47. data/public/web/cmaps/90msp-RKSJ-V.bcmap +0 -0
  48. data/public/web/cmaps/90pv-RKSJ-H.bcmap +0 -0
  49. data/public/web/cmaps/90pv-RKSJ-V.bcmap +0 -0
  50. data/public/web/cmaps/Add-H.bcmap +0 -0
  51. data/public/web/cmaps/Add-RKSJ-H.bcmap +0 -0
  52. data/public/web/cmaps/Add-RKSJ-V.bcmap +0 -0
  53. data/public/web/cmaps/Add-V.bcmap +0 -0
  54. data/public/web/cmaps/Adobe-CNS1-0.bcmap +0 -0
  55. data/public/web/cmaps/Adobe-CNS1-1.bcmap +0 -0
  56. data/public/web/cmaps/Adobe-CNS1-2.bcmap +0 -0
  57. data/public/web/cmaps/Adobe-CNS1-3.bcmap +0 -0
  58. data/public/web/cmaps/Adobe-CNS1-4.bcmap +0 -0
  59. data/public/web/cmaps/Adobe-CNS1-5.bcmap +0 -0
  60. data/public/web/cmaps/Adobe-CNS1-6.bcmap +0 -0
  61. data/public/web/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
  62. data/public/web/cmaps/Adobe-GB1-0.bcmap +0 -0
  63. data/public/web/cmaps/Adobe-GB1-1.bcmap +0 -0
  64. data/public/web/cmaps/Adobe-GB1-2.bcmap +0 -0
  65. data/public/web/cmaps/Adobe-GB1-3.bcmap +0 -0
  66. data/public/web/cmaps/Adobe-GB1-4.bcmap +0 -0
  67. data/public/web/cmaps/Adobe-GB1-5.bcmap +0 -0
  68. data/public/web/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
  69. data/public/web/cmaps/Adobe-Japan1-0.bcmap +0 -0
  70. data/public/web/cmaps/Adobe-Japan1-1.bcmap +0 -0
  71. data/public/web/cmaps/Adobe-Japan1-2.bcmap +0 -0
  72. data/public/web/cmaps/Adobe-Japan1-3.bcmap +0 -0
  73. data/public/web/cmaps/Adobe-Japan1-4.bcmap +0 -0
  74. data/public/web/cmaps/Adobe-Japan1-5.bcmap +0 -0
  75. data/public/web/cmaps/Adobe-Japan1-6.bcmap +0 -0
  76. data/public/web/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
  77. data/public/web/cmaps/Adobe-Korea1-0.bcmap +0 -0
  78. data/public/web/cmaps/Adobe-Korea1-1.bcmap +0 -0
  79. data/public/web/cmaps/Adobe-Korea1-2.bcmap +0 -0
  80. data/public/web/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
  81. data/public/web/cmaps/B5-H.bcmap +0 -0
  82. data/public/web/cmaps/B5-V.bcmap +0 -0
  83. data/public/web/cmaps/B5pc-H.bcmap +0 -0
  84. data/public/web/cmaps/B5pc-V.bcmap +0 -0
  85. data/public/web/cmaps/CNS-EUC-H.bcmap +0 -0
  86. data/public/web/cmaps/CNS-EUC-V.bcmap +0 -0
  87. data/public/web/cmaps/CNS1-H.bcmap +0 -0
  88. data/public/web/cmaps/CNS1-V.bcmap +0 -0
  89. data/public/web/cmaps/CNS2-H.bcmap +0 -0
  90. data/public/web/cmaps/CNS2-V.bcmap +3 -0
  91. data/public/web/cmaps/ETHK-B5-H.bcmap +0 -0
  92. data/public/web/cmaps/ETHK-B5-V.bcmap +0 -0
  93. data/public/web/cmaps/ETen-B5-H.bcmap +0 -0
  94. data/public/web/cmaps/ETen-B5-V.bcmap +0 -0
  95. data/public/web/cmaps/ETenms-B5-H.bcmap +3 -0
  96. data/public/web/cmaps/ETenms-B5-V.bcmap +0 -0
  97. data/public/web/cmaps/EUC-H.bcmap +0 -0
  98. data/public/web/cmaps/EUC-V.bcmap +0 -0
  99. data/public/web/cmaps/Ext-H.bcmap +0 -0
  100. data/public/web/cmaps/Ext-RKSJ-H.bcmap +0 -0
  101. data/public/web/cmaps/Ext-RKSJ-V.bcmap +0 -0
  102. data/public/web/cmaps/Ext-V.bcmap +0 -0
  103. data/public/web/cmaps/GB-EUC-H.bcmap +0 -0
  104. data/public/web/cmaps/GB-EUC-V.bcmap +0 -0
  105. data/public/web/cmaps/GB-H.bcmap +4 -0
  106. data/public/web/cmaps/GB-V.bcmap +0 -0
  107. data/public/web/cmaps/GBK-EUC-H.bcmap +0 -0
  108. data/public/web/cmaps/GBK-EUC-V.bcmap +0 -0
  109. data/public/web/cmaps/GBK2K-H.bcmap +0 -0
  110. data/public/web/cmaps/GBK2K-V.bcmap +0 -0
  111. data/public/web/cmaps/GBKp-EUC-H.bcmap +0 -0
  112. data/public/web/cmaps/GBKp-EUC-V.bcmap +0 -0
  113. data/public/web/cmaps/GBT-EUC-H.bcmap +0 -0
  114. data/public/web/cmaps/GBT-EUC-V.bcmap +0 -0
  115. data/public/web/cmaps/GBT-H.bcmap +0 -0
  116. data/public/web/cmaps/GBT-V.bcmap +0 -0
  117. data/public/web/cmaps/GBTpc-EUC-H.bcmap +0 -0
  118. data/public/web/cmaps/GBTpc-EUC-V.bcmap +0 -0
  119. data/public/web/cmaps/GBpc-EUC-H.bcmap +0 -0
  120. data/public/web/cmaps/GBpc-EUC-V.bcmap +0 -0
  121. data/public/web/cmaps/H.bcmap +0 -0
  122. data/public/web/cmaps/HKdla-B5-H.bcmap +0 -0
  123. data/public/web/cmaps/HKdla-B5-V.bcmap +0 -0
  124. data/public/web/cmaps/HKdlb-B5-H.bcmap +0 -0
  125. data/public/web/cmaps/HKdlb-B5-V.bcmap +0 -0
  126. data/public/web/cmaps/HKgccs-B5-H.bcmap +0 -0
  127. data/public/web/cmaps/HKgccs-B5-V.bcmap +0 -0
  128. data/public/web/cmaps/HKm314-B5-H.bcmap +0 -0
  129. data/public/web/cmaps/HKm314-B5-V.bcmap +0 -0
  130. data/public/web/cmaps/HKm471-B5-H.bcmap +0 -0
  131. data/public/web/cmaps/HKm471-B5-V.bcmap +0 -0
  132. data/public/web/cmaps/HKscs-B5-H.bcmap +0 -0
  133. data/public/web/cmaps/HKscs-B5-V.bcmap +0 -0
  134. data/public/web/cmaps/Hankaku.bcmap +0 -0
  135. data/public/web/cmaps/Hiragana.bcmap +0 -0
  136. data/public/web/cmaps/KSC-EUC-H.bcmap +0 -0
  137. data/public/web/cmaps/KSC-EUC-V.bcmap +0 -0
  138. data/public/web/cmaps/KSC-H.bcmap +0 -0
  139. data/public/web/cmaps/KSC-Johab-H.bcmap +0 -0
  140. data/public/web/cmaps/KSC-Johab-V.bcmap +0 -0
  141. data/public/web/cmaps/KSC-V.bcmap +0 -0
  142. data/public/web/cmaps/KSCms-UHC-H.bcmap +0 -0
  143. data/public/web/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
  144. data/public/web/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
  145. data/public/web/cmaps/KSCms-UHC-V.bcmap +0 -0
  146. data/public/web/cmaps/KSCpc-EUC-H.bcmap +0 -0
  147. data/public/web/cmaps/KSCpc-EUC-V.bcmap +0 -0
  148. data/public/web/cmaps/Katakana.bcmap +0 -0
  149. data/public/web/cmaps/LICENSE +36 -0
  150. data/public/web/cmaps/NWP-H.bcmap +0 -0
  151. data/public/web/cmaps/NWP-V.bcmap +0 -0
  152. data/public/web/cmaps/RKSJ-H.bcmap +0 -0
  153. data/public/web/cmaps/RKSJ-V.bcmap +0 -0
  154. data/public/web/cmaps/Roman.bcmap +0 -0
  155. data/public/web/cmaps/UniCNS-UCS2-H.bcmap +0 -0
  156. data/public/web/cmaps/UniCNS-UCS2-V.bcmap +0 -0
  157. data/public/web/cmaps/UniCNS-UTF16-H.bcmap +0 -0
  158. data/public/web/cmaps/UniCNS-UTF16-V.bcmap +0 -0
  159. data/public/web/cmaps/UniCNS-UTF32-H.bcmap +0 -0
  160. data/public/web/cmaps/UniCNS-UTF32-V.bcmap +0 -0
  161. data/public/web/cmaps/UniCNS-UTF8-H.bcmap +0 -0
  162. data/public/web/cmaps/UniCNS-UTF8-V.bcmap +0 -0
  163. data/public/web/cmaps/UniGB-UCS2-H.bcmap +0 -0
  164. data/public/web/cmaps/UniGB-UCS2-V.bcmap +0 -0
  165. data/public/web/cmaps/UniGB-UTF16-H.bcmap +0 -0
  166. data/public/web/cmaps/UniGB-UTF16-V.bcmap +0 -0
  167. data/public/web/cmaps/UniGB-UTF32-H.bcmap +0 -0
  168. data/public/web/cmaps/UniGB-UTF32-V.bcmap +0 -0
  169. data/public/web/cmaps/UniGB-UTF8-H.bcmap +0 -0
  170. data/public/web/cmaps/UniGB-UTF8-V.bcmap +0 -0
  171. data/public/web/cmaps/UniJIS-UCS2-H.bcmap +0 -0
  172. data/public/web/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
  173. data/public/web/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
  174. data/public/web/cmaps/UniJIS-UCS2-V.bcmap +0 -0
  175. data/public/web/cmaps/UniJIS-UTF16-H.bcmap +0 -0
  176. data/public/web/cmaps/UniJIS-UTF16-V.bcmap +0 -0
  177. data/public/web/cmaps/UniJIS-UTF32-H.bcmap +0 -0
  178. data/public/web/cmaps/UniJIS-UTF32-V.bcmap +0 -0
  179. data/public/web/cmaps/UniJIS-UTF8-H.bcmap +0 -0
  180. data/public/web/cmaps/UniJIS-UTF8-V.bcmap +0 -0
  181. data/public/web/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
  182. data/public/web/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
  183. data/public/web/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
  184. data/public/web/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
  185. data/public/web/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
  186. data/public/web/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
  187. data/public/web/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
  188. data/public/web/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
  189. data/public/web/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
  190. data/public/web/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
  191. data/public/web/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
  192. data/public/web/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
  193. data/public/web/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
  194. data/public/web/cmaps/UniKS-UCS2-H.bcmap +0 -0
  195. data/public/web/cmaps/UniKS-UCS2-V.bcmap +0 -0
  196. data/public/web/cmaps/UniKS-UTF16-H.bcmap +0 -0
  197. data/public/web/cmaps/UniKS-UTF16-V.bcmap +0 -0
  198. data/public/web/cmaps/UniKS-UTF32-H.bcmap +0 -0
  199. data/public/web/cmaps/UniKS-UTF32-V.bcmap +0 -0
  200. data/public/web/cmaps/UniKS-UTF8-H.bcmap +0 -0
  201. data/public/web/cmaps/UniKS-UTF8-V.bcmap +0 -0
  202. data/public/web/cmaps/V.bcmap +0 -0
  203. data/public/web/cmaps/WP-Symbol.bcmap +0 -0
  204. data/public/web/compressed.tracemonkey-pldi-09.pdf +0 -0
  205. data/public/web/debugger.css +114 -0
  206. data/public/web/debugger.mjs +627 -0
  207. data/public/web/iccs/CGATS001Compat-v2-micro.icc +0 -0
  208. data/public/web/iccs/LICENSE +116 -0
  209. data/public/web/images/altText_add.svg +3 -0
  210. data/public/web/images/altText_disclaimer.svg +3 -0
  211. data/public/web/images/altText_done.svg +3 -0
  212. data/public/web/images/altText_spinner.svg +30 -0
  213. data/public/web/images/altText_warning.svg +3 -0
  214. data/public/web/images/annotation-check.svg +11 -0
  215. data/public/web/images/annotation-comment.svg +16 -0
  216. data/public/web/images/annotation-help.svg +26 -0
  217. data/public/web/images/annotation-insert.svg +10 -0
  218. data/public/web/images/annotation-key.svg +11 -0
  219. data/public/web/images/annotation-newparagraph.svg +11 -0
  220. data/public/web/images/annotation-noicon.svg +7 -0
  221. data/public/web/images/annotation-note.svg +42 -0
  222. data/public/web/images/annotation-paperclip.svg +6 -0
  223. data/public/web/images/annotation-paragraph.svg +16 -0
  224. data/public/web/images/annotation-pushpin.svg +7 -0
  225. data/public/web/images/comment-actionsButton.svg +3 -0
  226. data/public/web/images/comment-closeButton.svg +3 -0
  227. data/public/web/images/comment-editButton.svg +3 -0
  228. data/public/web/images/cursor-editorFreeHighlight.svg +6 -0
  229. data/public/web/images/cursor-editorFreeText.svg +3 -0
  230. data/public/web/images/cursor-editorInk.svg +4 -0
  231. data/public/web/images/cursor-editorTextHighlight.svg +8 -0
  232. data/public/web/images/editor-toolbar-delete.svg +5 -0
  233. data/public/web/images/editor-toolbar-edit.svg +3 -0
  234. data/public/web/images/findbarButton-next.svg +3 -0
  235. data/public/web/images/findbarButton-previous.svg +3 -0
  236. data/public/web/images/gv-toolbarButton-download.svg +3 -0
  237. data/public/web/images/loading-icon.gif +0 -0
  238. data/public/web/images/loading.svg +1 -0
  239. data/public/web/images/messageBar_closingButton.svg +3 -0
  240. data/public/web/images/messageBar_info.svg +3 -0
  241. data/public/web/images/messageBar_warning.svg +3 -0
  242. data/public/web/images/secondaryToolbarButton-documentProperties.svg +3 -0
  243. data/public/web/images/secondaryToolbarButton-firstPage.svg +3 -0
  244. data/public/web/images/secondaryToolbarButton-handTool.svg +3 -0
  245. data/public/web/images/secondaryToolbarButton-lastPage.svg +3 -0
  246. data/public/web/images/secondaryToolbarButton-rotateCcw.svg +3 -0
  247. data/public/web/images/secondaryToolbarButton-rotateCw.svg +3 -0
  248. data/public/web/images/secondaryToolbarButton-scrollHorizontal.svg +3 -0
  249. data/public/web/images/secondaryToolbarButton-scrollPage.svg +3 -0
  250. data/public/web/images/secondaryToolbarButton-scrollVertical.svg +3 -0
  251. data/public/web/images/secondaryToolbarButton-scrollWrapped.svg +3 -0
  252. data/public/web/images/secondaryToolbarButton-selectTool.svg +3 -0
  253. data/public/web/images/secondaryToolbarButton-spreadEven.svg +3 -0
  254. data/public/web/images/secondaryToolbarButton-spreadNone.svg +3 -0
  255. data/public/web/images/secondaryToolbarButton-spreadOdd.svg +3 -0
  256. data/public/web/images/toolbarButton-bookmark.svg +3 -0
  257. data/public/web/images/toolbarButton-currentOutlineItem.svg +3 -0
  258. data/public/web/images/toolbarButton-download.svg +4 -0
  259. data/public/web/images/toolbarButton-editorFreeText.svg +5 -0
  260. data/public/web/images/toolbarButton-editorHighlight.svg +6 -0
  261. data/public/web/images/toolbarButton-editorInk.svg +4 -0
  262. data/public/web/images/toolbarButton-editorSignature.svg +6 -0
  263. data/public/web/images/toolbarButton-editorStamp.svg +8 -0
  264. data/public/web/images/toolbarButton-menuArrow.svg +3 -0
  265. data/public/web/images/toolbarButton-openFile.svg +3 -0
  266. data/public/web/images/toolbarButton-pageDown.svg +3 -0
  267. data/public/web/images/toolbarButton-pageUp.svg +3 -0
  268. data/public/web/images/toolbarButton-presentationMode.svg +3 -0
  269. data/public/web/images/toolbarButton-print.svg +3 -0
  270. data/public/web/images/toolbarButton-search.svg +3 -0
  271. data/public/web/images/toolbarButton-secondaryToolbarToggle.svg +3 -0
  272. data/public/web/images/toolbarButton-sidebarToggle.svg +3 -0
  273. data/public/web/images/toolbarButton-viewAttachments.svg +3 -0
  274. data/public/web/images/toolbarButton-viewLayers.svg +3 -0
  275. data/public/web/images/toolbarButton-viewOutline.svg +3 -0
  276. data/public/web/images/toolbarButton-viewThumbnail.svg +3 -0
  277. data/public/web/images/toolbarButton-zoomIn.svg +3 -0
  278. data/public/web/images/toolbarButton-zoomOut.svg +3 -0
  279. data/public/web/images/treeitem-collapsed.svg +1 -0
  280. data/public/web/images/treeitem-expanded.svg +1 -0
  281. data/public/web/locale/ach/viewer.ftl +275 -0
  282. data/public/web/locale/af/viewer.ftl +262 -0
  283. data/public/web/locale/an/viewer.ftl +307 -0
  284. data/public/web/locale/ar/viewer.ftl +627 -0
  285. data/public/web/locale/ast/viewer.ftl +251 -0
  286. data/public/web/locale/az/viewer.ftl +307 -0
  287. data/public/web/locale/be/viewer.ftl +618 -0
  288. data/public/web/locale/bg/viewer.ftl +451 -0
  289. data/public/web/locale/bn/viewer.ftl +297 -0
  290. data/public/web/locale/bo/viewer.ftl +297 -0
  291. data/public/web/locale/br/viewer.ftl +382 -0
  292. data/public/web/locale/brx/viewer.ftl +268 -0
  293. data/public/web/locale/bs/viewer.ftl +618 -0
  294. data/public/web/locale/ca/viewer.ftl +343 -0
  295. data/public/web/locale/cak/viewer.ftl +341 -0
  296. data/public/web/locale/ckb/viewer.ftl +292 -0
  297. data/public/web/locale/cs/viewer.ftl +621 -0
  298. data/public/web/locale/cy/viewer.ftl +627 -0
  299. data/public/web/locale/da/viewer.ftl +615 -0
  300. data/public/web/locale/de/viewer.ftl +615 -0
  301. data/public/web/locale/dsb/viewer.ftl +621 -0
  302. data/public/web/locale/el/viewer.ftl +615 -0
  303. data/public/web/locale/en-CA/viewer.ftl +615 -0
  304. data/public/web/locale/en-GB/viewer.ftl +615 -0
  305. data/public/web/locale/en-US/viewer.ftl +667 -0
  306. data/public/web/locale/eo/viewer.ftl +615 -0
  307. data/public/web/locale/es-AR/viewer.ftl +615 -0
  308. data/public/web/locale/es-CL/viewer.ftl +615 -0
  309. data/public/web/locale/es-ES/viewer.ftl +615 -0
  310. data/public/web/locale/es-MX/viewer.ftl +580 -0
  311. data/public/web/locale/et/viewer.ftl +319 -0
  312. data/public/web/locale/eu/viewer.ftl +619 -0
  313. data/public/web/locale/fa/viewer.ftl +378 -0
  314. data/public/web/locale/ff/viewer.ftl +297 -0
  315. data/public/web/locale/fi/viewer.ftl +615 -0
  316. data/public/web/locale/fr/viewer.ftl +611 -0
  317. data/public/web/locale/fur/viewer.ftl +615 -0
  318. data/public/web/locale/fy-NL/viewer.ftl +615 -0
  319. data/public/web/locale/ga-IE/viewer.ftl +263 -0
  320. data/public/web/locale/gd/viewer.ftl +343 -0
  321. data/public/web/locale/gl/viewer.ftl +615 -0
  322. data/public/web/locale/gn/viewer.ftl +614 -0
  323. data/public/web/locale/gu-IN/viewer.ftl +297 -0
  324. data/public/web/locale/he/viewer.ftl +615 -0
  325. data/public/web/locale/hi-IN/viewer.ftl +297 -0
  326. data/public/web/locale/hr/viewer.ftl +618 -0
  327. data/public/web/locale/hsb/viewer.ftl +621 -0
  328. data/public/web/locale/hu/viewer.ftl +615 -0
  329. data/public/web/locale/hy-AM/viewer.ftl +314 -0
  330. data/public/web/locale/hye/viewer.ftl +318 -0
  331. data/public/web/locale/ia/viewer.ftl +615 -0
  332. data/public/web/locale/id/viewer.ftl +603 -0
  333. data/public/web/locale/is/viewer.ftl +600 -0
  334. data/public/web/locale/it/viewer.ftl +623 -0
  335. data/public/web/locale/ja/viewer.ftl +603 -0
  336. data/public/web/locale/ka/viewer.ftl +615 -0
  337. data/public/web/locale/kab/viewer.ftl +595 -0
  338. data/public/web/locale/kk/viewer.ftl +603 -0
  339. data/public/web/locale/km/viewer.ftl +273 -0
  340. data/public/web/locale/kn/viewer.ftl +263 -0
  341. data/public/web/locale/ko/viewer.ftl +603 -0
  342. data/public/web/locale/lij/viewer.ftl +297 -0
  343. data/public/web/locale/lo/viewer.ftl +343 -0
  344. data/public/web/locale/locale.json +1 -0
  345. data/public/web/locale/lt/viewer.ftl +318 -0
  346. data/public/web/locale/ltg/viewer.ftl +296 -0
  347. data/public/web/locale/lv/viewer.ftl +297 -0
  348. data/public/web/locale/meh/viewer.ftl +137 -0
  349. data/public/web/locale/mk/viewer.ftl +265 -0
  350. data/public/web/locale/ml/viewer.ftl +524 -0
  351. data/public/web/locale/mr/viewer.ftl +289 -0
  352. data/public/web/locale/ms/viewer.ftl +297 -0
  353. data/public/web/locale/my/viewer.ftl +256 -0
  354. data/public/web/locale/nb-NO/viewer.ftl +615 -0
  355. data/public/web/locale/ne-NP/viewer.ftl +284 -0
  356. data/public/web/locale/nl/viewer.ftl +615 -0
  357. data/public/web/locale/nn-NO/viewer.ftl +609 -0
  358. data/public/web/locale/oc/viewer.ftl +436 -0
  359. data/public/web/locale/pa-IN/viewer.ftl +615 -0
  360. data/public/web/locale/pl/viewer.ftl +618 -0
  361. data/public/web/locale/pt-BR/viewer.ftl +615 -0
  362. data/public/web/locale/pt-PT/viewer.ftl +615 -0
  363. data/public/web/locale/rm/viewer.ftl +615 -0
  364. data/public/web/locale/ro/viewer.ftl +302 -0
  365. data/public/web/locale/ru/viewer.ftl +618 -0
  366. data/public/web/locale/sat/viewer.ftl +355 -0
  367. data/public/web/locale/sc/viewer.ftl +394 -0
  368. data/public/web/locale/scn/viewer.ftl +124 -0
  369. data/public/web/locale/sco/viewer.ftl +314 -0
  370. data/public/web/locale/si/viewer.ftl +301 -0
  371. data/public/web/locale/sk/viewer.ftl +621 -0
  372. data/public/web/locale/skr/viewer.ftl +524 -0
  373. data/public/web/locale/sl/viewer.ftl +621 -0
  374. data/public/web/locale/son/viewer.ftl +256 -0
  375. data/public/web/locale/sq/viewer.ftl +606 -0
  376. data/public/web/locale/sr/viewer.ftl +451 -0
  377. data/public/web/locale/sv-SE/viewer.ftl +615 -0
  378. data/public/web/locale/szl/viewer.ftl +307 -0
  379. data/public/web/locale/ta/viewer.ftl +273 -0
  380. data/public/web/locale/te/viewer.ftl +289 -0
  381. data/public/web/locale/tg/viewer.ftl +615 -0
  382. data/public/web/locale/th/viewer.ftl +603 -0
  383. data/public/web/locale/tl/viewer.ftl +307 -0
  384. data/public/web/locale/tr/viewer.ftl +615 -0
  385. data/public/web/locale/trs/viewer.ftl +247 -0
  386. data/public/web/locale/uk/viewer.ftl +618 -0
  387. data/public/web/locale/ur/viewer.ftl +298 -0
  388. data/public/web/locale/uz/viewer.ftl +237 -0
  389. data/public/web/locale/vi/viewer.ftl +603 -0
  390. data/public/web/locale/wo/viewer.ftl +177 -0
  391. data/public/web/locale/xh/viewer.ftl +262 -0
  392. data/public/web/locale/zh-CN/viewer.ftl +603 -0
  393. data/public/web/locale/zh-TW/viewer.ftl +603 -0
  394. data/public/web/standard_fonts/FoxitDingbats.pfb +0 -0
  395. data/public/web/standard_fonts/FoxitFixed.pfb +0 -0
  396. data/public/web/standard_fonts/FoxitFixedBold.pfb +0 -0
  397. data/public/web/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
  398. data/public/web/standard_fonts/FoxitFixedItalic.pfb +0 -0
  399. data/public/web/standard_fonts/FoxitSerif.pfb +0 -0
  400. data/public/web/standard_fonts/FoxitSerifBold.pfb +0 -0
  401. data/public/web/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
  402. data/public/web/standard_fonts/FoxitSerifItalic.pfb +0 -0
  403. data/public/web/standard_fonts/FoxitSymbol.pfb +0 -0
  404. data/public/web/standard_fonts/LICENSE_FOXIT +27 -0
  405. data/public/web/standard_fonts/LICENSE_LIBERATION +102 -0
  406. data/public/web/standard_fonts/LiberationSans-Bold.ttf +0 -0
  407. data/public/web/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
  408. data/public/web/standard_fonts/LiberationSans-Italic.ttf +0 -0
  409. data/public/web/standard_fonts/LiberationSans-Regular.ttf +0 -0
  410. data/public/web/viewer.css +6766 -0
  411. data/public/web/viewer.html +768 -0
  412. data/public/web/viewer.mjs +17445 -0
  413. data/public/web/viewer.mjs.map +1 -0
  414. data/public/web/wasm/LICENSE_OPENJPEG +39 -0
  415. data/public/web/wasm/LICENSE_PDFJS_OPENJPEG +22 -0
  416. data/public/web/wasm/LICENSE_PDFJS_QCMS +22 -0
  417. data/public/web/wasm/LICENSE_QCMS +21 -0
  418. data/public/web/wasm/openjpeg.wasm +0 -0
  419. data/public/web/wasm/openjpeg_nowasm_fallback.js +29 -0
  420. data/public/web/wasm/qcms_bg.wasm +0 -0
  421. metadata +526 -0
@@ -0,0 +1,603 @@
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 = Trang trước
10
+ pdfjs-previous-button-label = Trước
11
+ pdfjs-next-button =
12
+ .title = Trang Sau
13
+ pdfjs-next-button-label = Tiếp
14
+ # .title: Tooltip for the pageNumber input.
15
+ pdfjs-page-input =
16
+ .title = Trang
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 = trên { $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 } trên { $pagesCount })
25
+ pdfjs-zoom-out-button =
26
+ .title = Thu nhỏ
27
+ pdfjs-zoom-out-button-label = Thu nhỏ
28
+ pdfjs-zoom-in-button =
29
+ .title = Phóng to
30
+ pdfjs-zoom-in-button-label = Phóng to
31
+ pdfjs-zoom-select =
32
+ .title = Thu phóng
33
+ pdfjs-presentation-mode-button =
34
+ .title = Chuyển sang chế độ trình chiếu
35
+ pdfjs-presentation-mode-button-label = Chế độ trình chiếu
36
+ pdfjs-open-file-button =
37
+ .title = Mở tập tin
38
+ pdfjs-open-file-button-label = Mở tập tin
39
+ pdfjs-print-button =
40
+ .title = In
41
+ pdfjs-print-button-label = In
42
+ pdfjs-save-button =
43
+ .title = Lưu
44
+ pdfjs-save-button-label = Lưu
45
+ # Used in Firefox for Android as a tooltip for the download button (“download” is a verb).
46
+ pdfjs-download-button =
47
+ .title = Tải xuống
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 = Tải xuống
51
+ pdfjs-bookmark-button =
52
+ .title = Trang hiện tại (xem URL từ trang hiện tại)
53
+ pdfjs-bookmark-button-label = Trang hiện tại
54
+
55
+ ## Secondary toolbar and context menu
56
+
57
+ pdfjs-tools-button =
58
+ .title = Công cụ
59
+ pdfjs-tools-button-label = Công cụ
60
+ pdfjs-first-page-button =
61
+ .title = Về trang đầu
62
+ pdfjs-first-page-button-label = Về trang đầu
63
+ pdfjs-last-page-button =
64
+ .title = Đến trang cuối
65
+ pdfjs-last-page-button-label = Đến trang cuối
66
+ pdfjs-page-rotate-cw-button =
67
+ .title = Xoay theo chiều kim đồng hồ
68
+ pdfjs-page-rotate-cw-button-label = Xoay theo chiều kim đồng hồ
69
+ pdfjs-page-rotate-ccw-button =
70
+ .title = Xoay ngược chiều kim đồng hồ
71
+ pdfjs-page-rotate-ccw-button-label = Xoay ngược chiều kim đồng hồ
72
+ pdfjs-cursor-text-select-tool-button =
73
+ .title = Kích hoạt công cụ chọn vùng văn bản
74
+ pdfjs-cursor-text-select-tool-button-label = Công cụ chọn vùng văn bản
75
+ pdfjs-cursor-hand-tool-button =
76
+ .title = Kích hoạt công cụ con trỏ
77
+ pdfjs-cursor-hand-tool-button-label = Công cụ con trỏ
78
+ pdfjs-scroll-page-button =
79
+ .title = Sử dụng cuộn trang hiện tại
80
+ pdfjs-scroll-page-button-label = Cuộn trang hiện tại
81
+ pdfjs-scroll-vertical-button =
82
+ .title = Sử dụng cuộn dọc
83
+ pdfjs-scroll-vertical-button-label = Cuộn dọc
84
+ pdfjs-scroll-horizontal-button =
85
+ .title = Sử dụng cuộn ngang
86
+ pdfjs-scroll-horizontal-button-label = Cuộn ngang
87
+ pdfjs-scroll-wrapped-button =
88
+ .title = Sử dụng cuộn ngắt dòng
89
+ pdfjs-scroll-wrapped-button-label = Cuộn ngắt dòng
90
+ pdfjs-spread-none-button =
91
+ .title = Không nối rộng trang
92
+ pdfjs-spread-none-button-label = Không có phân cách
93
+ pdfjs-spread-odd-button =
94
+ .title = Nối trang bài bắt đầu với các trang được đánh số lẻ
95
+ pdfjs-spread-odd-button-label = Phân cách theo số lẻ
96
+ pdfjs-spread-even-button =
97
+ .title = Nối trang bài bắt đầu với các trang được đánh số chẵn
98
+ pdfjs-spread-even-button-label = Phân cách theo số chẵn
99
+
100
+ ## Document properties dialog
101
+
102
+ pdfjs-document-properties-button =
103
+ .title = Thuộc tính của tài liệu…
104
+ pdfjs-document-properties-button-label = Thuộc tính của tài liệu…
105
+ pdfjs-document-properties-file-name = Tên tập tin:
106
+ pdfjs-document-properties-file-size = Kích thước:
107
+ # Variables:
108
+ # $kb (Number) - the PDF file size in kilobytes
109
+ # $b (Number) - the PDF file size in bytes
110
+ pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) } KB ({ $b } bytes)
111
+ # Variables:
112
+ # $mb (Number) - the PDF file size in megabytes
113
+ # $b (Number) - the PDF file size in bytes
114
+ pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)
115
+ # Variables:
116
+ # $size_kb (Number) - the PDF file size in kilobytes
117
+ # $size_b (Number) - the PDF file size in bytes
118
+ pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } byte)
119
+ # Variables:
120
+ # $size_mb (Number) - the PDF file size in megabytes
121
+ # $size_b (Number) - the PDF file size in bytes
122
+ pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } byte)
123
+ pdfjs-document-properties-title = Tiêu đề:
124
+ pdfjs-document-properties-author = Tác giả:
125
+ pdfjs-document-properties-subject = Chủ đề:
126
+ pdfjs-document-properties-keywords = Từ khóa:
127
+ pdfjs-document-properties-creation-date = Ngày tạo:
128
+ pdfjs-document-properties-modification-date = Ngày sửa đổi:
129
+ # Variables:
130
+ # $dateObj (Date) - the creation/modification date and time of the PDF file
131
+ pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
132
+ # Variables:
133
+ # $date (Date) - the creation/modification date of the PDF file
134
+ # $time (Time) - the creation/modification time of the PDF file
135
+ pdfjs-document-properties-date-string = { $date }, { $time }
136
+ pdfjs-document-properties-creator = Người tạo:
137
+ pdfjs-document-properties-producer = Phần mềm tạo PDF:
138
+ pdfjs-document-properties-version = Phiên bản PDF:
139
+ pdfjs-document-properties-page-count = Tổng số trang:
140
+ pdfjs-document-properties-page-size = Kích thước trang:
141
+ pdfjs-document-properties-page-size-unit-inches = in
142
+ pdfjs-document-properties-page-size-unit-millimeters = mm
143
+ pdfjs-document-properties-page-size-orientation-portrait = khổ dọc
144
+ pdfjs-document-properties-page-size-orientation-landscape = khổ ngang
145
+ pdfjs-document-properties-page-size-name-a-three = A3
146
+ pdfjs-document-properties-page-size-name-a-four = A4
147
+ pdfjs-document-properties-page-size-name-letter = Thư
148
+ pdfjs-document-properties-page-size-name-legal = Pháp lý
149
+
150
+ ## Variables:
151
+ ## $width (Number) - the width of the (current) page
152
+ ## $height (Number) - the height of the (current) page
153
+ ## $unit (String) - the unit of measurement of the (current) page
154
+ ## $name (String) - the name of the (current) page
155
+ ## $orientation (String) - the orientation of the (current) page
156
+
157
+ pdfjs-document-properties-page-size-dimension-string = { $width } × { $height } { $unit } ({ $orientation })
158
+ pdfjs-document-properties-page-size-dimension-name-string = { $width } × { $height } { $unit } ({ $name }, { $orientation })
159
+
160
+ ##
161
+
162
+ # The linearization status of the document; usually called "Fast Web View" in
163
+ # English locales of Adobe software.
164
+ pdfjs-document-properties-linearized = Xem nhanh trên web:
165
+ pdfjs-document-properties-linearized-yes = Có
166
+ pdfjs-document-properties-linearized-no = Không
167
+ pdfjs-document-properties-close-button = Ðóng
168
+
169
+ ## Print
170
+
171
+ pdfjs-print-progress-message = Chuẩn bị trang để in…
172
+ # Variables:
173
+ # $progress (Number) - percent value
174
+ pdfjs-print-progress-percent = { $progress }%
175
+ pdfjs-print-progress-close-button = Hủy bỏ
176
+ pdfjs-printing-not-supported = Cảnh báo: In ấn không được hỗ trợ đầy đủ ở trình duyệt này.
177
+ pdfjs-printing-not-ready = Cảnh báo: PDF chưa được tải hết để in.
178
+
179
+ ## Tooltips and alt text for side panel toolbar buttons
180
+
181
+ pdfjs-toggle-sidebar-button =
182
+ .title = Bật/Tắt thanh lề
183
+ pdfjs-toggle-sidebar-notification-button =
184
+ .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)
185
+ pdfjs-toggle-sidebar-button-label = Bật/Tắt thanh lề
186
+ pdfjs-document-outline-button =
187
+ .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)
188
+ pdfjs-document-outline-button-label = Bản phác tài liệu
189
+ pdfjs-attachments-button =
190
+ .title = Hiện nội dung đính kèm
191
+ pdfjs-attachments-button-label = Nội dung đính kèm
192
+ pdfjs-layers-button =
193
+ .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)
194
+ pdfjs-layers-button-label = Lớp
195
+ pdfjs-thumbs-button =
196
+ .title = Hiển thị ảnh thu nhỏ
197
+ pdfjs-thumbs-button-label = Ảnh thu nhỏ
198
+ pdfjs-current-outline-item-button =
199
+ .title = Tìm mục phác thảo hiện tại
200
+ pdfjs-current-outline-item-button-label = Mục phác thảo hiện tại
201
+ pdfjs-findbar-button =
202
+ .title = Tìm trong tài liệu
203
+ pdfjs-findbar-button-label = Tìm
204
+ pdfjs-additional-layers = Các lớp bổ sung
205
+
206
+ ## Thumbnails panel item (tooltip and alt text for images)
207
+
208
+ # Variables:
209
+ # $page (Number) - the page number
210
+ pdfjs-thumb-page-title =
211
+ .title = Trang { $page }
212
+ # Variables:
213
+ # $page (Number) - the page number
214
+ pdfjs-thumb-page-canvas =
215
+ .aria-label = Ảnh thu nhỏ của trang { $page }
216
+
217
+ ## Find panel button title and messages
218
+
219
+ pdfjs-find-input =
220
+ .title = Tìm
221
+ .placeholder = Tìm trong tài liệu…
222
+ pdfjs-find-previous-button =
223
+ .title = Tìm cụm từ ở phần trước
224
+ pdfjs-find-previous-button-label = Trước
225
+ pdfjs-find-next-button =
226
+ .title = Tìm cụm từ ở phần sau
227
+ pdfjs-find-next-button-label = Tiếp
228
+ pdfjs-find-highlight-checkbox = Đánh dấu tất cả
229
+ pdfjs-find-match-case-checkbox-label = Phân biệt hoa, thường
230
+ pdfjs-find-match-diacritics-checkbox-label = Khớp dấu phụ
231
+ pdfjs-find-entire-word-checkbox-label = Toàn bộ từ
232
+ pdfjs-find-reached-top = Đã đến phần đầu tài liệu, quay trở lại từ cuối
233
+ pdfjs-find-reached-bottom = Đã đến phần cuối của tài liệu, quay trở lại từ đầu
234
+ # Variables:
235
+ # $current (Number) - the index of the currently active find result
236
+ # $total (Number) - the total number of matches in the document
237
+ pdfjs-find-match-count = { $current } trên { $total } kết quả
238
+ # Variables:
239
+ # $limit (Number) - the maximum number of matches
240
+ pdfjs-find-match-count-limit = Tìm thấy hơn { $limit } kết quả
241
+ pdfjs-find-not-found = Không tìm thấy cụm từ này
242
+
243
+ ## Predefined zoom values
244
+
245
+ pdfjs-page-scale-width = Vừa chiều rộng
246
+ pdfjs-page-scale-fit = Vừa chiều cao
247
+ pdfjs-page-scale-auto = Tự động chọn kích thước
248
+ pdfjs-page-scale-actual = Kích thước thực
249
+ # Variables:
250
+ # $scale (Number) - percent value for page scale
251
+ pdfjs-page-scale-percent = { $scale }%
252
+
253
+ ## PDF page
254
+
255
+ # Variables:
256
+ # $page (Number) - the page number
257
+ pdfjs-page-landmark =
258
+ .aria-label = Trang { $page }
259
+
260
+ ## Loading indicator messages
261
+
262
+ pdfjs-loading-error = Lỗi khi tải tài liệu PDF.
263
+ pdfjs-invalid-file-error = Tập tin PDF hỏng hoặc không hợp lệ.
264
+ pdfjs-missing-file-error = Thiếu tập tin PDF.
265
+ pdfjs-unexpected-response-error = Máy chủ có phản hồi lạ.
266
+ pdfjs-rendering-error = Lỗi khi hiển thị trang.
267
+
268
+ ## Annotations
269
+
270
+ # Variables:
271
+ # $date (Date) - the modification date of the annotation
272
+ # $time (Time) - the modification time of the annotation
273
+ pdfjs-annotation-date-string = { $date }, { $time }
274
+ # .alt: This is used as a tooltip.
275
+ # Variables:
276
+ # $type (String) - an annotation type from a list defined in the PDF spec
277
+ # (32000-1:2008 Table 169 – Annotation types).
278
+ # Some common types are e.g.: "Check", "Text", "Comment", "Note"
279
+ pdfjs-text-annotation-type =
280
+ .alt = [{ $type } Chú thích]
281
+ # Variables:
282
+ # $dateObj (Date) - the modification date and time of the annotation
283
+ pdfjs-annotation-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
284
+
285
+ ## Password
286
+
287
+ pdfjs-password-label = Nhập mật khẩu để mở tập tin PDF này.
288
+ pdfjs-password-invalid = Mật khẩu không đúng. Vui lòng thử lại.
289
+ pdfjs-password-ok-button = OK
290
+ pdfjs-password-cancel-button = Hủy bỏ
291
+ pdfjs-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.
292
+
293
+ ## Editing
294
+
295
+ pdfjs-editor-free-text-button =
296
+ .title = Văn bản
297
+ pdfjs-editor-free-text-button-label = Văn bản
298
+ pdfjs-editor-ink-button =
299
+ .title = Vẽ
300
+ pdfjs-editor-ink-button-label = Vẽ
301
+ pdfjs-editor-stamp-button =
302
+ .title = Thêm hoặc chỉnh sửa hình ảnh
303
+ pdfjs-editor-stamp-button-label = Thêm hoặc chỉnh sửa hình ảnh
304
+ pdfjs-editor-highlight-button =
305
+ .title = Đánh dấu
306
+ pdfjs-editor-highlight-button-label = Đánh dấu
307
+ pdfjs-highlight-floating-button1 =
308
+ .title = Đánh dấu
309
+ .aria-label = Đánh dấu
310
+ pdfjs-highlight-floating-button-label = Đánh dấu
311
+ pdfjs-editor-signature-button =
312
+ .title = Thêm chữ ký
313
+ pdfjs-editor-signature-button-label = Thêm chữ ký
314
+
315
+ ## Default editor aria labels
316
+
317
+ # “Highlight” is a noun, the string is used on the editor for highlights.
318
+ pdfjs-editor-highlight-editor =
319
+ .aria-label = Trình chỉnh sửa đánh dấu
320
+ # “Drawing” is a noun, the string is used on the editor for drawings.
321
+ pdfjs-editor-ink-editor =
322
+ .aria-label = Trình chỉnh sửa bản vẽ
323
+ # Used when a signature editor is selected/hovered.
324
+ # Variables:
325
+ # $description (String) - a string describing/labeling the signature.
326
+ pdfjs-editor-signature-editor1 =
327
+ .aria-description = Trình chỉnh sửa chữ ký: { $description }
328
+ pdfjs-editor-stamp-editor =
329
+ .aria-label = Trình chỉnh sửa hình ảnh
330
+
331
+ ## Remove button for the various kind of editor.
332
+
333
+ pdfjs-editor-remove-ink-button =
334
+ .title = Xóa bản vẽ
335
+ pdfjs-editor-remove-freetext-button =
336
+ .title = Xóa văn bản
337
+ pdfjs-editor-remove-stamp-button =
338
+ .title = Xóa ảnh
339
+ pdfjs-editor-remove-highlight-button =
340
+ .title = Xóa phần đánh dấu
341
+ pdfjs-editor-remove-signature-button =
342
+ .title = Xoá chữ ký
343
+
344
+ ##
345
+
346
+ # Editor Parameters
347
+ pdfjs-editor-free-text-color-input = Màu
348
+ pdfjs-editor-free-text-size-input = Kích cỡ
349
+ pdfjs-editor-ink-color-input = Màu
350
+ pdfjs-editor-ink-thickness-input = Độ dày
351
+ pdfjs-editor-ink-opacity-input = Độ mờ
352
+ pdfjs-editor-stamp-add-image-button =
353
+ .title = Thêm hình ảnh
354
+ pdfjs-editor-stamp-add-image-button-label = Thêm hình ảnh
355
+ # This refers to the thickness of the line used for free highlighting (not bound to text)
356
+ pdfjs-editor-free-highlight-thickness-input = Độ dày
357
+ pdfjs-editor-free-highlight-thickness-title =
358
+ .title = Thay đổi độ dày khi đánh dấu các mục không phải là văn bản
359
+ pdfjs-editor-add-signature-container =
360
+ .aria-label = Kiểm soát chữ ký và chữ ký đã lưu
361
+ pdfjs-editor-signature-add-signature-button =
362
+ .title = Thêm chữ ký mới
363
+ pdfjs-editor-signature-add-signature-button-label = Thêm chữ ký mới
364
+ # Used on the button to use an already saved signature.
365
+ # Variables:
366
+ # $description (String) - a string describing/labeling the signature.
367
+ pdfjs-editor-add-saved-signature-button =
368
+ .title = Đã lưu chữ ký: { $description }
369
+ # .default-content is used as a placeholder in an empty text editor.
370
+ pdfjs-free-text2 =
371
+ .aria-label = Trình chỉnh sửa văn bản
372
+ .default-content = Bắt đầu nhập…
373
+ pdfjs-free-text =
374
+ .aria-label = Trình sửa văn bản
375
+ pdfjs-free-text-default-content = Bắt đầu nhập…
376
+ pdfjs-ink =
377
+ .aria-label = Trình sửa nét vẽ
378
+ pdfjs-ink-canvas =
379
+ .aria-label = Hình ảnh do người dùng tạo
380
+
381
+ ## Alt-text dialog
382
+
383
+ pdfjs-editor-alt-text-button-label = Văn bản thay thế
384
+ pdfjs-editor-alt-text-edit-button =
385
+ .aria-label = Chỉnh sửa văn bản thay thế
386
+ pdfjs-editor-alt-text-edit-button-label = Chỉnh sửa văn bản thay thế
387
+ pdfjs-editor-alt-text-dialog-label = Chọn một lựa chọn
388
+ pdfjs-editor-alt-text-dialog-description = Văn bản thay thế sẽ hữu ích khi mọi người không thể thấy hình ảnh hoặc khi hình ảnh không tải.
389
+ pdfjs-editor-alt-text-add-description-label = Thêm một mô tả
390
+ pdfjs-editor-alt-text-add-description-description = Hãy nhắm tới 1-2 câu mô tả chủ đề, bối cảnh hoặc hành động.
391
+ pdfjs-editor-alt-text-mark-decorative-label = Đánh dấu là trang trí
392
+ pdfjs-editor-alt-text-mark-decorative-description = Điều này được sử dụng cho các hình ảnh trang trí, như đường viền hoặc watermark.
393
+ pdfjs-editor-alt-text-cancel-button = Hủy bỏ
394
+ pdfjs-editor-alt-text-save-button = Lưu
395
+ pdfjs-editor-alt-text-decorative-tooltip = Đã đánh dấu là trang trí
396
+ # .placeholder: This is a placeholder for the alt text input area
397
+ pdfjs-editor-alt-text-textarea =
398
+ .placeholder = Ví dụ: “Một thanh niên ngồi xuống bàn để thưởng thức một bữa ăn”
399
+ # Alternative text (alt text) helps when people can't see the image.
400
+ pdfjs-editor-alt-text-button =
401
+ .aria-label = Văn bản thay thế
402
+
403
+ ## Editor resizers
404
+ ## This is used in an aria label to help to understand the role of the resizer.
405
+
406
+ pdfjs-editor-resizer-label-top-left = Trên cùng bên trái — thay đổi kích thước
407
+ pdfjs-editor-resizer-label-top-middle = Trên cùng ở giữa — thay đổi kích thước
408
+ pdfjs-editor-resizer-label-top-right = Trên cùng bên phải — thay đổi kích thước
409
+ pdfjs-editor-resizer-label-middle-right = Ở giữa bên phải — thay đổi kích thước
410
+ pdfjs-editor-resizer-label-bottom-right = Dưới cùng bên phải — thay đổi kích thước
411
+ pdfjs-editor-resizer-label-bottom-middle = Ở giữa dưới cùng — thay đổi kích thước
412
+ pdfjs-editor-resizer-label-bottom-left = Góc dưới bên trái — thay đổi kích thước
413
+ pdfjs-editor-resizer-label-middle-left = Ở giữa bên trái — thay đổi kích thước
414
+ pdfjs-editor-resizer-top-left =
415
+ .aria-label = Trên cùng bên trái — thay đổi kích thước
416
+ pdfjs-editor-resizer-top-middle =
417
+ .aria-label = Trên cùng ở giữa — thay đổi kích thước
418
+ pdfjs-editor-resizer-top-right =
419
+ .aria-label = Trên cùng bên phải — thay đổi kích thước
420
+ pdfjs-editor-resizer-middle-right =
421
+ .aria-label = Ở giữa bên phải — thay đổi kích thước
422
+ pdfjs-editor-resizer-bottom-right =
423
+ .aria-label = Dưới cùng bên phải — thay đổi kích thước
424
+ pdfjs-editor-resizer-bottom-middle =
425
+ .aria-label = Ở giữa dưới cùng — thay đổi kích thước
426
+ pdfjs-editor-resizer-bottom-left =
427
+ .aria-label = Góc dưới bên trái — thay đổi kích thước
428
+ pdfjs-editor-resizer-middle-left =
429
+ .aria-label = Ở giữa bên trái — thay đổi kích thước
430
+
431
+ ## Color picker
432
+
433
+ # This means "Color used to highlight text"
434
+ pdfjs-editor-highlight-colorpicker-label = Màu đánh dấu
435
+ pdfjs-editor-colorpicker-button =
436
+ .title = Thay đổi màu
437
+ pdfjs-editor-colorpicker-dropdown =
438
+ .aria-label = Lựa chọn màu sắc
439
+ pdfjs-editor-colorpicker-yellow =
440
+ .title = Vàng
441
+ pdfjs-editor-colorpicker-green =
442
+ .title = Xanh lục
443
+ pdfjs-editor-colorpicker-blue =
444
+ .title = Xanh dương
445
+ pdfjs-editor-colorpicker-pink =
446
+ .title = Hồng
447
+ pdfjs-editor-colorpicker-red =
448
+ .title = Đỏ
449
+
450
+ ## Show all highlights
451
+ ## This is a toggle button to show/hide all the highlights.
452
+
453
+ pdfjs-editor-highlight-show-all-button-label = Hiện tất cả
454
+ pdfjs-editor-highlight-show-all-button =
455
+ .title = Hiện tất cả
456
+
457
+ ## New alt-text dialog
458
+ ## 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.
459
+
460
+ # Modal header positioned above a text box where users can edit the alt text.
461
+ pdfjs-editor-new-alt-text-dialog-edit-label = Chỉnh sửa văn bản thay thế (mô tả hình ảnh)
462
+ # Modal header positioned above a text box where users can add the alt text.
463
+ pdfjs-editor-new-alt-text-dialog-add-label = Thêm văn bản thay thế (mô tả hình ảnh)
464
+ pdfjs-editor-new-alt-text-textarea =
465
+ .placeholder = Viết mô tả của bạn ở đây…
466
+ # This text refers to the alt text box above this description. It offers a definition of alt text.
467
+ pdfjs-editor-new-alt-text-description = Mô tả ngắn gọn dành cho người không xem được ảnh hoặc khi không thể tải ảnh.
468
+ # 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.
469
+ pdfjs-editor-new-alt-text-disclaimer1 = Văn bản thay thế này được tạo tự động và có thể không chính xác.
470
+ pdfjs-editor-new-alt-text-disclaimer-learn-more-url = Tìm hiểu thêm
471
+ pdfjs-editor-new-alt-text-create-automatically-button-label = Tạo văn bản thay thế tự động
472
+ pdfjs-editor-new-alt-text-not-now-button = Không phải bây giờ
473
+ pdfjs-editor-new-alt-text-error-title = Không thể tạo tự động văn bản thay thế
474
+ pdfjs-editor-new-alt-text-error-description = Vui lòng viết văn bản thay thế của riêng bạn hoặc thử lại sau.
475
+ pdfjs-editor-new-alt-text-error-close-button = Đóng
476
+ # Variables:
477
+ # $totalSize (Number) - the total size (in MB) of the AI model.
478
+ # $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
479
+ pdfjs-editor-new-alt-text-ai-model-downloading-progress = Đang tải xuống mô hình AI văn bản thay thế ({ $downloadedSize } / { $totalSize } MB)
480
+ .aria-valuetext = Đang tải xuống mô hình AI văn bản thay thế ({ $downloadedSize } / { $totalSize } MB)
481
+ # This is a button that users can click to edit the alt text they have already added.
482
+ pdfjs-editor-new-alt-text-added-button =
483
+ .aria-label = Đã thêm văn bản thay thế
484
+ pdfjs-editor-new-alt-text-added-button-label = Đã thêm văn bản thay thế
485
+ # This is a button that users can click to open the alt text editor and add alt text when it is not present.
486
+ pdfjs-editor-new-alt-text-missing-button =
487
+ .aria-label = Thiếu văn bản thay thế
488
+ pdfjs-editor-new-alt-text-missing-button-label = Thiếu văn bản thay thế
489
+ # This is a button that opens up the alt text modal where users should review the alt text that was automatically generated.
490
+ pdfjs-editor-new-alt-text-to-review-button =
491
+ .aria-label = Xem lại văn bản thay thế
492
+ pdfjs-editor-new-alt-text-to-review-button-label = Xem lại văn bản thay thế
493
+ # "Created automatically" is a prefix that will be added to the beginning of any alt text that has been automatically generated. After the colon, the user will see/hear the actual alt text description. If the alt text has been edited by a human, this prefix will not appear.
494
+ # Variables:
495
+ # $generatedAltText (String) - the generated alt-text.
496
+ pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer = Được tạo tự động: { $generatedAltText }
497
+
498
+ ## Image alt-text settings
499
+
500
+ pdfjs-image-alt-text-settings-button =
501
+ .title = Cài đặt văn bản thay thế của hình ảnh
502
+ pdfjs-image-alt-text-settings-button-label = Cài đặt văn bản thay thế của hình ảnh
503
+ pdfjs-editor-alt-text-settings-dialog-label = Cài đặt văn bản thay thế của hình ảnh
504
+ pdfjs-editor-alt-text-settings-automatic-title = Văn bản thay thế tự động
505
+ pdfjs-editor-alt-text-settings-create-model-button-label = Tạo văn bản thay thế tự động
506
+ pdfjs-editor-alt-text-settings-create-model-description = Đề xuất mô tả giúp ích cho những người không xem được ảnh hoặc khi không thể tải ảnh.
507
+ # Variables:
508
+ # $totalSize (Number) - the total size (in MB) of the AI model.
509
+ pdfjs-editor-alt-text-settings-download-model-label = Mô hình AI văn bản khác ({ $totalSize } MB)
510
+ pdfjs-editor-alt-text-settings-ai-model-description = Chạy cục bộ trên thiết bị của bạn để dữ liệu của bạn luôn ở chế độ riêng tư. Bắt buộc đối với văn bản thay thế tự động.
511
+ pdfjs-editor-alt-text-settings-delete-model-button = Xóa
512
+ pdfjs-editor-alt-text-settings-download-model-button = Tải xuống
513
+ pdfjs-editor-alt-text-settings-downloading-model-button = Đang tải xuống…
514
+ pdfjs-editor-alt-text-settings-editor-title = Trình soạn thảo văn bản thay thế
515
+ pdfjs-editor-alt-text-settings-show-dialog-button-label = Hiển thị ngay trình soạn thảo văn bản thay thế khi thêm hình ảnh
516
+ pdfjs-editor-alt-text-settings-show-dialog-description = Giúp bạn đảm bảo tất cả hình ảnh của bạn đều có văn bản thay thế.
517
+ pdfjs-editor-alt-text-settings-close-button = Đóng
518
+
519
+ ## "Annotations removed" bar
520
+
521
+ pdfjs-editor-undo-bar-message-highlight = Đã xóa đánh dấu
522
+ pdfjs-editor-undo-bar-message-freetext = Đã xóa văn bản
523
+ pdfjs-editor-undo-bar-message-ink = Đã xóa bản vẽ
524
+ pdfjs-editor-undo-bar-message-stamp = Đã xóa hình ảnh
525
+ pdfjs-editor-undo-bar-message-signature = Chữ ký đã bị xoá
526
+ # Variables:
527
+ # $count (Number) - the number of removed annotations.
528
+ pdfjs-editor-undo-bar-message-multiple = { $count } chú thích đã bị xóa
529
+ pdfjs-editor-undo-bar-undo-button =
530
+ .title = Hoàn tác
531
+ pdfjs-editor-undo-bar-undo-button-label = Hoàn tác
532
+ pdfjs-editor-undo-bar-close-button =
533
+ .title = Đóng
534
+ pdfjs-editor-undo-bar-close-button-label = Đóng
535
+
536
+ ## Add a signature dialog
537
+
538
+ pdfjs-editor-add-signature-dialog-label = Phương thức này cho phép người dùng tạo một chữ ký để thêm vào tài liệu PDF. Người dùng có thể chỉnh sửa tên (cũng đóng vai trò là văn bản thay thế) và tùy chọn lưu chữ ký để sử dụng nhiều lần.
539
+ pdfjs-editor-add-signature-dialog-title = Thêm chữ ký
540
+
541
+ ## Tab names
542
+
543
+ # Type is a verb (you can type your name as signature)
544
+ pdfjs-editor-add-signature-type-button = Đánh văn bản
545
+ .title = Đánh văn bản
546
+ # Draw is a verb (you can draw your signature)
547
+ pdfjs-editor-add-signature-draw-button = Vẽ
548
+ .title = Vẽ
549
+ pdfjs-editor-add-signature-image-button = Hình ảnh
550
+ .title = Hình ảnh
551
+
552
+ ## Tab panels
553
+
554
+ pdfjs-editor-add-signature-type-input =
555
+ .aria-label = Nhập chữ ký của bạn
556
+ .placeholder = Nhập chữ ký của bạn
557
+ pdfjs-editor-add-signature-draw-placeholder = Vẽ chữ ký của bạn
558
+ pdfjs-editor-add-signature-draw-thickness-range-label = Độ dày
559
+ # Variables:
560
+ # $thickness (Number) - the thickness (in pixels) of the line used to draw a signature.
561
+ pdfjs-editor-add-signature-draw-thickness-range =
562
+ .title = Độ dày bút vẽ: { $thickness }
563
+ pdfjs-editor-add-signature-image-placeholder = Kéo một tập tin tại đây để tải lên
564
+ pdfjs-editor-add-signature-image-browse-link =
565
+ { PLATFORM() ->
566
+ [macos] Hoặc chọn hình ảnh
567
+ *[other] Hoặc chọn hình ảnh
568
+ }
569
+
570
+ ## Controls
571
+
572
+ pdfjs-editor-add-signature-description-label = Mô tả (văn bản thay thế)
573
+ pdfjs-editor-add-signature-description-input =
574
+ .title = Mô tả (văn bản thay thế)
575
+ pdfjs-editor-add-signature-description-default-when-drawing = Chữ ký
576
+ pdfjs-editor-add-signature-clear-button-label = Xoá chữ ký
577
+ pdfjs-editor-add-signature-clear-button =
578
+ .title = Xoá chữ ký
579
+ pdfjs-editor-add-signature-save-checkbox = Lưu chữ ký
580
+ pdfjs-editor-add-signature-save-warning-message = Bạn đã đạt đến giới hạn 5 chữ ký đã lưu. Hãy xóa một cái để lưu thêm.
581
+ pdfjs-editor-add-signature-image-upload-error-title = Không thể tải lên hình ảnh
582
+ pdfjs-editor-add-signature-image-upload-error-description = Kiểm tra kết nối mạng của bạn hoặc thử hình ảnh khác.
583
+ pdfjs-editor-add-signature-error-close-button = Đóng
584
+
585
+ ## Dialog buttons
586
+
587
+ pdfjs-editor-add-signature-cancel-button = Hủy bỏ
588
+ pdfjs-editor-add-signature-add-button = Thêm
589
+ pdfjs-editor-edit-signature-update-button = Cập nhật
590
+
591
+ ## Main menu for adding/removing signatures
592
+
593
+ pdfjs-editor-delete-signature-button1 =
594
+ .title = Xoá chữ ký đã lưu
595
+ pdfjs-editor-delete-signature-button-label1 = Xoá chữ ký đã lưu
596
+
597
+ ## Editor toolbar
598
+
599
+ pdfjs-editor-add-signature-edit-button-label = Chỉnh sửa mô tả
600
+
601
+ ## Edit signature description dialog
602
+
603
+ pdfjs-editor-edit-signature-dialog-title = Chỉnh sửa mô tả