diff --git a/app/assets/javascripts/publications/locale/ach/viewer.properties b/app/assets/javascripts/publications/locale/ach/viewer.properties new file mode 100644 index 0000000..3a74d76 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ach/viewer.properties @@ -0,0 +1,199 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Pot buk mukato +previous_label=Mukato +next.title=Pot buk malubo +next_label=Malubo + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pot buk +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=pi {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} me {{pagesCount}}) + +zoom_out.title=Jwik Matidi +zoom_out_label=Jwik Matidi +zoom_in.title=Kwot Madit +zoom_in_label=Kwot Madit +zoom.title=Kwoti +presentation_mode.title=Lokke i kit me tyer +presentation_mode_label=Kit me tyer +open_file.title=Yab Pwail +open_file_label=Yab +print.title=Go +print_label=Go +download.title=Gam +download_label=Gam +bookmark.title=Neno ma kombedi (lok onyo yab i dirica manyen) +bookmark_label=Neno ma kombedi + +# Secondary toolbar and context menu +tools.title=Gintic +tools_label=Gintic +first_page.title=Cit i pot buk mukwongo +first_page_label=Cit i pot buk mukwongo +last_page.title=Cit i pot buk magiko +last_page_label=Cit i pot buk magiko +page_rotate_cw.title=Wire i tung lacuc +page_rotate_cw_label=Wire i tung lacuc +page_rotate_ccw.title=Wire i tung lacam +page_rotate_ccw_label=Wire i tung lacam + +cursor_text_select_tool.title=Cak gitic me yero coc +cursor_text_select_tool_label=Gitic me yero coc +cursor_hand_tool.title=Cak gitic me cing +cursor_hand_tool_label=Gitic cing + + + +# Document properties dialog box +document_properties.title=Jami me gin acoya… +document_properties_label=Jami me gin acoya… +document_properties_file_name=Nying pwail: +document_properties_file_size=Dit pa pwail: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Wiye: +document_properties_author=Ngat mucoyo: +document_properties_subject=Subjek: +document_properties_keywords=Lok mapire tek: +document_properties_creation_date=Nino dwe me cwec: +document_properties_modification_date=Nino dwe me yub: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Lacwec: +document_properties_producer=Layub PDF: +document_properties_version=Kit PDF: +document_properties_page_count=Kwan me pot buk: +document_properties_page_size=Dit pa potbuk: +document_properties_page_size_unit_inches=i +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=atir +document_properties_page_size_orientation_landscape=arii +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Waraga +document_properties_page_size_name_legal=Cik +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized_yes=Eyo +document_properties_linearized_no=Pe +document_properties_close=Lor + +print_progress_message=Yubo coc me agoya… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Juki + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Lok gintic ma inget +toggle_sidebar_label=Lok gintic ma inget +document_outline.title=Nyut Wiyewiye me Gin acoya (dii-kiryo me yaro/kano jami weng) +document_outline_label=Pek pa gin acoya +attachments.title=Nyut twec +attachments_label=Twec +thumbs.title=Nyut cal +thumbs_label=Cal +findbar.title=Nong iye gin acoya +findbar_label=Nong + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Pot buk {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Cal me pot buk {{page}} + +# Find panel button title and messages +find_input.title=Nong +find_input.placeholder=Nong i dokumen… +find_previous.title=Nong timme pa lok mukato +find_previous_label=Mukato +find_next.title=Nong timme pa lok malubo +find_next_label=Malubo +find_highlight=Wer weng +find_match_case_label=Lok marwate +find_reached_top=Oo iwi gin acoya, omede ki i tere +find_reached_bottom=Oo i agiki me gin acoya, omede ki iwiye +find_not_found=Lok pe ononge + +# Error panel labels +error_more_info=Ngec Mukene +error_less_info=Ngec Manok +error_close=Lor +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Kwena: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Can kikore {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Pwail: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Rek: {{line}} +rendering_error=Bal otime i kare me nyuto pot buk. + +# Predefined zoom values +page_scale_width=Lac me iye pot buk +page_scale_fit=Porre me pot buk +page_scale_auto=Kwot pire kene +page_scale_actual=Dite kikome +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=Bal otime kun cano PDF. +invalid_file_error=Pwail me PDF ma pe atir onyo obale woko. +missing_file_error=Pwail me PDF tye ka rem. +unexpected_response_error=Lagam mape kigeno pa lapok tic. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Lok angea manok] +password_label=Ket mung me donyo me yabo pwail me PDF man. +password_invalid=Mung me donyo pe atir. Tim ber i tem doki. +password_ok=OK +password_cancel=Juki + +printing_not_supported=Ciko: Layeny ma pe teno goyo liweng. +printing_not_ready=Ciko: PDF pe ocane weng me agoya. +web_fonts_disabled=Kijuko dit pa coc me kakube woko: pe romo tic ki dit pa coc me PDF ma kiketo i kine. diff --git a/app/assets/javascripts/publications/locale/af/viewer.properties b/app/assets/javascripts/publications/locale/af/viewer.properties new file mode 100644 index 0000000..9bd5476 --- /dev/null +++ b/app/assets/javascripts/publications/locale/af/viewer.properties @@ -0,0 +1,176 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Vorige bladsy +previous_label=Vorige +next.title=Volgende bladsy +next_label=Volgende + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Bladsy +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=van {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} van {{pagesCount}}) + +zoom_out.title=Zoem uit +zoom_out_label=Zoem uit +zoom_in.title=Zoem in +zoom_in_label=Zoem in +zoom.title=Zoem +presentation_mode.title=Wissel na voorleggingsmodus +presentation_mode_label=Voorleggingsmodus +open_file.title=Open lêer +open_file_label=Open +print.title=Druk +print_label=Druk +download.title=Laai af +download_label=Laai af +bookmark.title=Huidige aansig (kopieer of open in nuwe venster) +bookmark_label=Huidige aansig + +# Secondary toolbar and context menu +tools.title=Nutsgoed +tools_label=Nutsgoed +first_page.title=Gaan na eerste bladsy +first_page_label=Gaan na eerste bladsy +last_page.title=Gaan na laaste bladsy +last_page_label=Gaan na laaste bladsy +page_rotate_cw.title=Roteer kloksgewys +page_rotate_cw_label=Roteer kloksgewys +page_rotate_ccw.title=Roteer anti-kloksgewys +page_rotate_ccw_label=Roteer anti-kloksgewys + +cursor_text_select_tool.title=Aktiveer gereedskap om teks te merk +cursor_text_select_tool_label=Teksmerkgereedskap +cursor_hand_tool.title=Aktiveer handjie +cursor_hand_tool_label=Handjie + +# Document properties dialog box +document_properties.title=Dokumenteienskappe… +document_properties_label=Dokumenteienskappe… +document_properties_file_name=Lêernaam: +document_properties_file_size=Lêergrootte: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} kG ({{size_b}} grepe) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MG ({{size_b}} grepe) +document_properties_title=Titel: +document_properties_author=Outeur: +document_properties_subject=Onderwerp: +document_properties_keywords=Sleutelwoorde: +document_properties_creation_date=Skeppingsdatum: +document_properties_modification_date=Wysigingsdatum: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Skepper: +document_properties_producer=PDF-vervaardiger: +document_properties_version=PDF-weergawe: +document_properties_page_count=Aantal bladsye: +document_properties_close=Sluit + +print_progress_message=Berei tans dokument voor om te druk… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Kanselleer + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Sypaneel aan/af +toggle_sidebar_label=Sypaneel aan/af +document_outline.title=Wys dokumentskema (dubbelklik om alle items oop/toe te vou) +document_outline_label=Dokumentoorsig +attachments.title=Wys aanhegsels +attachments_label=Aanhegsels +thumbs.title=Wys duimnaels +thumbs_label=Duimnaels +findbar.title=Soek in dokument +findbar_label=Vind + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Bladsy {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Duimnael van bladsy {{page}} + +# Find panel button title and messages +find_input.title=Vind +find_input.placeholder=Soek in dokument… +find_previous.title=Vind die vorige voorkoms van die frase +find_previous_label=Vorige +find_next.title=Vind die volgende voorkoms van die frase +find_next_label=Volgende +find_highlight=Verlig almal +find_match_case_label=Kassensitief +find_reached_top=Bokant van dokument is bereik; gaan voort van onder af +find_reached_bottom=Einde van dokument is bereik; gaan voort van bo af +find_not_found=Frase nie gevind nie + +# Error panel labels +error_more_info=Meer inligting +error_less_info=Minder inligting +error_close=Sluit +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (ID: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Boodskap: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stapel: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Lêer: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Lyn: {{line}} +rendering_error='n Fout het voorgekom toe die bladsy weergegee is. + +# Predefined zoom values +page_scale_width=Bladsywydte +page_scale_fit=Pas bladsy +page_scale_auto=Outomatiese zoem +page_scale_actual=Werklike grootte +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error='n Fout het voorgekom met die laai van die PDF. +invalid_file_error=Ongeldige of korrupte PDF-lêer. +missing_file_error=PDF-lêer is weg. +unexpected_response_error=Onverwagse antwoord van bediener. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}}-annotasie] +password_label=Gee die wagwoord om dié PDF-lêer mee te open. +password_invalid=Ongeldige wagwoord. Probeer gerus weer. +password_ok=OK +password_cancel=Kanselleer + +printing_not_supported=Waarskuwing: Dié blaaier ondersteun nie drukwerk ten volle nie. +printing_not_ready=Waarskuwing: Die PDF is nog nie volledig gelaai vir drukwerk nie. +web_fonts_disabled=Webfonte is gedeaktiveer: kan nie PDF-fonte wat ingebed is, gebruik nie. diff --git a/app/assets/javascripts/publications/locale/an/viewer.properties b/app/assets/javascripts/publications/locale/an/viewer.properties new file mode 100644 index 0000000..16028f3 --- /dev/null +++ b/app/assets/javascripts/publications/locale/an/viewer.properties @@ -0,0 +1,242 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Pachina anterior +previous_label=Anterior +next.title=Pachina siguient +next_label=Siguient + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pachina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=de {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} de {{pagesCount}}) + +zoom_out.title=Achiquir +zoom_out_label=Achiquir +zoom_in.title=Agrandir +zoom_in_label=Agrandir +zoom.title=Grandaria +presentation_mode.title=Cambear t'o modo de presentación +presentation_mode_label=Modo de presentación +open_file.title=Ubrir o fichero +open_file_label=Ubrir +print.title=Imprentar +print_label=Imprentar +download.title=Descargar +download_label=Descargar +bookmark.title=Vista actual (copiar u ubrir en una nueva finestra) +bookmark_label=Vista actual + +# Secondary toolbar and context menu +tools.title=Ferramientas +tools_label=Ferramientas +first_page.title=Ir ta la primer pachina +first_page_label=Ir ta la primer pachina +last_page.title=Ir ta la zaguer pachina +last_page_label=Ir ta la zaguer pachina +page_rotate_cw.title=Chirar enta la dreita +page_rotate_cw_label=Chira enta la dreita +page_rotate_ccw.title=Chirar enta la zurda +page_rotate_ccw_label=Chirar enta la zurda + +cursor_text_select_tool.title=Activar la ferramienta de selección de texto +cursor_text_select_tool_label=Ferramienta de selección de texto +cursor_hand_tool.title=Activar la ferramienta man +cursor_hand_tool_label=Ferramienta man + +scroll_vertical.title=Usar lo desplazamiento vertical +scroll_vertical_label=Desplazamiento vertical +scroll_horizontal.title=Usar lo desplazamiento horizontal +scroll_horizontal_label=Desplazamiento horizontal +scroll_wrapped.title=Activaar lo desplazamiento contino +scroll_wrapped_label=Desplazamiento contino + +spread_none.title=No unir vistas de pachinas +spread_none_label=Una pachina nomás +spread_odd.title=Mostrar vista de pachinas, con as impars a la zurda +spread_odd_label=Doble pachina, impar a la zurda +spread_even.title=Amostrar vista de pachinas, con as pars a la zurda +spread_even_label=Doble pachina, para a la zurda + +# Document properties dialog box +document_properties.title=Propiedatz d'o documento... +document_properties_label=Propiedatz d'o documento... +document_properties_file_name=Nombre de fichero: +document_properties_file_size=Grandaria d'o fichero: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Titol: +document_properties_author=Autor: +document_properties_subject=Afer: +document_properties_keywords=Parolas clau: +document_properties_creation_date=Calendata de creyación: +document_properties_modification_date=Calendata de modificación: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Creyador: +document_properties_producer=Creyador de PDF: +document_properties_version=Versión de PDF: +document_properties_page_count=Numero de pachinas: +document_properties_page_size=Mida de pachina: +document_properties_page_size_unit_inches=pulgadas +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=vertical +document_properties_page_size_orientation_landscape=horizontal +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Carta +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} x {{height}} {{unit}} {{orientation}} +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} x {{height}} {{unit}} {{name}}, {{orientation}} +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Vista web rapida: +document_properties_linearized_yes=Sí +document_properties_linearized_no=No +document_properties_close=Zarrar + +print_progress_message=Se ye preparando la documentación pa imprentar… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cancelar + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Amostrar u amagar a barra lateral +toggle_sidebar_notification2.title=Cambiar barra lateral (lo documento contiene esquema/adchuntos/capas) +toggle_sidebar_label=Amostrar a barra lateral +document_outline.title=Amostrar esquema d'o documento (fer doble clic pa expandir/compactar totz los items) +document_outline_label=Esquema d'o documento +attachments.title=Amostrar os adchuntos +attachments_label=Adchuntos +layers.title=Amostrar capas (doble clic para reiniciar totas las capas a lo estau per defecto) +layers_label=Capas +thumbs.title=Amostrar as miniaturas +thumbs_label=Miniaturas +findbar.title=Trobar en o documento +findbar_label=Trobar + +additional_layers=Capas adicionals +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Pachina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura d'a pachina {{page}} + +# Find panel button title and messages +find_input.title=Trobar +find_input.placeholder=Trobar en o documento… +find_previous.title=Trobar l'anterior coincidencia d'a frase +find_previous_label=Anterior +find_next.title=Trobar a siguient coincidencia d'a frase +find_next_label=Siguient +find_highlight=Resaltar-lo tot +find_match_case_label=Coincidencia de mayusclas/minusclas +find_entire_word_label=Parolas completas +find_reached_top=S'ha plegau a l'inicio d'o documento, se contina dende baixo +find_reached_bottom=S'ha plegau a la fin d'o documento, se contina dende alto +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} de {{total}} coincidencia +find_match_count[two]={{current}} de {{total}} coincidencias +find_match_count[few]={{current}} de {{total}} coincidencias +find_match_count[many]={{current}} de {{total}} coincidencias +find_match_count[other]={{current}} de {{total}} coincidencias +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Mas de {{limit}} coincidencias +find_match_count_limit[one]=Mas de {{limit}} coincidencias +find_match_count_limit[two]=Mas que {{limit}} coincidencias +find_match_count_limit[few]=Mas que {{limit}} coincidencias +find_match_count_limit[many]=Mas que {{limit}} coincidencias +find_match_count_limit[other]=Mas que {{limit}} coincidencias +find_not_found=No s'ha trobau a frase + +# Error panel labels +error_more_info=Mas información +error_less_info=Menos información +error_close=Zarrar +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mensache: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fichero: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linia: {{line}} +rendering_error=Ha ocurriu una error en renderizar a pachina. + +# Predefined zoom values +page_scale_width=Amplaria d'a pachina +page_scale_fit=Achuste d'a pachina +page_scale_auto=Grandaria automatica +page_scale_actual=Grandaria actual +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=S'ha produciu una error en cargar o PDF. +invalid_file_error=O PDF no ye valido u ye estorbau. +missing_file_error=No i ha fichero PDF. +unexpected_response_error=Respuesta a lo servicio inasperada. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anotación {{type}}] +password_label=Introduzca a clau ta ubrir iste fichero PDF. +password_invalid=Clau invalida. Torna a intentar-lo. +password_ok=Acceptar +password_cancel=Cancelar + +printing_not_supported=Pare cuenta: Iste navegador no maneya totalment as impresions. +printing_not_ready=Aviso: Encara no se ha cargau completament o PDF ta imprentar-lo. +web_fonts_disabled=As fuents web son desactivadas: no se puet incrustar fichers PDF. diff --git a/app/assets/javascripts/publications/locale/ar/viewer.properties b/app/assets/javascripts/publications/locale/ar/viewer.properties new file mode 100644 index 0000000..082816f --- /dev/null +++ b/app/assets/javascripts/publications/locale/ar/viewer.properties @@ -0,0 +1,246 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=الصفحة السابقة +previous_label=السابقة +next.title=الصفحة التالية +next_label=التالية + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=صفحة +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=من {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} من {{pagesCount}}) + +zoom_out.title=بعّد +zoom_out_label=بعّد +zoom_in.title=قرّب +zoom_in_label=قرّب +zoom.title=التقريب +presentation_mode.title=انتقل لوضع العرض التقديمي +presentation_mode_label=وضع العرض التقديمي +open_file.title=افتح ملفًا +open_file_label=افتح +print.title=اطبع +print_label=اطبع +download.title=نزّل +download_label=نزّل +bookmark.title=المنظور الحالي (انسخ أو افتح في نافذة جديدة) +bookmark_label=المنظور الحالي + +# Secondary toolbar and context menu +tools.title=الأدوات +tools_label=الأدوات +first_page.title=انتقل إلى الصفحة الأولى +first_page_label=انتقل إلى الصفحة الأولى +last_page.title=انتقل إلى الصفحة الأخيرة +last_page_label=انتقل إلى الصفحة الأخيرة +page_rotate_cw.title=أدر باتجاه عقارب الساعة +page_rotate_cw_label=أدر باتجاه عقارب الساعة +page_rotate_ccw.title=أدر بعكس اتجاه عقارب الساعة +page_rotate_ccw_label=أدر بعكس اتجاه عقارب الساعة + +cursor_text_select_tool.title=فعّل أداة اختيار النص +cursor_text_select_tool_label=أداة اختيار النص +cursor_hand_tool.title=فعّل أداة اليد +cursor_hand_tool_label=أداة اليد + +scroll_vertical.title=استخدم التمرير الرأسي +scroll_vertical_label=التمرير الرأسي +scroll_horizontal.title=استخدم التمرير الأفقي +scroll_horizontal_label=التمرير الأفقي +scroll_wrapped.title=استخدم التمرير الملتف +scroll_wrapped_label=التمرير الملتف + +spread_none.title=لا تدمج هوامش الصفحات مع بعضها البعض +spread_none_label=بلا هوامش +spread_odd.title=ادمج هوامش الصفحات الفردية +spread_odd_label=هوامش الصفحات الفردية +spread_even.title=ادمج هوامش الصفحات الزوجية +spread_even_label=هوامش الصفحات الزوجية + +# Document properties dialog box +document_properties.title=خصائص المستند… +document_properties_label=خصائص المستند… +document_properties_file_name=اسم الملف: +document_properties_file_size=حجم الملف: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} ك.بايت ({{size_b}} بايت) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} م.بايت ({{size_b}} بايت) +document_properties_title=العنوان: +document_properties_author=المؤلف: +document_properties_subject=الموضوع: +document_properties_keywords=الكلمات الأساسية: +document_properties_creation_date=تاريخ الإنشاء: +document_properties_modification_date=تاريخ التعديل: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}، {{time}} +document_properties_creator=المنشئ: +document_properties_producer=منتج PDF: +document_properties_version=إصدارة PDF: +document_properties_page_count=عدد الصفحات: +document_properties_page_size=مقاس الورقة: +document_properties_page_size_unit_inches=بوصة +document_properties_page_size_unit_millimeters=ملم +document_properties_page_size_orientation_portrait=طوليّ +document_properties_page_size_orientation_landscape=عرضيّ +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=خطاب +document_properties_page_size_name_legal=قانونيّ +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string=‏{{width}} × ‏{{height}} ‏{{unit}} (‏{{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string=‏{{width}} × ‏{{height}} ‏{{unit}} (‏{{name}}، {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=العرض السريع عبر الوِب: +document_properties_linearized_yes=نعم +document_properties_linearized_no=لا +document_properties_close=أغلق + +print_progress_message=يُحضّر المستند للطباعة… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}٪ +print_progress_close=ألغِ + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=بدّل ظهور الشريط الجانبي +toggle_sidebar_notification2.title=بدّل ظهور الشريط الجانبي (يحتوي المستند على مخطط أو مرفقات أو طبقات) +toggle_sidebar_label=بدّل ظهور الشريط الجانبي +document_outline.title=اعرض فهرس المستند (نقر مزدوج لتمديد أو تقليص كل العناصر) +document_outline_label=مخطط المستند +attachments.title=اعرض المرفقات +attachments_label=المُرفقات +layers.title=اعرض الطبقات (انقر مرتين لتصفير كل الطبقات إلى الحالة المبدئية) +layers_label=‏‏الطبقات +thumbs.title=اعرض مُصغرات +thumbs_label=مُصغّرات +findbar.title=ابحث في المستند +findbar_label=ابحث + +additional_layers=الطبقات الإضافية +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=صفحة {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=صفحة {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=مصغّرة صفحة {{page}} + +# Find panel button title and messages +find_input.title=ابحث +find_input.placeholder=ابحث في المستند… +find_previous.title=ابحث عن التّواجد السّابق للعبارة +find_previous_label=السابق +find_next.title=ابحث عن التّواجد التّالي للعبارة +find_next_label=التالي +find_highlight=أبرِز الكل +find_match_case_label=طابق حالة الأحرف +find_entire_word_label=كلمات كاملة +find_reached_top=تابعت من الأسفل بعدما وصلت إلى بداية المستند +find_reached_bottom=تابعت من الأعلى بعدما وصلت إلى نهاية المستند +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} من أصل مطابقة واحدة +find_match_count[two]={{current}} من أصل مطابقتين +find_match_count[few]={{current}} من أصل {{total}} مطابقات +find_match_count[many]={{current}} من أصل {{total}} مطابقة +find_match_count[other]={{current}} من أصل {{total}} مطابقة +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=فقط +find_match_count_limit[one]=أكثر من مطابقة واحدة +find_match_count_limit[two]=أكثر من مطابقتين +find_match_count_limit[few]=أكثر من {{limit}} مطابقات +find_match_count_limit[many]=أكثر من {{limit}} مطابقة +find_match_count_limit[other]=أكثر من {{limit}} مطابقة +find_not_found=لا وجود للعبارة + +# Error panel labels +error_more_info=معلومات أكثر +error_less_info=معلومات أقل +error_close=أغلق +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=‏PDF.js ن{{version}} ‏(بناء: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=الرسالة: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=الرصّة: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=الملف: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=السطر: {{line}} +rendering_error=حدث خطأ أثناء عرض الصفحة. + +# Predefined zoom values +page_scale_width=عرض الصفحة +page_scale_fit=ملائمة الصفحة +page_scale_auto=تقريب تلقائي +page_scale_actual=الحجم الفعلي +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}٪ + +# Loading indicator messages +loading=يحمّل… +loading_error=حدث عطل أثناء تحميل ملف PDF. +invalid_file_error=ملف PDF تالف أو غير صحيح. +missing_file_error=ملف PDF غير موجود. +unexpected_response_error=استجابة خادوم غير متوقعة. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}، {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[تعليق {{type}}] +password_label=أدخل لكلمة السر لفتح هذا الملف. +password_invalid=كلمة سر خطأ. من فضلك أعد المحاولة. +password_ok=حسنا +password_cancel=ألغِ + +printing_not_supported=تحذير: لا يدعم هذا المتصفح الطباعة بشكل كامل. +printing_not_ready=تحذير: ملف PDF لم يُحمّل كاملًا للطباعة. +web_fonts_disabled=خطوط الوب مُعطّلة: تعذّر استخدام خطوط PDF المُضمّنة. diff --git a/app/assets/javascripts/publications/locale/ast/viewer.properties b/app/assets/javascripts/publications/locale/ast/viewer.properties new file mode 100644 index 0000000..1f8bb2e --- /dev/null +++ b/app/assets/javascripts/publications/locale/ast/viewer.properties @@ -0,0 +1,207 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Páxina anterior +previous_label=Anterior +next.title=Páxina siguiente +next_label=Siguiente + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Páxina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=de {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} de {{pagesCount}}) + +zoom_out.title=Alloñar +zoom_out_label=Alloña +zoom_in.title=Averar +zoom_in_label=Avera +zoom.title=Zoom +presentation_mode.title=Cambiar al mou de presentación +presentation_mode_label=Mou de presentación +open_file_label=Abrir +print.title=Imprentar +print_label=Imprentar +download.title=Baxar +download_label=Baxar +bookmark_label=Vista actual + +# Secondary toolbar and context menu +tools.title=Ferramientes +tools_label=Ferramientes +first_page_label=Dir a la primer páxina +last_page_label=Dir a la última páxina +page_rotate_cw.title=Voltia a la derecha +page_rotate_cw_label=Voltiar a la derecha +page_rotate_ccw.title=Voltia a la esquierda +page_rotate_ccw_label=Voltiar a la esquierda + +cursor_text_select_tool.title=Activa la ferramienta d'esbilla de testu +cursor_text_select_tool_label=Ferramienta d'esbilla de testu +cursor_hand_tool.title=Activa la ferramienta de mano +cursor_hand_tool_label=Ferramienta de mano + +scroll_vertical.title=Usa'l desplazamientu vertical +scroll_vertical_label=Desplazamientu vertical +scroll_horizontal.title=Usa'l desplazamientu horizontal +scroll_horizontal_label=Desplazamientu horizontal +scroll_wrapped.title=Usa'l desplazamientu continuu +scroll_wrapped_label=Desplazamientu continuu + +spread_none_label=Fueyes individuales +spread_odd_label=Fueyes pares +spread_even_label=Fueyes impares + +# Document properties dialog box +document_properties.title=Propiedaes del documentu… +document_properties_label=Propiedaes del documentu… +document_properties_file_name=Nome del ficheru: +document_properties_file_size=Tamañu del ficheru: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Títulu: +document_properties_keywords=Pallabres clave: +document_properties_creation_date=Data de creación: +document_properties_modification_date=Data de modificación: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_producer=Productor del PDF: +document_properties_version=Versión del PDF: +document_properties_page_count=Númberu de páxines: +document_properties_page_size=Tamañu de páxina: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=vertical +document_properties_page_size_orientation_landscape=horizontal +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Vista web rápida: +document_properties_linearized_yes=Sí +document_properties_linearized_no=Non +document_properties_close=Zarrar + +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Encaboxar + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Alternar la barra llateral +attachments.title=Amosar los axuntos +attachments_label=Axuntos +layers_label=Capes +thumbs.title=Amosar les miniatures +thumbs_label=Miniatures +findbar_label=Atopar + +additional_layers=Capes adicionales +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Páxina {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Páxina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. + +# Find panel button title and messages +find_previous_label=Anterior +find_next_label=Siguiente +find_entire_word_label=Pallabres completes +find_reached_top=Algamóse'l comienzu de la páxina, síguese dende abaxo +find_reached_bottom=Algamóse la fin del documentu, síguese dende arriba +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count[one]={{current}} de {{total}} coincidencia +find_match_count[two]={{current}} de {{total}} coincidencies +find_match_count[few]={{current}} de {{total}} coincidencies +find_match_count[many]={{current}} de {{total}} coincidencies +find_match_count[other]={{current}} de {{total}} coincidencies +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit[zero]=Más de {{limit}} coincidencies +find_match_count_limit[one]=Más de {{limit}} coincidencia +find_match_count_limit[two]=Más de {{limit}} coincidencies +find_match_count_limit[few]=Más de {{limit}} coincidencies +find_match_count_limit[many]=Más de {{limit}} coincidencies +find_match_count_limit[other]=Más de {{limit}} coincidencies + +# Error panel labels +error_more_info=Más información +error_less_info=Menos información +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (compilación: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mensaxe: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Ficheru: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Llinia: {{line}} + +# Predefined zoom values +page_scale_auto=Zoom automáticu +page_scale_actual=Tamañu real +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Cargando… +loading_error=Asocedió un fallu mentanto se cargaba'l PDF. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +password_ok=Aceptar +password_cancel=Encaboxar + +# LOCALIZATION NOTE (unsupported_feature_signatures): Should contain the same +# exact string as in the `chrome.properties` file. + diff --git a/app/assets/javascripts/publications/locale/az/viewer.properties b/app/assets/javascripts/publications/locale/az/viewer.properties new file mode 100644 index 0000000..bdc0ce6 --- /dev/null +++ b/app/assets/javascripts/publications/locale/az/viewer.properties @@ -0,0 +1,242 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Əvvəlki səhifə +previous_label=Əvvəlkini tap +next.title=Növbəti səhifə +next_label=İrəli + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Səhifə +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=/ {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} / {{pagesCount}}) + +zoom_out.title=Uzaqlaş +zoom_out_label=Uzaqlaş +zoom_in.title=Yaxınlaş +zoom_in_label=Yaxınlaş +zoom.title=Yaxınlaşdırma +presentation_mode.title=Təqdimat Rejiminə Keç +presentation_mode_label=Təqdimat Rejimi +open_file.title=Fayl Aç +open_file_label=Aç +print.title=Yazdır +print_label=Yazdır +download.title=Endir +download_label=Endir +bookmark.title=Hazırkı görünüş (köçür və ya yeni pəncərədə aç) +bookmark_label=Hazırkı görünüş + +# Secondary toolbar and context menu +tools.title=Alətlər +tools_label=Alətlər +first_page.title=İlk Səhifəyə get +first_page_label=İlk Səhifəyə get +last_page.title=Son Səhifəyə get +last_page_label=Son Səhifəyə get +page_rotate_cw.title=Saat İstiqamətində Fırlat +page_rotate_cw_label=Saat İstiqamətində Fırlat +page_rotate_ccw.title=Saat İstiqamətinin Əksinə Fırlat +page_rotate_ccw_label=Saat İstiqamətinin Əksinə Fırlat + +cursor_text_select_tool.title=Yazı seçmə alətini aktivləşdir +cursor_text_select_tool_label=Yazı seçmə aləti +cursor_hand_tool.title=Əl alətini aktivləşdir +cursor_hand_tool_label=Əl aləti + +scroll_vertical.title=Şaquli sürüşdürmə işlət +scroll_vertical_label=Şaquli sürüşdürmə +scroll_horizontal.title=Üfüqi sürüşdürmə işlət +scroll_horizontal_label=Üfüqi sürüşdürmə +scroll_wrapped.title=Bükülü sürüşdürmə işlət +scroll_wrapped_label=Bükülü sürüşdürmə + +spread_none.title=Yan-yana birləşdirilmiş səhifələri işlətmə +spread_none_label=Birləşdirmə +spread_odd.title=Yan-yana birləşdirilmiş səhifələri tək nömrəli səhifələrdən başlat +spread_odd_label=Tək nömrəli +spread_even.title=Yan-yana birləşdirilmiş səhifələri cüt nömrəli səhifələrdən başlat +spread_even_label=Cüt nömrəli + +# Document properties dialog box +document_properties.title=Sənəd xüsusiyyətləri… +document_properties_label=Sənəd xüsusiyyətləri… +document_properties_file_name=Fayl adı: +document_properties_file_size=Fayl ölçüsü: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bayt) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bayt) +document_properties_title=Başlık: +document_properties_author=Müəllif: +document_properties_subject=Mövzu: +document_properties_keywords=Açar sözlər: +document_properties_creation_date=Yaradılış Tarixi : +document_properties_modification_date=Dəyişdirilmə Tarixi : +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Yaradan: +document_properties_producer=PDF yaradıcısı: +document_properties_version=PDF versiyası: +document_properties_page_count=Səhifə sayı: +document_properties_page_size=Səhifə Ölçüsü: +document_properties_page_size_unit_inches=inç +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=portret +document_properties_page_size_orientation_landscape=albom +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Məktub +document_properties_page_size_name_legal=Hüquqi +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Fast Web View: +document_properties_linearized_yes=Bəli +document_properties_linearized_no=Xeyr +document_properties_close=Qapat + +print_progress_message=Sənəd çap üçün hazırlanır… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Ləğv et + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Yan Paneli Aç/Bağla +toggle_sidebar_notification2.title=Yan paneli çevir (sənəddə icmal/bağlamalar/laylar mövcuddur) +toggle_sidebar_label=Yan Paneli Aç/Bağla +document_outline.title=Sənədin eskizini göstər (bütün bəndləri açmaq/yığmaq üçün iki dəfə klikləyin) +document_outline_label=Sənəd strukturu +attachments.title=Bağlamaları göstər +attachments_label=Bağlamalar +layers.title=Layları göstər (bütün layları ilkin halına sıfırlamaq üçün iki dəfə klikləyin) +layers_label=Laylar +thumbs.title=Kiçik şəkilləri göstər +thumbs_label=Kiçik şəkillər +findbar.title=Sənəddə Tap +findbar_label=Tap + +additional_layers=Əlavə laylar +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Səhifə{{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}} səhifəsinin kiçik vəziyyəti + +# Find panel button title and messages +find_input.title=Tap +find_input.placeholder=Sənəddə tap… +find_previous.title=Bir öncəki uyğun gələn sözü tapır +find_previous_label=Geri +find_next.title=Bir sonrakı uyğun gələn sözü tapır +find_next_label=İrəli +find_highlight=İşarələ +find_match_case_label=Böyük/kiçik hərfə həssaslıq +find_entire_word_label=Tam sözlər +find_reached_top=Sənədin yuxarısına çatdı, aşağıdan davam edir +find_reached_bottom=Sənədin sonuna çatdı, yuxarıdan davam edir +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} / {{total}} uyğunluq +find_match_count[two]={{current}} / {{total}} uyğunluq +find_match_count[few]={{current}} / {{total}} uyğunluq +find_match_count[many]={{current}} / {{total}} uyğunluq +find_match_count[other]={{current}} / {{total}} uyğunluq +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]={{limit}}-dan çox uyğunluq +find_match_count_limit[one]={{limit}}-dən çox uyğunluq +find_match_count_limit[two]={{limit}}-dən çox uyğunluq +find_match_count_limit[few]={{limit}} uyğunluqdan daha çox +find_match_count_limit[many]={{limit}} uyğunluqdan daha çox +find_match_count_limit[other]={{limit}} uyğunluqdan daha çox +find_not_found=Uyğunlaşma tapılmadı + +# Error panel labels +error_more_info=Daha çox məlumati +error_less_info=Daha az məlumat +error_close=Qapat +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (yığma: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=İsmarıc: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stek: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fayl: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Sətir: {{line}} +rendering_error=Səhifə göstərilərkən səhv yarandı. + +# Predefined zoom values +page_scale_width=Səhifə genişliyi +page_scale_fit=Səhifəni sığdır +page_scale_auto=Avtomatik yaxınlaşdır +page_scale_actual=Hazırkı Həcm +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=PDF yüklenərkən bir səhv yarandı. +invalid_file_error=Səhv və ya zədələnmiş olmuş PDF fayl. +missing_file_error=PDF fayl yoxdur. +unexpected_response_error=Gözlənilməz server cavabı. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Annotasiyası] +password_label=Bu PDF faylı açmaq üçün parolu daxil edin. +password_invalid=Parol səhvdir. Bir daha yoxlayın. +password_ok=Tamam +password_cancel=Ləğv et + +printing_not_supported=Xəbərdarlıq: Çap bu səyyah tərəfindən tam olaraq dəstəklənmir. +printing_not_ready=Xəbərdarlıq: PDF çap üçün tam yüklənməyib. +web_fonts_disabled=Web Şriftlər söndürülüb: yerləşdirilmiş PDF şriftlərini istifadə etmək mümkün deyil. diff --git a/app/assets/javascripts/publications/locale/be/viewer.properties b/app/assets/javascripts/publications/locale/be/viewer.properties new file mode 100644 index 0000000..ec3002c --- /dev/null +++ b/app/assets/javascripts/publications/locale/be/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Папярэдняя старонка +previous_label=Папярэдняя +next.title=Наступная старонка +next_label=Наступная + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Старонка +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=з {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} з {{pagesCount}}) + +zoom_out.title=Паменшыць +zoom_out_label=Паменшыць +zoom_in.title=Павялічыць +zoom_in_label=Павялічыць +zoom.title=Павялічэнне тэксту +presentation_mode.title=Пераключыцца ў рэжым паказу +presentation_mode_label=Рэжым паказу +open_file.title=Адкрыць файл +open_file_label=Адкрыць +print.title=Друкаваць +print_label=Друкаваць +download.title=Сцягнуць +download_label=Сцягнуць +bookmark.title=Цяперашняя праява (скапіяваць або адчыніць у новым акне) +bookmark_label=Цяперашняя праява + +# Secondary toolbar and context menu +tools.title=Прылады +tools_label=Прылады +first_page.title=Перайсці на першую старонку +first_page_label=Перайсці на першую старонку +last_page.title=Перайсці на апошнюю старонку +last_page_label=Перайсці на апошнюю старонку +page_rotate_cw.title=Павярнуць па сонцу +page_rotate_cw_label=Павярнуць па сонцу +page_rotate_ccw.title=Павярнуць супраць сонца +page_rotate_ccw_label=Павярнуць супраць сонца + +cursor_text_select_tool.title=Уключыць прыладу выбару тэксту +cursor_text_select_tool_label=Прылада выбару тэксту +cursor_hand_tool.title=Уключыць ручную прыладу +cursor_hand_tool_label=Ручная прылада + +scroll_page.title=Выкарыстоўваць пракрутку старонкi +scroll_page_label=Пракрутка старонкi +scroll_vertical.title=Ужываць вертыкальную пракрутку +scroll_vertical_label=Вертыкальная пракрутка +scroll_horizontal.title=Ужываць гарызантальную пракрутку +scroll_horizontal_label=Гарызантальная пракрутка +scroll_wrapped.title=Ужываць маштабавальную пракрутку +scroll_wrapped_label=Маштабавальная пракрутка + +spread_none.title=Не выкарыстоўваць разгорнутыя старонкі +spread_none_label=Без разгорнутых старонак +spread_odd.title=Разгорнутыя старонкі пачынаючы з няцотных нумароў +spread_odd_label=Няцотныя старонкі злева +spread_even.title=Разгорнутыя старонкі пачынаючы з цотных нумароў +spread_even_label=Цотныя старонкі злева + +# Document properties dialog box +document_properties.title=Уласцівасці дакумента… +document_properties_label=Уласцівасці дакумента… +document_properties_file_name=Назва файла: +document_properties_file_size=Памер файла: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} КБ ({{size_b}} байт) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} МБ ({{size_b}} байт) +document_properties_title=Загаловак: +document_properties_author=Аўтар: +document_properties_subject=Тэма: +document_properties_keywords=Ключавыя словы: +document_properties_creation_date=Дата стварэння: +document_properties_modification_date=Дата змянення: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Стваральнік: +document_properties_producer=Вырабнік PDF: +document_properties_version=Версія PDF: +document_properties_page_count=Колькасць старонак: +document_properties_page_size=Памер старонкі: +document_properties_page_size_unit_inches=цаляў +document_properties_page_size_unit_millimeters=мм +document_properties_page_size_orientation_portrait=кніжная +document_properties_page_size_orientation_landscape=альбомная +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Хуткі прагляд у Інтэрнэце: +document_properties_linearized_yes=Так +document_properties_linearized_no=Не +document_properties_close=Закрыць + +print_progress_message=Падрыхтоўка дакумента да друку… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Скасаваць + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Паказаць/схаваць бакавую панэль +toggle_sidebar_notification2.title=Паказаць/схаваць бакавую панэль (дакумент мае змест/укладанні/пласты) +toggle_sidebar_label=Паказаць/схаваць бакавую панэль +document_outline.title=Паказаць структуру дакумента (двайная пстрычка, каб разгарнуць /згарнуць усе элементы) +document_outline_label=Структура дакумента +attachments.title=Паказаць далучэнні +attachments_label=Далучэнні +layers.title=Паказаць пласты (двойчы пстрыкніце, каб скінуць усе пласты да прадвызначанага стану) +layers_label=Пласты +thumbs.title=Паказ мініяцюр +thumbs_label=Мініяцюры +current_outline_item.title=Знайсці бягучы элемент структуры +current_outline_item_label=Бягучы элемент структуры +findbar.title=Пошук у дакуменце +findbar_label=Знайсці + +additional_layers=Дадатковыя пласты +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Старонка {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Старонка {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Мініяцюра старонкі {{page}} + +# Find panel button title and messages +find_input.title=Шукаць +find_input.placeholder=Шукаць у дакуменце… +find_previous.title=Знайсці папярэдні выпадак выразу +find_previous_label=Папярэдні +find_next.title=Знайсці наступны выпадак выразу +find_next_label=Наступны +find_highlight=Падфарбаваць усе +find_match_case_label=Адрозніваць вялікія/малыя літары +find_entire_word_label=Словы цалкам +find_reached_top=Дасягнуты пачатак дакумента, працяг з канца +find_reached_bottom=Дасягнуты канец дакумента, працяг з пачатку +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} з {{total}} супадзення +find_match_count[two]={{current}} з {{total}} супадзенняў +find_match_count[few]={{current}} з {{total}} супадзенняў +find_match_count[many]={{current}} з {{total}} супадзенняў +find_match_count[other]={{current}} з {{total}} супадзенняў +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Больш за {{limit}} супадзенняў +find_match_count_limit[one]=Больш за {{limit}} супадзенне +find_match_count_limit[two]=Больш за {{limit}} супадзенняў +find_match_count_limit[few]=Больш за {{limit}} супадзенняў +find_match_count_limit[many]=Больш за {{limit}} супадзенняў +find_match_count_limit[other]=Больш за {{limit}} супадзенняў +find_not_found=Выраз не знойдзены + +# Error panel labels +error_more_info=Падрабязней +error_less_info=Сцісла +error_close=Закрыць +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js в{{version}} (зборка: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Паведамленне: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Стос: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Файл: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Радок: {{line}} +rendering_error=Здарылася памылка падчас адлюстравання старонкі. + +# Predefined zoom values +page_scale_width=Шырыня старонкі +page_scale_fit=Уцісненне старонкі +page_scale_auto=Аўтаматычнае павелічэнне +page_scale_actual=Сапраўдны памер +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Чытаецца… +loading_error=Здарылася памылка падчас загрузкі PDF. +invalid_file_error=Няспраўны або пашкоджаны файл PDF. +missing_file_error=Адсутны файл PDF. +unexpected_response_error=Нечаканы адказ сервера. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Annotation] +password_label=Увядзіце пароль, каб адкрыць гэты файл PDF. +password_invalid=Нядзейсны пароль. Паспрабуйце зноў. +password_ok=Добра +password_cancel=Скасаваць + +printing_not_supported=Папярэджанне: друк не падтрымліваецца цалкам гэтым браўзерам. +printing_not_ready=Увага: PDF не сцягнуты цалкам для друкавання. +web_fonts_disabled=Шрыфты Сеціва забаронены: немагчыма ўжываць укладзеныя шрыфты PDF. diff --git a/app/assets/javascripts/publications/locale/bg/viewer.properties b/app/assets/javascripts/publications/locale/bg/viewer.properties new file mode 100644 index 0000000..0ec7649 --- /dev/null +++ b/app/assets/javascripts/publications/locale/bg/viewer.properties @@ -0,0 +1,234 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Предишна страница +previous_label=Предишна +next.title=Следваща страница +next_label=Следваща + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Страница +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=от {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} от {{pagesCount}}) + +zoom_out.title=Намаляване +zoom_out_label=Намаляване +zoom_in.title=Увеличаване +zoom_in_label=Увеличаване +zoom.title=Мащабиране +presentation_mode.title=Превключване към режим на представяне +presentation_mode_label=Режим на представяне +open_file.title=Отваряне на файл +open_file_label=Отваряне +print.title=Отпечатване +print_label=Отпечатване +download.title=Изтегляне +download_label=Изтегляне +bookmark.title=Текущ изглед (копиране или отваряне в нов прозорец) +bookmark_label=Текущ изглед + +# Secondary toolbar and context menu +tools.title=Инструменти +tools_label=Инструменти +first_page.title=Към първата страница +first_page_label=Към първата страница +last_page.title=Към последната страница +last_page_label=Към последната страница +page_rotate_cw.title=Завъртане по час. стрелка +page_rotate_cw_label=Завъртане по часовниковата стрелка +page_rotate_ccw.title=Завъртане обратно на час. стрелка +page_rotate_ccw_label=Завъртане обратно на часовниковата стрелка + +cursor_text_select_tool.title=Включване на инструмента за избор на текст +cursor_text_select_tool_label=Инструмент за избор на текст +cursor_hand_tool.title=Включване на инструмента ръка +cursor_hand_tool_label=Инструмент ръка + +scroll_vertical.title=Използване на вертикално плъзгане +scroll_vertical_label=Вертикално плъзгане +scroll_horizontal.title=Използване на хоризонтално +scroll_horizontal_label=Хоризонтално плъзгане +scroll_wrapped.title=Използване на мащабируемо плъзгане +scroll_wrapped_label=Мащабируемо плъзгане + +spread_none.title=Режимът на сдвояване е изключен +spread_none_label=Без сдвояване +spread_odd.title=Сдвояване, започвайки от нечетните страници +spread_odd_label=Нечетните отляво +spread_even.title=Сдвояване, започвайки от четните страници +spread_even_label=Четните отляво + +# Document properties dialog box +document_properties.title=Свойства на документа… +document_properties_label=Свойства на документа… +document_properties_file_name=Име на файл: +document_properties_file_size=Големина на файл: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} КБ ({{size_b}} байта) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} МБ ({{size_b}} байта) +document_properties_title=Заглавие: +document_properties_author=Автор: +document_properties_subject=Тема: +document_properties_keywords=Ключови думи: +document_properties_creation_date=Дата на създаване: +document_properties_modification_date=Дата на промяна: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Създател: +document_properties_producer=PDF произведен от: +document_properties_version=Издание на PDF: +document_properties_page_count=Брой страници: +document_properties_page_size=Размер на страницата: +document_properties_page_size_unit_inches=инч +document_properties_page_size_unit_millimeters=мм +document_properties_page_size_orientation_portrait=портрет +document_properties_page_size_orientation_landscape=пейзаж +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Правни въпроси +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Бърз преглед: +document_properties_linearized_yes=Да +document_properties_linearized_no=Не +document_properties_close=Затваряне + +print_progress_message=Подготвяне на документа за отпечатване… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Отказ + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Превключване на страничната лента +toggle_sidebar_label=Превключване на страничната лента +document_outline.title=Показване на структурата на документа (двукратно щракване за свиване/разгъване на всичко) +document_outline_label=Структура на документа +attachments.title=Показване на притурките +attachments_label=Притурки +thumbs.title=Показване на миниатюрите +thumbs_label=Миниатюри +findbar.title=Намиране в документа +findbar_label=Търсене + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Страница {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Миниатюра на страница {{page}} + +# Find panel button title and messages +find_input.title=Търсене +find_input.placeholder=Търсене в документа… +find_previous.title=Намиране на предишно съвпадение на фразата +find_previous_label=Предишна +find_next.title=Намиране на следващо съвпадение на фразата +find_next_label=Следваща +find_highlight=Открояване на всички +find_match_case_label=Съвпадение на регистъра +find_entire_word_label=Цели думи +find_reached_top=Достигнато е началото на документа, продължаване от края +find_reached_bottom=Достигнат е краят на документа, продължаване от началото +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} от {{total}} съвпадение +find_match_count[two]={{current}} от {{total}} съвпадения +find_match_count[few]={{current}} от {{total}} съвпадения +find_match_count[many]={{current}} от {{total}} съвпадения +find_match_count[other]={{current}} от {{total}} съвпадения +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Повече от {{limit}} съвпадения +find_match_count_limit[one]=Повече от {{limit}} съвпадение +find_match_count_limit[two]=Повече от {{limit}} съвпадения +find_match_count_limit[few]=Повече от {{limit}} съвпадения +find_match_count_limit[many]=Повече от {{limit}} съвпадения +find_match_count_limit[other]=Повече от {{limit}} съвпадения +find_not_found=Фразата не е намерена + +# Error panel labels +error_more_info=Повече информация +error_less_info=По-малко информация +error_close=Затваряне +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=Издание на PDF.js {{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Съобщение: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Стек: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Файл: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Ред: {{line}} +rendering_error=Грешка при изчертаване на страницата. + +# Predefined zoom values +page_scale_width=Ширина на страницата +page_scale_fit=Вместване в страницата +page_scale_auto=Автоматично мащабиране +page_scale_actual=Действителен размер +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=Получи се грешка при зареждане на PDF-а. +invalid_file_error=Невалиден или повреден PDF файл. +missing_file_error=Липсващ PDF файл. +unexpected_response_error=Неочакван отговор от сървъра. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Анотация {{type}}] +password_label=Въведете парола за отваряне на този PDF файл. +password_invalid=Невалидна парола. Моля, опитайте отново. +password_ok=Добре +password_cancel=Отказ + +printing_not_supported=Внимание: Този четец няма пълна поддръжка на отпечатване. +printing_not_ready=Внимание: Този PDF файл не е напълно зареден за печат. +web_fonts_disabled=Уеб-шрифтовете са забранени: разрешаване на използването на вградените PDF шрифтове. diff --git a/app/assets/javascripts/publications/locale/bn/viewer.properties b/app/assets/javascripts/publications/locale/bn/viewer.properties new file mode 100644 index 0000000..93f4c7b --- /dev/null +++ b/app/assets/javascripts/publications/locale/bn/viewer.properties @@ -0,0 +1,236 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=পূর্ববর্তী পাতা +previous_label=পূর্ববর্তী +next.title=পরবর্তী পাতা +next_label=পরবর্তী + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=পাতা +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages={{pagesCount}} এর +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pagesCount}} এর {{pageNumber}}) + +zoom_out.title=ছোট আকারে প্রদর্শন +zoom_out_label=ছোট আকারে প্রদর্শন +zoom_in.title=বড় আকারে প্রদর্শন +zoom_in_label=বড় আকারে প্রদর্শন +zoom.title=বড় আকারে প্রদর্শন +presentation_mode.title=উপস্থাপনা মোডে স্যুইচ করুন +presentation_mode_label=উপস্থাপনা মোড +open_file.title=ফাইল খুলুন +open_file_label=খুলুন +print.title=মুদ্রণ +print_label=মুদ্রণ +download.title=ডাউনলোড +download_label=ডাউনলোড +bookmark.title=বর্তমান অবস্থা (অনুলিপি অথবা নতুন উইন্ডো তে খুলুন) +bookmark_label=বর্তমান অবস্থা + +# Secondary toolbar and context menu +tools.title=টুল +tools_label=টুল +first_page.title=প্রথম পাতায় যাও +first_page_label=প্রথম পাতায় যাও +last_page.title=শেষ পাতায় যাও +last_page_label=শেষ পাতায় যাও +page_rotate_cw.title=ঘড়ির কাঁটার দিকে ঘোরাও +page_rotate_cw_label=ঘড়ির কাঁটার দিকে ঘোরাও +page_rotate_ccw.title=ঘড়ির কাঁটার বিপরীতে ঘোরাও +page_rotate_ccw_label=ঘড়ির কাঁটার বিপরীতে ঘোরাও + +cursor_text_select_tool.title=লেখা নির্বাচক টুল সক্রিয় করুন +cursor_text_select_tool_label=লেখা নির্বাচক টুল +cursor_hand_tool.title=হ্যান্ড টুল সক্রিয় করুন +cursor_hand_tool_label=হ্যান্ড টুল + +scroll_vertical.title=উলম্ব স্ক্রলিং ব্যবহার করুন +scroll_vertical_label=উলম্ব স্ক্রলিং +scroll_horizontal.title=অনুভূমিক স্ক্রলিং ব্যবহার করুন +scroll_horizontal_label=অনুভূমিক স্ক্রলিং +scroll_wrapped.title=Wrapped স্ক্রোলিং ব্যবহার করুন +scroll_wrapped_label=Wrapped স্ক্রোলিং + +spread_none.title=পেজ স্প্রেডগুলোতে যোগদান করবেন না +spread_none_label=Spreads নেই +spread_odd_label=বিজোড় Spreads +spread_even_label=জোড় Spreads + +# Document properties dialog box +document_properties.title=নথি বৈশিষ্ট্য… +document_properties_label=নথি বৈশিষ্ট্য… +document_properties_file_name=ফাইলের নাম: +document_properties_file_size=ফাইলের আকার: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} কেবি ({{size_b}} বাইট) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} এমবি ({{size_b}} বাইট) +document_properties_title=শিরোনাম: +document_properties_author=লেখক: +document_properties_subject=বিষয়: +document_properties_keywords=কীওয়ার্ড: +document_properties_creation_date=তৈরির তারিখ: +document_properties_modification_date=পরিবর্তনের তারিখ: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=প্রস্তুতকারক: +document_properties_producer=পিডিএফ প্রস্তুতকারক: +document_properties_version=পিডিএফ সংষ্করণ: +document_properties_page_count=মোট পাতা: +document_properties_page_size=পাতার সাইজ: +document_properties_page_size_unit_inches=এর মধ্যে +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=উলম্ব +document_properties_page_size_orientation_landscape=অনুভূমিক +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=লেটার +document_properties_page_size_name_legal=লীগাল +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Fast Web View: +document_properties_linearized_yes=হ্যাঁ +document_properties_linearized_no=না +document_properties_close=বন্ধ + +print_progress_message=মুদ্রণের জন্য নথি প্রস্তুত করা হচ্ছে… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=বাতিল + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=সাইডবার টগল করুন +toggle_sidebar_label=সাইডবার টগল করুন +document_outline.title=নথির আউটলাইন দেখাও (সব আইটেম প্রসারিত/সঙ্কুচিত করতে ডবল ক্লিক করুন) +document_outline_label=নথির রূপরেখা +attachments.title=সংযুক্তি দেখাও +attachments_label=সংযুক্তি +thumbs.title=থাম্বনেইল সমূহ প্রদর্শন করুন +thumbs_label=থাম্বনেইল সমূহ +findbar.title=নথির মধ্যে খুঁজুন +findbar_label=খুঁজুন + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=পাতা {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}} পাতার থাম্বনেইল + +# Find panel button title and messages +find_input.title=খুঁজুন +find_input.placeholder=নথির মধ্যে খুঁজুন… +find_previous.title=বাক্যাংশের পূর্ববর্তী উপস্থিতি অনুসন্ধান +find_previous_label=পূর্ববর্তী +find_next.title=বাক্যাংশের পরবর্তী উপস্থিতি অনুসন্ধান +find_next_label=পরবর্তী +find_highlight=সব হাইলাইট করা হবে +find_match_case_label=অক্ষরের ছাঁদ মেলানো +find_entire_word_label=সম্পূর্ণ শব্দ +find_reached_top=পাতার শুরুতে পৌছে গেছে, নীচ থেকে আরম্ভ করা হয়েছে +find_reached_bottom=পাতার শেষে পৌছে গেছে, উপর থেকে আরম্ভ করা হয়েছে +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{total}} এর {{current}} মিল +find_match_count[two]={{total}} এর {{current}} মিল +find_match_count[few]={{total}} এর {{current}} মিল +find_match_count[many]={{total}} এর {{current}} মিল +find_match_count[other]={{total}} এর {{current}} মিল +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]={{limit}} এর বেশি মিল +find_match_count_limit[one]={{limit}} এর বেশি মিল +find_match_count_limit[two]={{limit}} এর বেশি মিল +find_match_count_limit[few]={{limit}} এর বেশি মিল +find_match_count_limit[many]={{limit}} এর বেশি মিল +find_match_count_limit[other]={{limit}} এর বেশি মিল +find_not_found=বাক্যাংশ পাওয়া যায়নি + +# Error panel labels +error_more_info=আরও তথ্য +error_less_info=কম তথ্য +error_close=বন্ধ +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=বার্তা: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=নথি: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=লাইন: {{line}} +rendering_error=পাতা উপস্থাপনার সময় ত্রুটি দেখা দিয়েছে। + +# Predefined zoom values +page_scale_width=পাতার প্রস্থ +page_scale_fit=পাতা ফিট করুন +page_scale_auto=স্বয়ংক্রিয় জুম +page_scale_actual=প্রকৃত আকার +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=পিডিএফ লোড করার সময় ত্রুটি দেখা দিয়েছে। +invalid_file_error=অকার্যকর অথবা ক্ষতিগ্রস্ত পিডিএফ ফাইল। +missing_file_error=নিখোঁজ PDF ফাইল। +unexpected_response_error=অপ্রত্যাশীত সার্ভার প্রতিক্রিয়া। + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} টীকা] +password_label=পিডিএফ ফাইলটি ওপেন করতে পাসওয়ার্ড দিন। +password_invalid=ভুল পাসওয়ার্ড। অনুগ্রহ করে আবার চেষ্টা করুন। +password_ok=ঠিক আছে +password_cancel=বাতিল + +printing_not_supported=সতর্কতা: এই ব্রাউজারে মুদ্রণ সম্পূর্ণভাবে সমর্থিত নয়। +printing_not_ready=সতর্কীকরণ: পিডিএফটি মুদ্রণের জন্য সম্পূর্ণ লোড হয়নি। +web_fonts_disabled=ওয়েব ফন্ট নিষ্ক্রিয়: সংযুক্ত পিডিএফ ফন্ট ব্যবহার করা যাচ্ছে না। diff --git a/app/assets/javascripts/publications/locale/bo/viewer.properties b/app/assets/javascripts/publications/locale/bo/viewer.properties new file mode 100644 index 0000000..bba0490 --- /dev/null +++ b/app/assets/javascripts/publications/locale/bo/viewer.properties @@ -0,0 +1,237 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=དྲ་ངོས་སྔོན་མ +previous_label=སྔོན་མ +next.title=དྲ་ངོས་རྗེས་མ +next_label=རྗེས་མ + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=ཤོག་ངོས +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=of {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} of {{pagesCount}}) + +zoom_out.title=Zoom Out +zoom_out_label=Zoom Out +zoom_in.title=Zoom In +zoom_in_label=Zoom In +zoom.title=Zoom +presentation_mode.title=Switch to Presentation Mode +presentation_mode_label=Presentation Mode +open_file.title=Open File +open_file_label=Open +print.title=Print +print_label=Print +download.title=Download +download_label=Download +bookmark.title=Current view (copy or open in new window) +bookmark_label=Current View + +# Secondary toolbar and context menu +tools.title=Tools +tools_label=Tools +first_page.title=Go to First Page +first_page_label=Go to First Page +last_page.title=Go to Last Page +last_page_label=Go to Last Page +page_rotate_cw.title=Rotate Clockwise +page_rotate_cw_label=Rotate Clockwise +page_rotate_ccw.title=Rotate Counterclockwise +page_rotate_ccw_label=Rotate Counterclockwise + +cursor_text_select_tool.title=Enable Text Selection Tool +cursor_text_select_tool_label=Text Selection Tool +cursor_hand_tool.title=Enable Hand Tool +cursor_hand_tool_label=Hand Tool + +scroll_vertical.title=Use Vertical Scrolling +scroll_vertical_label=Vertical Scrolling +scroll_horizontal.title=Use Horizontal Scrolling +scroll_horizontal_label=Horizontal Scrolling +scroll_wrapped.title=Use Wrapped Scrolling +scroll_wrapped_label=Wrapped Scrolling + +spread_none.title=Do not join page spreads +spread_none_label=No Spreads +spread_odd.title=Join page spreads starting with odd-numbered pages +spread_odd_label=Odd Spreads +spread_even.title=Join page spreads starting with even-numbered pages +spread_even_label=Even Spreads + +# Document properties dialog box +document_properties.title=Document Properties… +document_properties_label=Document Properties… +document_properties_file_name=File name: +document_properties_file_size=File size: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Title: +document_properties_author=Author: +document_properties_subject=Subject: +document_properties_keywords=Keywords: +document_properties_creation_date=Creation Date: +document_properties_modification_date=Modification Date: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Creator: +document_properties_producer=PDF Producer: +document_properties_version=PDF Version: +document_properties_page_count=Page Count: +document_properties_page_size=Page Size: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=portrait +document_properties_page_size_orientation_landscape=landscape +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Fast Web View: +document_properties_linearized_yes=Yes +document_properties_linearized_no=No +document_properties_close=Close + +print_progress_message=Preparing document for printing… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cancel + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Toggle Sidebar +toggle_sidebar_label=Toggle Sidebar +document_outline.title=Show Document Outline (double-click to expand/collapse all items) +document_outline_label=Document Outline +attachments.title=Show Attachments +attachments_label=Attachments +thumbs.title=Show Thumbnails +thumbs_label=Thumbnails +findbar.title=Find in Document +findbar_label=Find + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Page {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Thumbnail of Page {{page}} + +# Find panel button title and messages +find_input.title=Find +find_input.placeholder=Find in document… +find_previous.title=Find the previous occurrence of the phrase +find_previous_label=Previous +find_next.title=Find the next occurrence of the phrase +find_next_label=Next +find_highlight=Highlight all +find_match_case_label=Match case +find_entire_word_label=Whole words +find_reached_top=Reached top of document, continued from bottom +find_reached_bottom=Reached end of document, continued from top +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} of {{total}} match +find_match_count[two]={{current}} of {{total}} matches +find_match_count[few]={{current}} of {{total}} matches +find_match_count[many]={{current}} of {{total}} matches +find_match_count[other]={{current}} of {{total}} matches +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=More than {{limit}} matches +find_match_count_limit[one]=More than {{limit}} match +find_match_count_limit[two]=More than {{limit}} matches +find_match_count_limit[few]=More than {{limit}} matches +find_match_count_limit[many]=More than {{limit}} matches +find_match_count_limit[other]=More than {{limit}} matches +find_not_found=Phrase not found + +# Error panel labels +error_more_info=More Information +error_less_info=Less Information +error_close=Close +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Message: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=File: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Line: {{line}} +rendering_error=An error occurred while rendering the page. + +# Predefined zoom values +page_scale_width=Page Width +page_scale_fit=Page Fit +page_scale_auto=Automatic Zoom +page_scale_actual=Actual Size +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=An error occurred while loading the PDF. +invalid_file_error=Invalid or corrupted PDF file. +missing_file_error=Missing PDF file. +unexpected_response_error=Unexpected server response. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Annotation] +password_label=Enter the password to open this PDF file. +password_invalid=Invalid password. Please try again. +password_ok=OK +password_cancel=Cancel + +printing_not_supported=Warning: Printing is not fully supported by this browser. +printing_not_ready=Warning: The PDF is not fully loaded for printing. +web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts. diff --git a/app/assets/javascripts/publications/locale/br/viewer.properties b/app/assets/javascripts/publications/locale/br/viewer.properties new file mode 100644 index 0000000..c26ca68 --- /dev/null +++ b/app/assets/javascripts/publications/locale/br/viewer.properties @@ -0,0 +1,246 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Pajenn a-raok +previous_label=A-raok +next.title=Pajenn war-lerc'h +next_label=War-lerc'h + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pajenn +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=eus {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} war {{pagesCount}}) + +zoom_out.title=Zoum bihanaat +zoom_out_label=Zoum bihanaat +zoom_in.title=Zoum brasaat +zoom_in_label=Zoum brasaat +zoom.title=Zoum +presentation_mode.title=Trec'haoliñ etrezek ar mod kinnigadenn +presentation_mode_label=Mod kinnigadenn +open_file.title=Digeriñ ur restr +open_file_label=Digeriñ ur restr +print.title=Moullañ +print_label=Moullañ +download.title=Pellgargañ +download_label=Pellgargañ +bookmark.title=Gwel bremanel (eilañ pe zigeriñ e-barzh ur prenestr nevez) +bookmark_label=Gwel bremanel + +# Secondary toolbar and context menu +tools.title=Ostilhoù +tools_label=Ostilhoù +first_page.title=Mont d'ar bajenn gentañ +first_page_label=Mont d'ar bajenn gentañ +last_page.title=Mont d'ar bajenn diwezhañ +last_page_label=Mont d'ar bajenn diwezhañ +page_rotate_cw.title=C'hwelañ gant roud ar bizied +page_rotate_cw_label=C'hwelañ gant roud ar bizied +page_rotate_ccw.title=C'hwelañ gant roud gin ar bizied +page_rotate_ccw_label=C'hwelañ gant roud gin ar bizied + +cursor_text_select_tool.title=Gweredekaat an ostilh diuzañ testenn +cursor_text_select_tool_label=Ostilh diuzañ testenn +cursor_hand_tool.title=Gweredekaat an ostilh dorn +cursor_hand_tool_label=Ostilh dorn + +scroll_vertical.title=Arverañ an dibunañ a-blom +scroll_vertical_label=Dibunañ a-serzh +scroll_horizontal.title=Arverañ an dibunañ a-blaen +scroll_horizontal_label=Dibunañ a-blaen +scroll_wrapped.title=Arverañ an dibunañ paket +scroll_wrapped_label=Dibunañ paket + +spread_none.title=Chom hep stagañ ar skignadurioù +spread_none_label=Skignadenn ebet +spread_odd.title=Lakaat ar pajennadoù en ur gregiñ gant ar pajennoù ampar +spread_odd_label=Pajennoù ampar +spread_even.title=Lakaat ar pajennadoù en ur gregiñ gant ar pajennoù par +spread_even_label=Pajennoù par + +# Document properties dialog box +document_properties.title=Perzhioù an teul… +document_properties_label=Perzhioù an teul… +document_properties_file_name=Anv restr: +document_properties_file_size=Ment ar restr: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} Ke ({{size_b}} eizhbit) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} Me ({{size_b}} eizhbit) +document_properties_title=Titl: +document_properties_author=Aozer: +document_properties_subject=Danvez: +document_properties_keywords=Gerioù-alc'hwez: +document_properties_creation_date=Deiziad krouiñ: +document_properties_modification_date=Deiziad kemmañ: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Krouer: +document_properties_producer=Kenderc'her PDF: +document_properties_version=Handelv PDF: +document_properties_page_count=Niver a bajennoù: +document_properties_page_size=Ment ar bajenn: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=poltred +document_properties_page_size_orientation_landscape=gweledva +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Lizher +document_properties_page_size_name_legal=Lezennel +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Gwel Web Herrek: +document_properties_linearized_yes=Ya +document_properties_linearized_no=Ket +document_properties_close=Serriñ + +print_progress_message=O prientiñ an teul evit moullañ... +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Nullañ + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Diskouez/kuzhat ar varrenn gostez +toggle_sidebar_notification2.title=Trec'haoliñ ar varrenn-gostez (ur steuñv pe stagadennoù a zo en teul) +toggle_sidebar_label=Diskouez/kuzhat ar varrenn gostez +document_outline.title=Diskouez steuñv an teul (daouglikit evit brasaat/bihanaat an holl elfennoù) +document_outline_label=Sinedoù an teuliad +attachments.title=Diskouez ar c'henstagadurioù +attachments_label=Kenstagadurioù +layers.title=Diskouez ar gwiskadoù (daou-glikañ evit adderaouekaat an holl gwiskadoù d'o stad dre ziouer) +layers_label=Gwiskadoù +thumbs.title=Diskouez ar melvennoù +thumbs_label=Melvennoù +findbar.title=Klask e-barzh an teuliad +findbar_label=Klask + +additional_layers=Gwiskadoù ouzhpenn +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Pajenn {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Pajenn {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Melvenn ar bajenn {{page}} + +# Find panel button title and messages +find_input.title=Klask +find_input.placeholder=Klask e-barzh an teuliad +find_previous.title=Kavout an tamm frazenn kent o klotañ ganti +find_previous_label=Kent +find_next.title=Kavout an tamm frazenn war-lerc'h o klotañ ganti +find_next_label=War-lerc'h +find_highlight=Usskediñ pep tra +find_match_case_label=Teurel evezh ouzh ar pennlizherennoù +find_entire_word_label=Gerioù a-bezh +find_reached_top=Tizhet eo bet derou ar bajenn, kenderc'hel diouzh an diaz +find_reached_bottom=Tizhet eo bet dibenn ar bajenn, kenderc'hel diouzh ar c'hrec'h +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]=Klotadenn {{current}} war {{total}} +find_match_count[two]=Klotadenn {{current}} war {{total}} +find_match_count[few]=Klotadenn {{current}} war {{total}} +find_match_count[many]=Klotadenn {{current}} war {{total}} +find_match_count[other]=Klotadenn {{current}} war {{total}} +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Muioc'h eget {{limit}} a glotadennoù +find_match_count_limit[one]=Muioc'h eget {{limit}} a glotadennoù +find_match_count_limit[two]=Muioc'h eget {{limit}} a glotadennoù +find_match_count_limit[few]=Muioc'h eget {{limit}} a glotadennoù +find_match_count_limit[many]=Muioc'h eget {{limit}} a glotadennoù +find_match_count_limit[other]=Muioc'h eget {{limit}} a glotadennoù +find_not_found=N'haller ket kavout ar frazenn + +# Error panel labels +error_more_info=Muioc'h a ditouroù +error_less_info=Nebeutoc'h a ditouroù +error_close=Serriñ +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js handelv {{version}} (kempunadur: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Kemennadenn: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Torn: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Restr: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linenn: {{line}} +rendering_error=Degouezhet ez eus bet ur fazi e-pad skrammañ ar bajennad. + +# Predefined zoom values +page_scale_width=Led ar bajenn +page_scale_fit=Pajenn a-bezh +page_scale_auto=Zoum emgefreek +page_scale_actual=Ment wir +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=O kargañ… +loading_error=Degouezhet ez eus bet ur fazi e-pad kargañ ar PDF. +invalid_file_error=Restr PDF didalvoudek pe kontronet. +missing_file_error=Restr PDF o vankout. +unexpected_response_error=Respont dic'hortoz a-berzh an dafariad + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Notennañ] +password_label=Enankit ar ger-tremen evit digeriñ ar restr PDF-mañ. +password_invalid=Ger-tremen didalvoudek. Klaskit en-dro mar plij. +password_ok=Mat eo +password_cancel=Nullañ + +printing_not_supported=Kemenn: N'eo ket skoret penn-da-benn ar moullañ gant ar merdeer-mañ. +printing_not_ready=Kemenn: N'hall ket bezañ moullet ar restr PDF rak n'eo ket karget penn-da-benn. +web_fonts_disabled=Diweredekaet eo an nodrezhoù web: n'haller ket arverañ an nodrezhoù PDF enframmet. diff --git a/app/assets/javascripts/publications/locale/brx/viewer.properties b/app/assets/javascripts/publications/locale/brx/viewer.properties new file mode 100644 index 0000000..3d1c92d --- /dev/null +++ b/app/assets/javascripts/publications/locale/brx/viewer.properties @@ -0,0 +1,204 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=आगोलनि बिलाइ +previous_label=आगोलनि +next.title=उननि बिलाइ +next_label=उननि + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=बिलाइ +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages={{pagesCount}} नि +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pagesCount}} नि {{pageNumber}}) + +zoom_out.title=फिसायै जुम खालाम +zoom_out_label=फिसायै जुम खालाम +zoom_in.title=गेदेरै जुम खालाम +zoom_in_label=गेदेरै जुम खालाम +zoom.title=जुम खालाम +presentation_mode.title=दिन्थिफुंनाय म'डआव थां +presentation_mode_label=दिन्थिफुंनाय म'ड +open_file.title=फाइलखौ खेव +open_file_label=खेव +print.title=साफाय +print_label=साफाय +download.title=डाउनल'ड खालाम +download_label=डाउनल'ड खालाम +bookmark.title=दानि नुथाय (गोदान उइन्ड'आव कपि खालाम एबा खेव) +bookmark_label=दानि नुथाय + +# Secondary toolbar and context menu +tools.title=टुल +tools_label=टुल +first_page.title=गिबि बिलाइआव थां +first_page_label=गिबि बिलाइआव थां +last_page.title=जोबथा बिलाइआव थां +last_page_label=जोबथा बिलाइआव थां +page_rotate_cw.title=घरि गिदिंनाय फार्से फिदिं +page_rotate_cw_label=घरि गिदिंनाय फार्से फिदिं +page_rotate_ccw.title=घरि गिदिंनाय उल्था फार्से फिदिं +page_rotate_ccw_label=घरि गिदिंनाय उल्था फार्से फिदिं + + + + +# Document properties dialog box +document_properties.title=फोरमान बिलाइनि आखुथाय... +document_properties_label=फोरमान बिलाइनि आखुथाय... +document_properties_file_name=फाइलनि मुं: +document_properties_file_size=फाइलनि महर: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} बाइट) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} बाइट) +document_properties_title=बिमुं: +document_properties_author=लिरगिरि: +document_properties_subject=आयदा: +document_properties_keywords=गाहाय सोदोब: +document_properties_creation_date=सोरजिनाय अक्ट': +document_properties_modification_date=सुद्रायनाय अक्ट': +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=सोरजिग्रा: +document_properties_producer=PDF दिहुनग्रा: +document_properties_version=PDF बिसान: +document_properties_page_count=बिलाइनि हिसाब: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=प'र्ट्रेट +document_properties_page_size_orientation_landscape=लेण्डस्केप +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=लायजाम +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized_yes=नंगौ +document_properties_linearized_no=नङा +document_properties_close=बन्द खालाम + +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=नेवसि + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=टग्गल साइडबार +toggle_sidebar_label=टग्गल साइडबार +document_outline_label=फोरमान बिलाइ सिमा हांखो +attachments.title=नांजाब होनायखौ दिन्थि +attachments_label=नांजाब होनाय +thumbs.title=थामनेइलखौ दिन्थि +thumbs_label=थामनेइल +findbar.title=फोरमान बिलाइआव नागिरना दिहुन +findbar_label=नायगिरना दिहुन + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=बिलाइ {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=बिलाइ {{page}} नि थामनेइल + +# Find panel button title and messages +find_input.title=नायगिरना दिहुन +find_input.placeholder=फोरमान बिलाइआव नागिरना दिहुन... +find_previous.title=बाथ्रा खोन्दोबनि सिगांनि नुजाथिनायखौ नागिर +find_previous_label=आगोलनि +find_next.title=बाथ्रा खोन्दोबनि उननि नुजाथिनायखौ नागिर +find_next_label=उननि +find_highlight=गासैखौबो हाइलाइट खालाम +find_match_case_label=गोरोबनाय केस +find_reached_top=थालो निफ्राय जागायनानै फोरमान बिलाइनि बिजौआव सौहैबाय +find_reached_bottom=बिजौ निफ्राय जागायनानै फोरमान बिलाइनि बिजौआव सौहैबाय +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_not_found=बाथ्रा खोन्दोब मोनाखै + +# Error panel labels +error_more_info=गोबां फोरमायथिहोग्रा +error_less_info=खम फोरमायथिहोग्रा +error_close=बन्द खालाम +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=खौरां: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=स्टेक: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=फाइल: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=सारि: {{line}} +rendering_error=बिलाइखौ राव सोलायनाय समाव मोनसे गोरोन्थि जादों। + +# Predefined zoom values +page_scale_width=बिलाइनि गुवार +page_scale_fit=बिलाइ गोरोबनाय +page_scale_auto=गावनोगाव जुम +page_scale_actual=थार महर +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=PDF ल'ड खालामनाय समाव मोनसे गोरोन्थि जाबाय। +invalid_file_error=बाहायजायै एबा गाज्रि जानाय PDF फाइल +missing_file_error=गोमानाय PDF फाइल +unexpected_response_error=मिजिंथियै सार्भार फिननाय। + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} सोदोब बेखेवनाय] +password_label=बे PDF फाइलखौ खेवनो पासवार्ड हाबहो। +password_invalid=बाहायजायै पासवार्ड। अननानै फिन नाजा। +password_ok=OK +password_cancel=नेवसि + +printing_not_supported=सांग्रांथि: साफायनाया बे ब्राउजारजों आबुङै हेफाजाब होजाया। +printing_not_ready=सांग्रांथि: PDF खौ साफायनायनि थाखाय फुरायै ल'ड खालामाखै। +web_fonts_disabled=वेब फन्टखौ लोरबां खालामबाय: अरजाबहोनाय PDF फन्टखौ बाहायनो हायाखै। diff --git a/app/assets/javascripts/publications/locale/bs/viewer.properties b/app/assets/javascripts/publications/locale/bs/viewer.properties new file mode 100644 index 0000000..ec115d0 --- /dev/null +++ b/app/assets/javascripts/publications/locale/bs/viewer.properties @@ -0,0 +1,193 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Prethodna strana +previous_label=Prethodna +next.title=Sljedeća strna +next_label=Sljedeća + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Strana +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=od {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} od {{pagesCount}}) + +zoom_out.title=Umanji +zoom_out_label=Umanji +zoom_in.title=Uvećaj +zoom_in_label=Uvećaj +zoom.title=Uvećanje +presentation_mode.title=Prebaci se u prezentacijski režim +presentation_mode_label=Prezentacijski režim +open_file.title=Otvori fajl +open_file_label=Otvori +print.title=Štampaj +print_label=Štampaj +download.title=Preuzmi +download_label=Preuzmi +bookmark.title=Trenutni prikaz (kopiraj ili otvori u novom prozoru) +bookmark_label=Trenutni prikaz + +# Secondary toolbar and context menu +tools.title=Alati +tools_label=Alati +first_page.title=Idi na prvu stranu +first_page_label=Idi na prvu stranu +last_page.title=Idi na zadnju stranu +last_page_label=Idi na zadnju stranu +page_rotate_cw.title=Rotiraj u smjeru kazaljke na satu +page_rotate_cw_label=Rotiraj u smjeru kazaljke na satu +page_rotate_ccw.title=Rotiraj suprotno smjeru kazaljke na satu +page_rotate_ccw_label=Rotiraj suprotno smjeru kazaljke na satu + +cursor_text_select_tool.title=Omogući alat za označavanje teksta +cursor_text_select_tool_label=Alat za označavanje teksta +cursor_hand_tool.title=Omogući ručni alat +cursor_hand_tool_label=Ručni alat + +# Document properties dialog box +document_properties.title=Svojstva dokumenta... +document_properties_label=Svojstva dokumenta... +document_properties_file_name=Naziv fajla: +document_properties_file_size=Veličina fajla: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bajta) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bajta) +document_properties_title=Naslov: +document_properties_author=Autor: +document_properties_subject=Predmet: +document_properties_keywords=Ključne riječi: +document_properties_creation_date=Datum kreiranja: +document_properties_modification_date=Datum promjene: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Kreator: +document_properties_producer=PDF stvaratelj: +document_properties_version=PDF verzija: +document_properties_page_count=Broj stranica: +document_properties_page_size=Veličina stranice: +document_properties_page_size_unit_inches=u +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=uspravno +document_properties_page_size_orientation_landscape=vodoravno +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Pismo +document_properties_page_size_name_legal=Pravni +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +document_properties_close=Zatvori + +print_progress_message=Pripremam dokument za štampu… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Otkaži + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Uključi/isključi bočnu traku +toggle_sidebar_label=Uključi/isključi bočnu traku +document_outline.title=Prikaži outline dokumenta (dvoklik za skupljanje/širenje svih stavki) +document_outline_label=Konture dokumenta +attachments.title=Prikaži priloge +attachments_label=Prilozi +thumbs.title=Prikaži thumbnailove +thumbs_label=Thumbnailovi +findbar.title=Pronađi u dokumentu +findbar_label=Pronađi + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Strana {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Thumbnail strane {{page}} + +# Find panel button title and messages +find_input.title=Pronađi +find_input.placeholder=Pronađi u dokumentu… +find_previous.title=Pronađi prethodno pojavljivanje fraze +find_previous_label=Prethodno +find_next.title=Pronađi sljedeće pojavljivanje fraze +find_next_label=Sljedeće +find_highlight=Označi sve +find_match_case_label=Osjetljivost na karaktere +find_reached_top=Dostigao sam vrh dokumenta, nastavljam sa dna +find_reached_bottom=Dostigao sam kraj dokumenta, nastavljam sa vrha +find_not_found=Fraza nije pronađena + +# Error panel labels +error_more_info=Više informacija +error_less_info=Manje informacija +error_close=Zatvori +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Poruka: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fajl: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linija: {{line}} +rendering_error=Došlo je do greške prilikom renderiranja strane. + +# Predefined zoom values +page_scale_width=Širina strane +page_scale_fit=Uklopi stranu +page_scale_auto=Automatsko uvećanje +page_scale_actual=Stvarna veličina +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=Došlo je do greške prilikom učitavanja PDF-a. +invalid_file_error=Neispravan ili oštećen PDF fajl. +missing_file_error=Nedostaje PDF fajl. +unexpected_response_error=Neočekivani odgovor servera. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} pribilješka] +password_label=Upišite lozinku da biste otvorili ovaj PDF fajl. +password_invalid=Pogrešna lozinka. Pokušajte ponovo. +password_ok=OK +password_cancel=Otkaži + +printing_not_supported=Upozorenje: Štampanje nije u potpunosti podržano u ovom browseru. +printing_not_ready=Upozorenje: PDF nije u potpunosti učitan za štampanje. +web_fonts_disabled=Web fontovi su onemogućeni: nemoguće koristiti ubačene PDF fontove. diff --git a/app/assets/javascripts/publications/locale/ca/viewer.properties b/app/assets/javascripts/publications/locale/ca/viewer.properties new file mode 100644 index 0000000..21e7dff --- /dev/null +++ b/app/assets/javascripts/publications/locale/ca/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Pàgina anterior +previous_label=Anterior +next.title=Pàgina següent +next_label=Següent + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pàgina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=de {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} de {{pagesCount}}) + +zoom_out.title=Redueix +zoom_out_label=Redueix +zoom_in.title=Amplia +zoom_in_label=Amplia +zoom.title=Escala +presentation_mode.title=Canvia al mode de presentació +presentation_mode_label=Mode de presentació +open_file.title=Obre el fitxer +open_file_label=Obre +print.title=Imprimeix +print_label=Imprimeix +download.title=Baixa +download_label=Baixa +bookmark.title=Vista actual (copia o obre en una finestra nova) +bookmark_label=Vista actual + +# Secondary toolbar and context menu +tools.title=Eines +tools_label=Eines +first_page.title=Vés a la primera pàgina +first_page_label=Vés a la primera pàgina +last_page.title=Vés a l'última pàgina +last_page_label=Vés a l'última pàgina +page_rotate_cw.title=Gira cap a la dreta +page_rotate_cw_label=Gira cap a la dreta +page_rotate_ccw.title=Gira cap a l'esquerra +page_rotate_ccw_label=Gira cap a l'esquerra + +cursor_text_select_tool.title=Habilita l'eina de selecció de text +cursor_text_select_tool_label=Eina de selecció de text +cursor_hand_tool.title=Habilita l'eina de mà +cursor_hand_tool_label=Eina de mà + +scroll_page.title=Usa el desplaçament de pàgina +scroll_page_label=Desplaçament de pàgina +scroll_vertical.title=Utilitza el desplaçament vertical +scroll_vertical_label=Desplaçament vertical +scroll_horizontal.title=Utilitza el desplaçament horitzontal +scroll_horizontal_label=Desplaçament horitzontal +scroll_wrapped.title=Activa el desplaçament continu +scroll_wrapped_label=Desplaçament continu + +spread_none.title=No agrupis les pàgines de dues en dues +spread_none_label=Una sola pàgina +spread_odd.title=Mostra dues pàgines començant per les pàgines de numeració senar +spread_odd_label=Doble pàgina (senar) +spread_even.title=Mostra dues pàgines començant per les pàgines de numeració parell +spread_even_label=Doble pàgina (parell) + +# Document properties dialog box +document_properties.title=Propietats del document… +document_properties_label=Propietats del document… +document_properties_file_name=Nom del fitxer: +document_properties_file_size=Mida del fitxer: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Títol: +document_properties_author=Autor: +document_properties_subject=Assumpte: +document_properties_keywords=Paraules clau: +document_properties_creation_date=Data de creació: +document_properties_modification_date=Data de modificació: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Creador: +document_properties_producer=Generador de PDF: +document_properties_version=Versió de PDF: +document_properties_page_count=Nombre de pàgines: +document_properties_page_size=Mida de la pàgina: +document_properties_page_size_unit_inches=polzades +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=vertical +document_properties_page_size_orientation_landscape=apaïsat +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Carta +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Vista web ràpida: +document_properties_linearized_yes=Sí +document_properties_linearized_no=No +document_properties_close=Tanca + +print_progress_message=S'està preparant la impressió del document… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cancel·la + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Mostra/amaga la barra lateral +toggle_sidebar_notification2.title=Mostra/amaga la barra lateral (el document conté un esquema, adjuncions o capes) +toggle_sidebar_label=Mostra/amaga la barra lateral +document_outline.title=Mostra l'esquema del document (doble clic per ampliar/reduir tots els elements) +document_outline_label=Esquema del document +attachments.title=Mostra les adjuncions +attachments_label=Adjuncions +layers.title=Mostra les capes (doble clic per restablir totes les capes al seu estat per defecte) +layers_label=Capes +thumbs.title=Mostra les miniatures +thumbs_label=Miniatures +current_outline_item.title=Cerca l'element d'esquema actual +current_outline_item_label=Element d'esquema actual +findbar.title=Cerca al document +findbar_label=Cerca + +additional_layers=Capes addicionals +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Pàgina {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Pàgina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura de la pàgina {{page}} + +# Find panel button title and messages +find_input.title=Cerca +find_input.placeholder=Cerca al document… +find_previous.title=Cerca l'anterior coincidència de l'expressió +find_previous_label=Anterior +find_next.title=Cerca la següent coincidència de l'expressió +find_next_label=Següent +find_highlight=Ressalta-ho tot +find_match_case_label=Distingeix entre majúscules i minúscules +find_entire_word_label=Paraules senceres +find_reached_top=S'ha arribat al principi del document, es continua pel final +find_reached_bottom=S'ha arribat al final del document, es continua pel principi +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} de {{total}} coincidència +find_match_count[two]={{current}} de {{total}} coincidències +find_match_count[few]={{current}} de {{total}} coincidències +find_match_count[many]={{current}} de {{total}} coincidències +find_match_count[other]={{current}} de {{total}} coincidències +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Més de {{limit}} coincidències +find_match_count_limit[one]=Més d'{{limit}} coincidència +find_match_count_limit[two]=Més de {{limit}} coincidències +find_match_count_limit[few]=Més de {{limit}} coincidències +find_match_count_limit[many]=Més de {{limit}} coincidències +find_match_count_limit[other]=Més de {{limit}} coincidències +find_not_found=No s'ha trobat l'expressió + +# Error panel labels +error_more_info=Més informació +error_less_info=Menys informació +error_close=Tanca +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (muntatge: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Missatge: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fitxer: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Línia: {{line}} +rendering_error=S'ha produït un error mentre es renderitzava la pàgina. + +# Predefined zoom values +page_scale_width=Amplada de la pàgina +page_scale_fit=Ajusta la pàgina +page_scale_auto=Zoom automàtic +page_scale_actual=Mida real +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=S'està carregant… +loading_error=S'ha produït un error en carregar el PDF. +invalid_file_error=El fitxer PDF no és vàlid o està malmès. +missing_file_error=Falta el fitxer PDF. +unexpected_response_error=Resposta inesperada del servidor. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anotació {{type}}] +password_label=Introduïu la contrasenya per obrir aquest fitxer PDF. +password_invalid=La contrasenya no és vàlida. Torneu-ho a provar. +password_ok=D'acord +password_cancel=Cancel·la + +printing_not_supported=Avís: la impressió no és plenament funcional en aquest navegador. +printing_not_ready=Atenció: el PDF no s'ha acabat de carregar per imprimir-lo. +web_fonts_disabled=Els tipus de lletra web estan desactivats: no es poden utilitzar els tipus de lletra incrustats al PDF. diff --git a/app/assets/javascripts/publications/locale/cak/viewer.properties b/app/assets/javascripts/publications/locale/cak/viewer.properties new file mode 100644 index 0000000..1828641 --- /dev/null +++ b/app/assets/javascripts/publications/locale/cak/viewer.properties @@ -0,0 +1,248 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Jun kan ruxaq +previous_label=Jun kan +next.title=Jun chik ruxaq +next_label=Jun chik + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Ruxaq +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=richin {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} richin {{pagesCount}}) + +zoom_out.title=Tich'utinirisäx +zoom_out_label=Tich'utinirisäx +zoom_in.title=Tinimirisäx +zoom_in_label=Tinimirisäx +zoom.title=Sum +presentation_mode.title=Tijal ri rub'anikil niwachin +presentation_mode_label=Pa rub'eyal niwachin +open_file.title=Tijaq Yakb'äl +open_file_label=Tijaq +print.title=Titz'ajb'äx +print_label=Titz'ajb'äx +download.title=Tiqasäx +download_label=Tiqasäx +bookmark.title=Rutz'etik wakami (tiwachib'ëx o tijaq pa jun k'ak'a' tzuwäch) +bookmark_label=Rutzub'al wakami + +# Secondary toolbar and context menu +tools.title=Samajib'äl +tools_label=Samajib'äl +first_page.title=Tib'e pa nab'ey ruxaq +first_page_label=Tib'e pa nab'ey ruxaq +last_page.title=Tib'e pa ruk'isib'äl ruxaq +last_page_label=Tib'e pa ruk'isib'äl ruxaq +page_rotate_cw.title=Tisutïx pan ajkiq'a' +page_rotate_cw_label=Tisutïx pan ajkiq'a' +page_rotate_ccw.title=Tisutïx pan ajxokon +page_rotate_ccw_label=Tisutïx pan ajxokon + +cursor_text_select_tool.title=Titzij ri rusamajib'al Rucha'ik Rucholajem Tzij +cursor_text_select_tool_label=Rusamajib'al Rucha'ik Rucholajem Tzij +cursor_hand_tool.title=Titzij ri q'ab'aj samajib'äl +cursor_hand_tool_label=Q'ab'aj Samajib'äl + +scroll_vertical.title=Tokisäx Pa'äl Q'axanem +scroll_vertical_label=Pa'äl Q'axanem +scroll_horizontal.title=Tokisäx Kotz'öl Q'axanem +scroll_horizontal_label=Kotz'öl Q'axanem +scroll_wrapped.title=Tokisäx Tzub'aj Q'axanem +scroll_wrapped_label=Tzub'aj Q'axanem + +spread_none.title=Man ketun taq ruxaq pa rub'eyal wuj +spread_none_label=Majun Rub'eyal +spread_odd.title=Ke'atunu' ri taq ruxaq rik'in natikirisaj rik'in jun man k'ulaj ta rajilab'al +spread_odd_label=Man K'ulaj Ta Rub'eyal +spread_even.title=Ke'atunu' ri taq ruxaq rik'in natikirisaj rik'in jun k'ulaj rajilab'al +spread_even_label=K'ulaj Rub'eyal + +# Document properties dialog box +document_properties.title=Taq richinil wuj… +document_properties_label=Taq richinil wuj… +document_properties_file_name=Rub'i' yakb'äl: +document_properties_file_size=Runimilem yakb'äl: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=B'i'aj: +document_properties_author=B'anel: +document_properties_subject=Taqikil: +document_properties_keywords=Kixe'el taq tzij: +document_properties_creation_date=Ruq'ijul xtz'uk: +document_properties_modification_date=Ruq'ijul xjalwachïx: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Q'inonel: +document_properties_producer=PDF b'anöy: +document_properties_version=PDF ruwäch: +document_properties_page_count=Jarupe' ruxaq: +document_properties_page_size=Runimilem ri Ruxaq: +document_properties_page_size_unit_inches=pa +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=rupalem +document_properties_page_size_orientation_landscape=rukotz'olem +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Loman wuj +document_properties_page_size_name_legal=Taqanel tzijol +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Anin Rutz'etik Ajk'amaya'l: +document_properties_linearized_yes=Ja' +document_properties_linearized_no=Mani +document_properties_close=Titz'apïx + +print_progress_message=Ruchojmirisaxik wuj richin nitz'ajb'äx… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Tiq'at + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Tijal ri ajxikin kajtz'ik +toggle_sidebar_notification2.title=Tik'ex ri ajxikin yuqkajtz'ik (ri wuj eruk'wan taq ruchi'/taqo/kuchuj) +toggle_sidebar_label=Tijal ri ajxikin kajtz'ik +document_outline.title=Tik'ut pe ruch'akulal wuj (kamul-pitz'oj richin nirik'/nich'utinirisäx ronojel ruch'akulal) +document_outline_label=Ruch'akulal wuj +attachments.title=Kek'ut pe ri taq taqoj +attachments_label=Taq taqoj +layers.title=Kek'ut taq Kuchuj (ka'i'-pitz' richin yetzolïx ronojel ri taq kuchuj e k'o wi) +layers_label=Taq kuchuj +thumbs.title=Kek'ut pe taq ch'utiq +thumbs_label=Koköj +current_outline_item.title=Kekanöx Taq Ch'akulal Kik'wan Chib'äl +current_outline_item_label=Taq Ch'akulal Kik'wan Chib'äl +findbar.title=Tikanöx chupam ri wuj +findbar_label=Tikanöx + +additional_layers=Tz'aqat ta Kuchuj +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Ruxaq {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Ruxaq {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Ruch'utinirisaxik ruxaq {{page}} + +# Find panel button title and messages +find_input.title=Tikanöx +find_input.placeholder=Tikanöx pa wuj… +find_previous.title=Tib'an b'enam pa ri jun kan q'aptzij xilitäj +find_previous_label=Jun kan +find_next.title=Tib'e pa ri jun chik pajtzij xilitäj +find_next_label=Jun chik +find_highlight=Tiya' retal ronojel +find_match_case_label=Tuk'äm ri' kik'in taq nimatz'ib' chuqa' taq ch'utitz'ib' +find_entire_word_label=Tz'aqät taq tzij +find_reached_top=Xb'eq'i' ri rutikirib'al wuj, xtikanöx k'a pa ruk'isib'äl +find_reached_bottom=Xb'eq'i' ri ruk'isib'äl wuj, xtikanöx pa rutikirib'al +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} richin {{total}} nuk'äm ri' +find_match_count[two]={{current}} richin {{total}} nikik'äm ki' +find_match_count[few]={{current}} richin {{total}} nikik'äm ki' +find_match_count[many]={{current}} richin {{total}} nikik'äm ki' +find_match_count[other]={{current}} richin {{total}} nikik'äm ki' +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=K'ïy chi re {{limit}} nikik'äm ki' +find_match_count_limit[one]=K'ïy chi re {{limit}} nuk'äm ri' +find_match_count_limit[two]=K'ïy chi re {{limit}} nikik'äm ki' +find_match_count_limit[few]=K'ïy chi re {{limit}} nikik'äm ki' +find_match_count_limit[many]=K'ïy chi re {{limit}} nikik'äm ki' +find_match_count_limit[other]=K'ïy chi re {{limit}} nikik'äm ki' +find_not_found=Man xilitäj ta ri pajtzij + +# Error panel labels +error_more_info=Ch'aqa' chik rutzijol +error_less_info=Jub'a' ok rutzijol +error_close=Titz'apïx +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Uqxa'n: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Tzub'aj: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Yakb'äl: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=B'ey: {{line}} +rendering_error=Xk'ulwachitäj jun sachoj toq ninuk'wachij ri ruxaq. + +# Predefined zoom values +page_scale_width=Ruwa ruxaq +page_scale_fit=Tinuk' ruxaq +page_scale_auto=Yonil chi nimilem +page_scale_actual=Runimilem Wakami +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Nisamäj… +loading_error=\u0020Xk'ulwachitäj jun sach'oj toq xnuk'ux ri PDF . +invalid_file_error=Man oke ta o yujtajinäq ri PDF yakb'äl. +missing_file_error=Man xilitäj ta ri PDF yakb'äl. +unexpected_response_error=Man oyob'en ta tz'olin rutzij ruk'u'x samaj. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Tz'ib'anïk] +password_label=Tatz'ib'aj ri ewan tzij richin najäq re yakb'äl re' pa PDF. +password_invalid=Man okel ta ri ewan tzij: Tatojtob'ej chik. +password_ok=Ütz +password_cancel=Tiq'at + +printing_not_supported=Rutzijol k'ayewal: Ri rutz'ajb'axik man koch'el ta ronojel pa re okik'amaya'l re'. +printing_not_ready=Rutzijol k'ayewal: Ri PDF man xusamajij ta ronojel richin nitz'ajb'äx. +web_fonts_disabled=E chupül ri taq ajk'amaya'l tz'ib': man tikirel ta nokisäx ri taq tz'ib' PDF pa ch'ikenïk diff --git a/app/assets/javascripts/publications/locale/ckb/viewer.properties b/app/assets/javascripts/publications/locale/ckb/viewer.properties new file mode 100644 index 0000000..b30cb76 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ckb/viewer.properties @@ -0,0 +1,233 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=پەڕەی پێشوو +previous_label=پێشوو +next.title=پەڕەی دوواتر +next_label=دوواتر + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=پەرە +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=لە {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} لە {{pagesCount}}) + +zoom_out.title=ڕۆچوونی +zoom_out_label=ڕۆچوونی +zoom_in.title=هێنانەپێش +zoom_in_label=هێنانەپێش +zoom.title=زووم +presentation_mode.title=گۆڕین بۆ دۆخی پێشکەشکردن +presentation_mode_label=دۆخی پێشکەشکردن +open_file.title=پەڕگە بکەرەوە +open_file_label=کردنەوە +print.title=چاپکردن +print_label=چاپکردن +download.title=داگرتن +download_label=داگرتن +bookmark.title=پێشبینینی ئێستا(لەبەریبگرەوە یان پەنجەرەیەکی نوێ بکەرەوە) +bookmark_label=پیشبینینی ئێستا + +# Secondary toolbar and context menu +tools.title=ئامرازەکان +tools_label=ئامرازەکان +first_page.title=برۆ بۆ یەکەم پەڕە +first_page_label=بڕۆ بۆ یەکەم پەڕە +last_page.title=بڕۆ بۆ کۆتا پەڕە +last_page_label=بڕۆ بۆ کۆتا پەڕە +page_rotate_cw.title=ئاڕاستەی میلی کاتژمێر +page_rotate_cw_label=ئاڕاستەی میلی کاتژمێر +page_rotate_ccw.title=پێچەوانەی میلی کاتژمێر +page_rotate_ccw_label=پێچەوانەی میلی کاتژمێر + +cursor_text_select_tool.title=توڵامرازی نیشانکەری دەق چالاک بکە +cursor_text_select_tool_label=توڵامرازی نیشانکەری دەق +cursor_hand_tool.title=توڵامرازی دەستی چالاک بکە +cursor_hand_tool_label=توڵامرازی دەستی + +scroll_vertical.title=ناردنی ئەستوونی بەکاربێنە +scroll_vertical_label=ناردنی ئەستوونی +scroll_horizontal.title=ناردنی ئاسۆیی بەکاربێنە +scroll_horizontal_label=ناردنی ئاسۆیی +scroll_wrapped.title=ناردنی لوولکراو بەکاربێنە +scroll_wrapped_label=ناردنی لوولکراو + + +# Document properties dialog box +document_properties.title=تایبەتمەندییەکانی بەڵگەنامە... +document_properties_label=تایبەتمەندییەکانی بەڵگەنامە... +document_properties_file_name=ناوی پەڕگە: +document_properties_file_size=قەبارەی پەڕگە: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} کب ({{size_b}} بایت) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} مب ({{size_b}} بایت) +document_properties_title=سەردێڕ: +document_properties_author=نووسەر +document_properties_subject=بابەت: +document_properties_keywords=کلیلەوشە: +document_properties_creation_date=بەرواری درووستکردن: +document_properties_modification_date=بەرواری دەستکاریکردن: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=درووستکەر: +document_properties_producer=بەرهەمهێنەری PDF: +document_properties_version=وەشانی PDF: +document_properties_page_count=ژمارەی پەرەکان: +document_properties_page_size=قەبارەی پەڕە: +document_properties_page_size_unit_inches=ئینچ +document_properties_page_size_unit_millimeters=ملم +document_properties_page_size_orientation_portrait=پۆرترەیت(درێژ) +document_properties_page_size_orientation_landscape=پانیی +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=نامە +document_properties_page_size_name_legal=یاسایی +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=پیشاندانی وێبی خێرا: +document_properties_linearized_yes=بەڵێ +document_properties_linearized_no=نەخێر +document_properties_close=داخستن + +print_progress_message=بەڵگەنامە ئامادەدەکرێت بۆ چاپکردن... +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=پاشگەزبوونەوە + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=لاتەنیشت پیشاندان/شاردنەوە +toggle_sidebar_label=لاتەنیشت پیشاندان/شاردنەوە +document_outline_label=سنووری چوارچێوە +attachments.title=پاشکۆکان پیشان بدە +attachments_label=پاشکۆکان +layers_label=چینەکان +thumbs.title=وێنۆچکە پیشان بدە +thumbs_label=وێنۆچکە +findbar.title=لە بەڵگەنامە بگەرێ +findbar_label=دۆزینەوە + +additional_layers=چینی زیاتر +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=پەڕەی {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=وێنۆچکەی پەڕەی {{page}} + +# Find panel button title and messages +find_input.title=دۆزینەوە +find_input.placeholder=لە بەڵگەنامە بگەرێ... +find_previous.title=هەبوونی پێشوو بدۆزرەوە لە ڕستەکەدا +find_previous_label=پێشوو +find_next.title=هەبوونی داهاتوو بدۆزەرەوە لە ڕستەکەدا +find_next_label=دوواتر +find_highlight=هەمووی نیشانە بکە +find_match_case_label=دۆخی لەیەکچوون +find_entire_word_label=هەموو وشەکان +find_reached_top=گەشتیتە سەرەوەی بەڵگەنامە، لە خوارەوە دەستت پێکرد +find_reached_bottom=گەشتیتە کۆتایی بەڵگەنامە. لەسەرەوە دەستت پێکرد +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} لە کۆی {{total}} لەیەکچوو +find_match_count[two]={{current}} لە کۆی {{total}} لەیەکچوو +find_match_count[few]={{current}} لە کۆی {{total}} لەیەکچوو +find_match_count[many]={{current}} لە کۆی {{total}} لەیەکچوو +find_match_count[other]={{current}} لە کۆی {{total}} لەیەکچوو +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=زیاتر لە {{limit}} لەیەکچوو +find_match_count_limit[one]=زیاتر لە {{limit}} لەیەکچوو +find_match_count_limit[two]=زیاتر لە {{limit}} لەیەکچوو +find_match_count_limit[few]=زیاتر لە {{limit}} لەیەکچوو +find_match_count_limit[many]=زیاتر لە {{limit}} لەیەکچوو +find_match_count_limit[other]=زیاتر لە {{limit}} لەیەکچوو +find_not_found=نووسین نەدۆزرایەوە + +# Error panel labels +error_more_info=زانیاری زیاتر +error_less_info=زانیاری کەمتر +error_close=داخستن +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=پەیام: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=لەسەریەک: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=پەڕگە: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=هێڵ: {{line}} +rendering_error=هەڵەیەک ڕوویدا لە کاتی پوختەکردنی (ڕێندەر) پەڕە. + +# Predefined zoom values +page_scale_width=پانی پەڕە +page_scale_fit=پڕبوونی پەڕە +page_scale_auto=زوومی خۆکار +page_scale_actual=قەبارەی ڕاستی +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=هەڵەیەک ڕوویدا لە کاتی بارکردنی PDF. +invalid_file_error=پەڕگەی pdf تێکچووە یان نەگونجاوە. +missing_file_error=پەڕگەی pdf بوونی نیە. +unexpected_response_error=وەڵامی ڕاژەخوازی نەخوازراو. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} سەرنج] +password_label=وشەی تێپەڕ بنووسە بۆ کردنەوەی پەڕگەی pdf. +password_invalid=وشەی تێپەڕ هەڵەیە. تکایە دووبارە هەوڵ بدەرەوە. +password_ok=باشە +password_cancel=پاشگەزبوونەوە + +printing_not_supported=ئاگاداربە: چاپکردن بە تەواوی پشتگیر ناکرێت لەم وێبگەڕە. +printing_not_ready=ئاگاداربە: PDF بە تەواوی بارنەبووە بۆ چاپکردن. +web_fonts_disabled=جۆرەپیتی وێب ناچالاکە: نەتوانی جۆرەپیتی تێخراوی ناو pdfـەکە بەکاربێت. diff --git a/app/assets/javascripts/publications/locale/cs/viewer.properties b/app/assets/javascripts/publications/locale/cs/viewer.properties new file mode 100644 index 0000000..73bffe7 --- /dev/null +++ b/app/assets/javascripts/publications/locale/cs/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Přejde na předchozí stránku +previous_label=Předchozí +next.title=Přejde na následující stránku +next_label=Další + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Stránka +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=z {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} z {{pagesCount}}) + +zoom_out.title=Zmenší velikost +zoom_out_label=Zmenšit +zoom_in.title=Zvětší velikost +zoom_in_label=Zvětšit +zoom.title=Nastaví velikost +presentation_mode.title=Přepne do režimu prezentace +presentation_mode_label=Režim prezentace +open_file.title=Otevře soubor +open_file_label=Otevřít +print.title=Vytiskne dokument +print_label=Vytisknout +download.title=Stáhne dokument +download_label=Stáhnout +bookmark.title=Současný pohled (kopírovat nebo otevřít v novém okně) +bookmark_label=Současný pohled + +# Secondary toolbar and context menu +tools.title=Nástroje +tools_label=Nástroje +first_page.title=Přejde na první stránku +first_page_label=Přejít na první stránku +last_page.title=Přejde na poslední stránku +last_page_label=Přejít na poslední stránku +page_rotate_cw.title=Otočí po směru hodin +page_rotate_cw_label=Otočit po směru hodin +page_rotate_ccw.title=Otočí proti směru hodin +page_rotate_ccw_label=Otočit proti směru hodin + +cursor_text_select_tool.title=Povolí výběr textu +cursor_text_select_tool_label=Výběr textu +cursor_hand_tool.title=Povolí nástroj ručička +cursor_hand_tool_label=Nástroj ručička + +scroll_page.title=Posouvat po stránkách +scroll_page_label=Posouvání po stránkách +scroll_vertical.title=Použít svislé posouvání +scroll_vertical_label=Svislé posouvání +scroll_horizontal.title=Použít vodorovné posouvání +scroll_horizontal_label=Vodorovné posouvání +scroll_wrapped.title=Použít postupné posouvání +scroll_wrapped_label=Postupné posouvání + +spread_none.title=Nesdružovat stránky +spread_none_label=Žádné sdružení +spread_odd.title=Sdruží stránky s umístěním lichých vlevo +spread_odd_label=Sdružení stránek (liché vlevo) +spread_even.title=Sdruží stránky s umístěním sudých vlevo +spread_even_label=Sdružení stránek (sudé vlevo) + +# Document properties dialog box +document_properties.title=Vlastnosti dokumentu… +document_properties_label=Vlastnosti dokumentu… +document_properties_file_name=Název souboru: +document_properties_file_size=Velikost souboru: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bajtů) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bajtů) +document_properties_title=Název stránky: +document_properties_author=Autor: +document_properties_subject=Předmět: +document_properties_keywords=Klíčová slova: +document_properties_creation_date=Datum vytvoření: +document_properties_modification_date=Datum úpravy: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Vytvořil: +document_properties_producer=Tvůrce PDF: +document_properties_version=Verze PDF: +document_properties_page_count=Počet stránek: +document_properties_page_size=Velikost stránky: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=na výšku +document_properties_page_size_orientation_landscape=na šířku +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Dopis +document_properties_page_size_name_legal=Právní dokument +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Rychlé zobrazování z webu: +document_properties_linearized_yes=Ano +document_properties_linearized_no=Ne +document_properties_close=Zavřít + +print_progress_message=Příprava dokumentu pro tisk… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}} % +print_progress_close=Zrušit + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Postranní lišta +toggle_sidebar_notification2.title=Přepnout postranní lištu (dokument obsahuje osnovu/přílohy/vrstvy) +toggle_sidebar_label=Postranní lišta +document_outline.title=Zobrazí osnovu dokumentu (dvojité klepnutí rozbalí/sbalí všechny položky) +document_outline_label=Osnova dokumentu +attachments.title=Zobrazí přílohy +attachments_label=Přílohy +layers.title=Zobrazit vrstvy (poklepáním obnovíte všechny vrstvy do výchozího stavu) +layers_label=Vrstvy +thumbs.title=Zobrazí náhledy +thumbs_label=Náhledy +current_outline_item.title=Najít aktuální položku v osnově +current_outline_item_label=Aktuální položka v osnově +findbar.title=Najde v dokumentu +findbar_label=Najít + +additional_layers=Další vrstvy +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Strana {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Strana {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Náhled strany {{page}} + +# Find panel button title and messages +find_input.title=Najít +find_input.placeholder=Najít v dokumentu… +find_previous.title=Najde předchozí výskyt hledaného textu +find_previous_label=Předchozí +find_next.title=Najde další výskyt hledaného textu +find_next_label=Další +find_highlight=Zvýraznit +find_match_case_label=Rozlišovat velikost +find_match_diacritics_label=Rozlišovat diakritiku +find_entire_word_label=Celá slova +find_reached_top=Dosažen začátek dokumentu, pokračuje se od konce +find_reached_bottom=Dosažen konec dokumentu, pokračuje se od začátku +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}}. z {{total}} výskytu +find_match_count[two]={{current}}. z {{total}} výskytů +find_match_count[few]={{current}}. z {{total}} výskytů +find_match_count[many]={{current}}. z {{total}} výskytů +find_match_count[other]={{current}}. z {{total}} výskytů +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Více než {{limit}} výskytů +find_match_count_limit[one]=Více než {{limit}} výskyt +find_match_count_limit[two]=Více než {{limit}} výskyty +find_match_count_limit[few]=Více než {{limit}} výskyty +find_match_count_limit[many]=Více než {{limit}} výskytů +find_match_count_limit[other]=Více než {{limit}} výskytů +find_not_found=Hledaný text nenalezen + +# Error panel labels +error_more_info=Více informací +error_less_info=Méně informací +error_close=Zavřít +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (sestavení: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Zpráva: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Zásobník: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Soubor: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Řádek: {{line}} +rendering_error=Při vykreslování stránky nastala chyba. + +# Predefined zoom values +page_scale_width=Podle šířky +page_scale_fit=Podle výšky +page_scale_auto=Automatická velikost +page_scale_actual=Skutečná velikost +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}} % + +# Loading indicator messages +loading=Načítání… +loading_error=Při nahrávání PDF nastala chyba. +invalid_file_error=Neplatný nebo chybný soubor PDF. +missing_file_error=Chybí soubor PDF. +unexpected_response_error=Neočekávaná odpověď serveru. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anotace typu {{type}}] +password_label=Pro otevření PDF souboru vložte heslo. +password_invalid=Neplatné heslo. Zkuste to znovu. +password_ok=OK +password_cancel=Zrušit + +printing_not_supported=Upozornění: Tisk není v tomto prohlížeči plně podporován. +printing_not_ready=Upozornění: Dokument PDF není kompletně načten. +web_fonts_disabled=Webová písma jsou zakázána, proto není možné použít vložená písma PDF. diff --git a/app/assets/javascripts/publications/locale/cy/viewer.properties b/app/assets/javascripts/publications/locale/cy/viewer.properties new file mode 100644 index 0000000..9ede32a --- /dev/null +++ b/app/assets/javascripts/publications/locale/cy/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Tudalen Flaenorol +previous_label=Blaenorol +next.title=Tudalen Nesaf +next_label=Nesaf + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Tudalen +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=o {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} o {{pagesCount}}) + +zoom_out.title=Chwyddo Allan +zoom_out_label=Chwyddo Allan +zoom_in.title=Chwyddo Mewn +zoom_in_label=Chwyddo Mewn +zoom.title=Chwyddo +presentation_mode.title=Newid i'r Modd Cyflwyno +presentation_mode_label=Modd Cyflwyno +open_file.title=Agor Ffeil +open_file_label=Agor +print.title=Argraffu +print_label=Argraffu +download.title=Llwyth +download_label=Llwytho i Lawr +bookmark.title=Golwg cyfredol (copïo neu agor ffenestr newydd) +bookmark_label=Golwg Gyfredol + +# Secondary toolbar and context menu +tools.title=Offer +tools_label=Offer +first_page.title=Mynd i'r Dudalen Gyntaf +first_page_label=Mynd i'r Dudalen Gyntaf +last_page.title=Mynd i'r Dudalen Olaf +last_page_label=Mynd i'r Dudalen Olaf +page_rotate_cw.title=Cylchdroi Clocwedd +page_rotate_cw_label=Cylchdroi Clocwedd +page_rotate_ccw.title=Cylchdroi Gwrthglocwedd +page_rotate_ccw_label=Cylchdroi Gwrthglocwedd + +cursor_text_select_tool.title=Galluogi Dewis Offeryn Testun +cursor_text_select_tool_label=Offeryn Dewis Testun +cursor_hand_tool.title=Galluogi Offeryn Llaw +cursor_hand_tool_label=Offeryn Llaw + +scroll_page.title=Defnyddio Sgrolio Tudalen +scroll_page_label=Sgrolio Tudalen +scroll_vertical.title=Defnyddio Sgrolio Fertigol +scroll_vertical_label=Sgrolio Fertigol +scroll_horizontal.title=Defnyddio Sgrolio Llorweddol +scroll_horizontal_label=Sgrolio Llorweddol +scroll_wrapped.title=Defnyddio Sgrolio Amlapio +scroll_wrapped_label=Sgrolio Amlapio + +spread_none.title=Peidio uno trawsdaleniadau +spread_none_label=Dim Trawsdaleniadau +spread_odd.title=Uno trawsdaleniadau gan gychwyn gyda thudalennau odrif +spread_odd_label=Trawsdaleniadau Odrif +spread_even.title=Uno trawsdaleniadau gan gychwyn gyda thudalennau eilrif +spread_even_label=Trawsdaleniadau Eilrif + +# Document properties dialog box +document_properties.title=Priodweddau Dogfen… +document_properties_label=Priodweddau Dogfen… +document_properties_file_name=Enw ffeil: +document_properties_file_size=Maint ffeil: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} beit) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} beit) +document_properties_title=Teitl: +document_properties_author=Awdur: +document_properties_subject=Pwnc: +document_properties_keywords=Allweddair: +document_properties_creation_date=Dyddiad Creu: +document_properties_modification_date=Dyddiad Addasu: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Crewr: +document_properties_producer=Cynhyrchydd PDF: +document_properties_version=Fersiwn PDF: +document_properties_page_count=Cyfrif Tudalen: +document_properties_page_size=Maint Tudalen: +document_properties_page_size_unit_inches=o fewn +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=portread +document_properties_page_size_orientation_landscape=tirlun +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Llythyr +document_properties_page_size_name_legal=Cyfreithiol +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Golwg Gwe Cyflym: +document_properties_linearized_yes=Iawn +document_properties_linearized_no=Na +document_properties_close=Cau + +print_progress_message=Paratoi dogfen ar gyfer ei hargraffu… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Diddymu + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Toglo'r Bar Ochr +toggle_sidebar_notification2.title=Toglo'r Bar Ochr (mae'r ddogfen yn cynnwys amlinelliadau/atodiadau/haenau) +toggle_sidebar_label=Toglo'r Bar Ochr +document_outline.title=Dangos Amlinell Dogfen (clic dwbl i ymestyn/cau pob eitem) +document_outline_label=Amlinelliad Dogfen +attachments.title=Dangos Atodiadau +attachments_label=Atodiadau +layers.title=Dangos Haenau (cliciwch ddwywaith i ailosod yr holl haenau i'r cyflwr rhagosodedig) +layers_label=Haenau +thumbs.title=Dangos Lluniau Bach +thumbs_label=Lluniau Bach +current_outline_item.title=Canfod yr Eitem Amlinellol Gyfredol +current_outline_item_label=Yr Eitem Amlinellol Gyfredol +findbar.title=Canfod yn y Ddogfen +findbar_label=Canfod + +additional_layers=Haenau Ychwanegol +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Tudalen {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Tudalen {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Llun Bach Tudalen {{page}} + +# Find panel button title and messages +find_input.title=Canfod +find_input.placeholder=Canfod yn y ddogfen… +find_previous.title=Canfod enghraifft flaenorol o'r ymadrodd +find_previous_label=Blaenorol +find_next.title=Canfod enghraifft nesaf yr ymadrodd +find_next_label=Nesaf +find_highlight=Amlygu popeth +find_match_case_label=Cydweddu maint +find_match_diacritics_label=Diacritigau Cyfatebol +find_entire_word_label=Geiriau cyfan +find_reached_top=Wedi cyrraedd brig y dudalen, parhau o'r gwaelod +find_reached_bottom=Wedi cyrraedd diwedd y dudalen, parhau o'r brig +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} o {{total}} cydweddiad +find_match_count[two]={{current}} o {{total}} cydweddiad +find_match_count[few]={{current}} o {{total}} cydweddiad +find_match_count[many]={{current}} o {{total}} cydweddiad +find_match_count[other]={{current}} o {{total}} cydweddiad +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Mwy na {{limit}} cydweddiad +find_match_count_limit[one]=Mwy na {{limit}} cydweddiad +find_match_count_limit[two]=Mwy na {{limit}} cydweddiad +find_match_count_limit[few]=Mwy na {{limit}} cydweddiad +find_match_count_limit[many]=Mwy na {{limit}} cydweddiad +find_match_count_limit[other]=Mwy na {{limit}} cydweddiad +find_not_found=Heb ganfod ymadrodd + +# Error panel labels +error_more_info=Rhagor o Wybodaeth +error_less_info=Llai o wybodaeth +error_close=Cau +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Neges: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stac: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Ffeil: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Llinell: {{line}} +rendering_error=Digwyddodd gwall wrth adeiladu'r dudalen. + +# Predefined zoom values +page_scale_width=Lled Tudalen +page_scale_fit=Ffit Tudalen +page_scale_auto=Chwyddo Awtomatig +page_scale_actual=Maint Gwirioneddol +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Yn llwytho… +loading_error=Digwyddodd gwall wrth lwytho'r PDF. +invalid_file_error=Ffeil PDF annilys neu llwgr. +missing_file_error=Ffeil PDF coll. +unexpected_response_error=Ymateb annisgwyl gan y gweinydd. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anodiad {{type}} ] +password_label=Rhowch gyfrinair i agor y PDF. +password_invalid=Cyfrinair annilys. Ceisiwch eto. +password_ok=Iawn +password_cancel=Diddymu + +printing_not_supported=Rhybudd: Nid yw argraffu yn cael ei gynnal yn llawn gan y porwr. +printing_not_ready=Rhybudd: Nid yw'r PDF wedi ei lwytho'n llawn ar gyfer argraffu. +web_fonts_disabled=Ffontiau gwe wedi eu hanalluogi: methu defnyddio ffontiau PDF mewnblanedig. diff --git a/app/assets/javascripts/publications/locale/da/viewer.properties b/app/assets/javascripts/publications/locale/da/viewer.properties new file mode 100644 index 0000000..a67fedc --- /dev/null +++ b/app/assets/javascripts/publications/locale/da/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Forrige side +previous_label=Forrige +next.title=Næste side +next_label=Næste + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Side +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=af {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} af {{pagesCount}}) + +zoom_out.title=Zoom ud +zoom_out_label=Zoom ud +zoom_in.title=Zoom ind +zoom_in_label=Zoom ind +zoom.title=Zoom +presentation_mode.title=Skift til fuldskærmsvisning +presentation_mode_label=Fuldskærmsvisning +open_file.title=Åbn fil +open_file_label=Åbn +print.title=Udskriv +print_label=Udskriv +download.title=Hent +download_label=Hent +bookmark.title=Aktuel visning (kopier eller åbn i et nyt vindue) +bookmark_label=Aktuel visning + +# Secondary toolbar and context menu +tools.title=Funktioner +tools_label=Funktioner +first_page.title=Gå til første side +first_page_label=Gå til første side +last_page.title=Gå til sidste side +last_page_label=Gå til sidste side +page_rotate_cw.title=Roter med uret +page_rotate_cw_label=Roter med uret +page_rotate_ccw.title=Roter mod uret +page_rotate_ccw_label=Roter mod uret + +cursor_text_select_tool.title=Aktiver markeringsværktøj +cursor_text_select_tool_label=Markeringsværktøj +cursor_hand_tool.title=Aktiver håndværktøj +cursor_hand_tool_label=Håndværktøj + +scroll_page.title=Brug sidescrolling +scroll_page_label=Sidescrolling +scroll_vertical.title=Brug vertikal scrolling +scroll_vertical_label=Vertikal scrolling +scroll_horizontal.title=Brug horisontal scrolling +scroll_horizontal_label=Horisontal scrolling +scroll_wrapped.title=Brug ombrudt scrolling +scroll_wrapped_label=Ombrudt scrolling + +spread_none.title=Vis enkeltsider +spread_none_label=Enkeltsider +spread_odd.title=Vis opslag med ulige sidenumre til venstre +spread_odd_label=Opslag med forside +spread_even.title=Vis opslag med lige sidenumre til venstre +spread_even_label=Opslag uden forside + +# Document properties dialog box +document_properties.title=Dokumentegenskaber… +document_properties_label=Dokumentegenskaber… +document_properties_file_name=Filnavn: +document_properties_file_size=Filstørrelse: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Titel: +document_properties_author=Forfatter: +document_properties_subject=Emne: +document_properties_keywords=Nøgleord: +document_properties_creation_date=Oprettet: +document_properties_modification_date=Redigeret: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Program: +document_properties_producer=PDF-producent: +document_properties_version=PDF-version: +document_properties_page_count=Antal sider: +document_properties_page_size=Sidestørrelse: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=stående +document_properties_page_size_orientation_landscape=liggende +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Hurtig web-visning: +document_properties_linearized_yes=Ja +document_properties_linearized_no=Nej +document_properties_close=Luk + +print_progress_message=Forbereder dokument til udskrivning… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Annuller + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Slå sidepanel til eller fra +toggle_sidebar_notification2.title=Slå sidepanel til eller fra (dokumentet indeholder disposition/vedhæftede filer/lag) +toggle_sidebar_label=Slå sidepanel til eller fra +document_outline.title=Vis dokumentets disposition (dobbeltklik for at vise/skjule alle elementer) +document_outline_label=Dokument-disposition +attachments.title=Vis vedhæftede filer +attachments_label=Vedhæftede filer +layers.title=Vis lag (dobbeltklik for at nulstille alle lag til standard-tilstanden) +layers_label=Lag +thumbs.title=Vis miniaturer +thumbs_label=Miniaturer +current_outline_item.title=Find det aktuelle dispositions-element +current_outline_item_label=Aktuelt dispositions-element +findbar.title=Find i dokument +findbar_label=Find + +additional_layers=Yderligere lag +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Side {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Side {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniature af side {{page}} + +# Find panel button title and messages +find_input.title=Find +find_input.placeholder=Find i dokument… +find_previous.title=Find den forrige forekomst +find_previous_label=Forrige +find_next.title=Find den næste forekomst +find_next_label=Næste +find_highlight=Fremhæv alle +find_match_case_label=Forskel på store og små bogstaver +find_entire_word_label=Hele ord +find_reached_top=Toppen af siden blev nået, fortsatte fra bunden +find_reached_bottom=Bunden af siden blev nået, fortsatte fra toppen +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} af {{total}} forekomst +find_match_count[two]={{current}} af {{total}} forekomster +find_match_count[few]={{current}} af {{total}} forekomster +find_match_count[many]={{current}} af {{total}} forekomster +find_match_count[other]={{current}} af {{total}} forekomster +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Mere end {{limit}} forekomster +find_match_count_limit[one]=Mere end {{limit}} forekomst +find_match_count_limit[two]=Mere end {{limit}} forekomster +find_match_count_limit[few]=Mere end {{limit}} forekomster +find_match_count_limit[many]=Mere end {{limit}} forekomster +find_match_count_limit[other]=Mere end {{limit}} forekomster +find_not_found=Der blev ikke fundet noget + +# Error panel labels +error_more_info=Mere information +error_less_info=Mindre information +error_close=Luk +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Fejlmeddelelse: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fil: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linje: {{line}} +rendering_error=Der opstod en fejl ved generering af siden. + +# Predefined zoom values +page_scale_width=Sidebredde +page_scale_fit=Tilpas til side +page_scale_auto=Automatisk zoom +page_scale_actual=Faktisk størrelse +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Indlæser… +loading_error=Der opstod en fejl ved indlæsning af PDF-filen. +invalid_file_error=PDF-filen er ugyldig eller ødelagt. +missing_file_error=Manglende PDF-fil. +unexpected_response_error=Uventet svar fra serveren. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}}kommentar] +password_label=Angiv adgangskode til at åbne denne PDF-fil. +password_invalid=Ugyldig adgangskode. Prøv igen. +password_ok=OK +password_cancel=Fortryd + +printing_not_supported=Advarsel: Udskrivning er ikke fuldt understøttet af browseren. +printing_not_ready=Advarsel: PDF-filen er ikke fuldt indlæst til udskrivning. +web_fonts_disabled=Webskrifttyper er deaktiverede. De indlejrede skrifttyper i PDF-filen kan ikke anvendes. diff --git a/app/assets/javascripts/publications/locale/de/viewer.properties b/app/assets/javascripts/publications/locale/de/viewer.properties new file mode 100644 index 0000000..1cda13f --- /dev/null +++ b/app/assets/javascripts/publications/locale/de/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Eine Seite zurück +previous_label=Zurück +next.title=Eine Seite vor +next_label=Vor + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Seite +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=von {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} von {{pagesCount}}) + +zoom_out.title=Verkleinern +zoom_out_label=Verkleinern +zoom_in.title=Vergrößern +zoom_in_label=Vergrößern +zoom.title=Zoom +presentation_mode.title=In Präsentationsmodus wechseln +presentation_mode_label=Präsentationsmodus +open_file.title=Datei öffnen +open_file_label=Öffnen +print.title=Drucken +print_label=Drucken +download.title=Dokument speichern +download_label=Speichern +bookmark.title=Aktuelle Ansicht (zum Kopieren oder Öffnen in einem neuen Fenster) +bookmark_label=Aktuelle Ansicht + +# Secondary toolbar and context menu +tools.title=Werkzeuge +tools_label=Werkzeuge +first_page.title=Erste Seite anzeigen +first_page_label=Erste Seite anzeigen +last_page.title=Letzte Seite anzeigen +last_page_label=Letzte Seite anzeigen +page_rotate_cw.title=Im Uhrzeigersinn drehen +page_rotate_cw_label=Im Uhrzeigersinn drehen +page_rotate_ccw.title=Gegen Uhrzeigersinn drehen +page_rotate_ccw_label=Gegen Uhrzeigersinn drehen + +cursor_text_select_tool.title=Textauswahl-Werkzeug aktivieren +cursor_text_select_tool_label=Textauswahl-Werkzeug +cursor_hand_tool.title=Hand-Werkzeug aktivieren +cursor_hand_tool_label=Hand-Werkzeug + +scroll_page.title=Seiten einzeln anordnen +scroll_page_label=Einzelseitenanordnung +scroll_vertical.title=Seiten übereinander anordnen +scroll_vertical_label=Vertikale Seitenanordnung +scroll_horizontal.title=Seiten nebeneinander anordnen +scroll_horizontal_label=Horizontale Seitenanordnung +scroll_wrapped.title=Seiten neben- und übereinander anordnen, abhängig vom Platz +scroll_wrapped_label=Kombinierte Seitenanordnung + +spread_none.title=Seiten nicht nebeneinander anzeigen +spread_none_label=Einzelne Seiten +spread_odd.title=Jeweils eine ungerade und eine gerade Seite nebeneinander anzeigen +spread_odd_label=Ungerade + gerade Seite +spread_even.title=Jeweils eine gerade und eine ungerade Seite nebeneinander anzeigen +spread_even_label=Gerade + ungerade Seite + +# Document properties dialog box +document_properties.title=Dokumenteigenschaften +document_properties_label=Dokumenteigenschaften… +document_properties_file_name=Dateiname: +document_properties_file_size=Dateigröße: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} Bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} Bytes) +document_properties_title=Titel: +document_properties_author=Autor: +document_properties_subject=Thema: +document_properties_keywords=Stichwörter: +document_properties_creation_date=Erstelldatum: +document_properties_modification_date=Bearbeitungsdatum: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}} {{time}} +document_properties_creator=Anwendung: +document_properties_producer=PDF erstellt mit: +document_properties_version=PDF-Version: +document_properties_page_count=Seitenzahl: +document_properties_page_size=Seitengröße: +document_properties_page_size_unit_inches=Zoll +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=Hochformat +document_properties_page_size_orientation_landscape=Querformat +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Schnelle Webanzeige: +document_properties_linearized_yes=Ja +document_properties_linearized_no=Nein +document_properties_close=Schließen + +print_progress_message=Dokument wird für Drucken vorbereitet… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}} % +print_progress_close=Abbrechen + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Sidebar umschalten +toggle_sidebar_notification2.title=Sidebar umschalten (Dokument enthält Dokumentstruktur/Anhänge/Ebenen) +toggle_sidebar_label=Sidebar umschalten +document_outline.title=Dokumentstruktur anzeigen (Doppelklicken, um alle Einträge aus- bzw. einzuklappen) +document_outline_label=Dokumentstruktur +attachments.title=Anhänge anzeigen +attachments_label=Anhänge +layers.title=Ebenen anzeigen (Doppelklicken, um alle Ebenen auf den Standardzustand zurückzusetzen) +layers_label=Ebenen +thumbs.title=Miniaturansichten anzeigen +thumbs_label=Miniaturansichten +current_outline_item.title=Aktuelles Struktur-Element finden +current_outline_item_label=Aktuelles Struktur-Element +findbar.title=Dokument durchsuchen +findbar_label=Suchen + +additional_layers=Zusätzliche Ebenen +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Seite {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Seite {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniaturansicht von Seite {{page}} + +# Find panel button title and messages +find_input.title=Suchen +find_input.placeholder=Im Dokument suchen… +find_previous.title=Vorheriges Vorkommen des Suchbegriffs finden +find_previous_label=Zurück +find_next.title=Nächstes Vorkommen des Suchbegriffs finden +find_next_label=Weiter +find_highlight=Alle hervorheben +find_match_case_label=Groß-/Kleinschreibung beachten +find_entire_word_label=Ganze Wörter +find_reached_top=Anfang des Dokuments erreicht, fahre am Ende fort +find_reached_bottom=Ende des Dokuments erreicht, fahre am Anfang fort +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} von {{total}} Übereinstimmung +find_match_count[two]={{current}} von {{total}} Übereinstimmungen +find_match_count[few]={{current}} von {{total}} Übereinstimmungen +find_match_count[many]={{current}} von {{total}} Übereinstimmungen +find_match_count[other]={{current}} von {{total}} Übereinstimmungen +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Mehr als {{limit}} Übereinstimmungen +find_match_count_limit[one]=Mehr als {{limit}} Übereinstimmung +find_match_count_limit[two]=Mehr als {{limit}} Übereinstimmungen +find_match_count_limit[few]=Mehr als {{limit}} Übereinstimmungen +find_match_count_limit[many]=Mehr als {{limit}} Übereinstimmungen +find_match_count_limit[other]=Mehr als {{limit}} Übereinstimmungen +find_not_found=Suchbegriff nicht gefunden + +# Error panel labels +error_more_info=Mehr Informationen +error_less_info=Weniger Informationen +error_close=Schließen +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js Version {{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Nachricht: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Aufrufliste: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Datei: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Zeile: {{line}} +rendering_error=Beim Darstellen der Seite trat ein Fehler auf. + +# Predefined zoom values +page_scale_width=Seitenbreite +page_scale_fit=Seitengröße +page_scale_auto=Automatischer Zoom +page_scale_actual=Originalgröße +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}} % + +# Loading indicator messages +loading=Wird geladen… +loading_error=Beim Laden der PDF-Datei trat ein Fehler auf. +invalid_file_error=Ungültige oder beschädigte PDF-Datei +missing_file_error=Fehlende PDF-Datei +unexpected_response_error=Unerwartete Antwort des Servers + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anlage: {{type}}] +password_label=Geben Sie zum Öffnen der PDF-Datei deren Passwort ein. +password_invalid=Falsches Passwort. Bitte versuchen Sie es erneut. +password_ok=OK +password_cancel=Abbrechen + +printing_not_supported=Warnung: Die Drucken-Funktion wird durch diesen Browser nicht vollständig unterstützt. +printing_not_ready=Warnung: Die PDF-Datei ist nicht vollständig geladen, dies ist für das Drucken aber empfohlen. +web_fonts_disabled=Web-Schriftarten sind deaktiviert: Eingebettete PDF-Schriftarten konnten nicht geladen werden. diff --git a/app/assets/javascripts/publications/locale/dsb/viewer.properties b/app/assets/javascripts/publications/locale/dsb/viewer.properties new file mode 100644 index 0000000..6eecd63 --- /dev/null +++ b/app/assets/javascripts/publications/locale/dsb/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Pjerwjejšny bok +previous_label=Slědk +next.title=Pśiducy bok +next_label=Dalej + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Bok +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=z {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} z {{pagesCount}}) + +zoom_out.title=Pómjeńšyś +zoom_out_label=Pómjeńšyś +zoom_in.title=Pówětšyś +zoom_in_label=Pówětšyś +zoom.title=Skalěrowanje +presentation_mode.title=Do prezentaciskego modusa pśejś +presentation_mode_label=Prezentaciski modus +open_file.title=Dataju wócyniś +open_file_label=Wócyniś +print.title=Śišćaś +print_label=Śišćaś +download.title=Ześěgnuś +download_label=Ześěgnuś +bookmark.title=Aktualny naglěd (kopěrowaś abo w nowem woknje wócyniś) +bookmark_label=Aktualny naglěd + +# Secondary toolbar and context menu +tools.title=Rědy +tools_label=Rědy +first_page.title=K prědnemu bokoju +first_page_label=K prědnemu bokoju +last_page.title=K slědnemu bokoju +last_page_label=K slědnemu bokoju +page_rotate_cw.title=Wobwjertnuś ako špěra źo +page_rotate_cw_label=Wobwjertnuś ako špěra źo +page_rotate_ccw.title=Wobwjertnuś nawopaki ako špěra źo +page_rotate_ccw_label=Wobwjertnuś nawopaki ako špěra źo + +cursor_text_select_tool.title=Rěd za wuběranje teksta zmóžniś +cursor_text_select_tool_label=Rěd za wuběranje teksta +cursor_hand_tool.title=Rucny rěd zmóžniś +cursor_hand_tool_label=Rucny rěd + +scroll_page.title=Kulanje boka wužywaś +scroll_page_label=Kulanje boka +scroll_vertical.title=Wertikalne suwanje wužywaś +scroll_vertical_label=Wertikalne suwanje +scroll_horizontal.title=Horicontalne suwanje wužywaś +scroll_horizontal_label=Horicontalne suwanje +scroll_wrapped.title=Pózlažke suwanje wužywaś +scroll_wrapped_label=Pózlažke suwanje + +spread_none.title=Boki njezwězaś +spread_none_label=Žeden dwójny bok +spread_odd.title=Boki zachopinajucy z njerownymi bokami zwězaś +spread_odd_label=Njerowne boki +spread_even.title=Boki zachopinajucy z rownymi bokami zwězaś +spread_even_label=Rowne boki + +# Document properties dialog box +document_properties.title=Dokumentowe kakosći… +document_properties_label=Dokumentowe kakosći… +document_properties_file_name=Mě dataje: +document_properties_file_size=Wjelikosć dataje: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bajtow) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bajtow) +document_properties_title=Titel: +document_properties_author=Awtor: +document_properties_subject=Tema: +document_properties_keywords=Klucowe słowa: +document_properties_creation_date=Datum napóranja: +document_properties_modification_date=Datum změny: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Awtor: +document_properties_producer=PDF-gótowaŕ: +document_properties_version=PDF-wersija: +document_properties_page_count=Licba bokow: +document_properties_page_size=Wjelikosć boka: +document_properties_page_size_unit_inches=col +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=wusoki format +document_properties_page_size_orientation_landscape=prěcny format +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Fast Web View: +document_properties_linearized_yes=Jo +document_properties_linearized_no=Ně +document_properties_close=Zacyniś + +print_progress_message=Dokument pśigótujo se za śišćanje… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Pśetergnuś + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Bócnicu pokazaś/schowaś +toggle_sidebar_notification2.title=Bocnicu pśešaltowaś (dokument rozrědowanje/pśipiski/warstwy wopśimujo) +toggle_sidebar_label=Bócnicu pokazaś/schowaś +document_outline.title=Dokumentowe naraźenje pokazaś (dwójne kliknjenje, aby se wšykne zapiski pokazali/schowali) +document_outline_label=Dokumentowa struktura +attachments.title=Pśidanki pokazaś +attachments_label=Pśidanki +layers.title=Warstwy pokazaś (klikniśo dwójcy, aby wšykne warstwy na standardny staw slědk stajił) +layers_label=Warstwy +thumbs.title=Miniatury pokazaś +thumbs_label=Miniatury +current_outline_item.title=Aktualny rozrědowański zapisk pytaś +current_outline_item_label=Aktualny rozrědowański zapisk +findbar.title=W dokumenśe pytaś +findbar_label=Pytaś + +additional_layers=Dalšne warstwy +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Bok {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Bok {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura boka {{page}} + +# Find panel button title and messages +find_input.title=Pytaś +find_input.placeholder=W dokumenśe pytaś… +find_previous.title=Pjerwjejšne wustupowanje pytańskego wuraza pytaś +find_previous_label=Slědk +find_next.title=Pśidujuce wustupowanje pytańskego wuraza pytaś +find_next_label=Dalej +find_highlight=Wšykne wuzwignuś +find_match_case_label=Na wjelikopisanje źiwaś +find_match_diacritics_label=Diakritiske znamuška wužywaś +find_entire_word_label=Cełe słowa +find_reached_top=Zachopjeńk dokumenta dostany, pókšacujo se z kóńcom +find_reached_bottom=Kóńc dokumenta dostany, pókšacujo se ze zachopjeńkom +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} z {{total}} wótpowědnika +find_match_count[two]={{current}} z {{total}} wótpowědnikowu +find_match_count[few]={{current}} z {{total}} wótpowědnikow +find_match_count[many]={{current}} z {{total}} wótpowědnikow +find_match_count[other]={{current}} z {{total}} wótpowědnikow +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Wěcej ako {{limit}} wótpowědnikow +find_match_count_limit[one]=Wěcej ako {{limit}} wótpowědnik +find_match_count_limit[two]=Wěcej ako {{limit}} wótpowědnika +find_match_count_limit[few]=Wěcej ako {{limit}} wótpowědniki +find_match_count_limit[many]=Wěcej ako {{limit}} wótpowědnikow +find_match_count_limit[other]=Wěcej ako {{limit}} wótpowědnikow +find_not_found=Pytański wuraz njejo se namakał + +# Error panel labels +error_more_info=Wěcej informacijow +error_less_info=Mjenjej informacijow +error_close=Zacyniś +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Powěźenka: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Lisćina zawołanjow: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Dataja: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Smužka: {{line}} +rendering_error=Pśi zwobraznjanju boka jo zmólka nastała. + +# Predefined zoom values +page_scale_width=Šyrokosć boka +page_scale_fit=Wjelikosć boka +page_scale_auto=Awtomatiske skalěrowanje +page_scale_actual=Aktualna wjelikosć +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Zacytujo se… +loading_error=Pśi zacytowanju PDF jo zmólka nastała. +invalid_file_error=Njepłaśiwa abo wobškóźona PDF-dataja. +missing_file_error=Felujuca PDF-dataja. +unexpected_response_error=Njewócakane serwerowe wótegrono. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Typ pśipiskow: {{type}}] +password_label=Zapódajśo gronidło, aby PDF-dataju wócynił. +password_invalid=Njepłaśiwe gronidło. Pšosym wopytajśo hyšći raz. +password_ok=W pórěźe +password_cancel=Pśetergnuś + +printing_not_supported=Warnowanje: Śišćanje njepódpěra se połnje pśez toś ten wobglědowak. +printing_not_ready=Warnowanje: PDF njejo se za śišćanje dopołnje zacytał. +web_fonts_disabled=Webpisma su znjemóžnjone: njejo móžno, zasajźone PDF-pisma wužywaś. diff --git a/app/assets/javascripts/publications/locale/el/viewer.properties b/app/assets/javascripts/publications/locale/el/viewer.properties new file mode 100644 index 0000000..2525b3b --- /dev/null +++ b/app/assets/javascripts/publications/locale/el/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Προηγούμενη σελίδα +previous_label=Προηγούμενη +next.title=Επόμενη σελίδα +next_label=Επόμενη + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Σελίδα +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=από {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} από {{pagesCount}}) + +zoom_out.title=Σμίκρυνση +zoom_out_label=Σμίκρυνση +zoom_in.title=Μεγέθυνση +zoom_in_label=Μεγέθυνση +zoom.title=Ζουμ +presentation_mode.title=Εναλλαγή σε λειτουργία παρουσίασης +presentation_mode_label=Λειτουργία παρουσίασης +open_file.title=Άνοιγμα αρχείου +open_file_label=Άνοιγμα +print.title=Εκτύπωση +print_label=Εκτύπωση +download.title=Λήψη +download_label=Λήψη +bookmark.title=Τρέχουσα προβολή (αντιγραφή ή άνοιγμα σε νέο παράθυρο) +bookmark_label=Τρέχουσα προβολή + +# Secondary toolbar and context menu +tools.title=Εργαλεία +tools_label=Εργαλεία +first_page.title=Μετάβαση στην πρώτη σελίδα +first_page_label=Μετάβαση στην πρώτη σελίδα +last_page.title=Μετάβαση στην τελευταία σελίδα +last_page_label=Μετάβαση στην τελευταία σελίδα +page_rotate_cw.title=Δεξιόστροφη περιστροφή +page_rotate_cw_label=Δεξιόστροφη περιστροφή +page_rotate_ccw.title=Αριστερόστροφη περιστροφή +page_rotate_ccw_label=Αριστερόστροφη περιστροφή + +cursor_text_select_tool.title=Ενεργοποίηση εργαλείου επιλογής κειμένου +cursor_text_select_tool_label=Εργαλείο επιλογής κειμένου +cursor_hand_tool.title=Ενεργοποίηση εργαλείου χεριού +cursor_hand_tool_label=Εργαλείο χεριού + +scroll_page.title=Χρήση κύλισης σελίδας +scroll_page_label=Κύλιση σελίδας +scroll_vertical.title=Χρήση κάθετης κύλισης +scroll_vertical_label=Κάθετη κύλιση +scroll_horizontal.title=Χρήση οριζόντιας κύλισης +scroll_horizontal_label=Οριζόντια κύλιση +scroll_wrapped.title=Χρήση κυκλικής κύλισης +scroll_wrapped_label=Κυκλική κύλιση + +spread_none.title=Να μην γίνει σύνδεση επεκτάσεων σελίδων +spread_none_label=Χωρίς επεκτάσεις +spread_odd.title=Σύνδεση επεκτάσεων σελίδων ξεκινώντας από τις μονές σελίδες +spread_odd_label=Μονές επεκτάσεις +spread_even.title=Σύνδεση επεκτάσεων σελίδων ξεκινώντας από τις ζυγές σελίδες +spread_even_label=Ζυγές επεκτάσεις + +# Document properties dialog box +document_properties.title=Ιδιότητες εγγράφου… +document_properties_label=Ιδιότητες εγγράφου… +document_properties_file_name=Όνομα αρχείου: +document_properties_file_size=Μέγεθος αρχείου: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Τίτλος: +document_properties_author=Συγγραφέας: +document_properties_subject=Θέμα: +document_properties_keywords=Λέξεις-κλειδιά: +document_properties_creation_date=Ημερομηνία δημιουργίας: +document_properties_modification_date=Ημερομηνία τροποποίησης: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Δημιουργός: +document_properties_producer=Παραγωγός PDF: +document_properties_version=Έκδοση PDF: +document_properties_page_count=Αριθμός σελίδων: +document_properties_page_size=Μέγεθος σελίδας: +document_properties_page_size_unit_inches=ίντσες +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=κατακόρυφα +document_properties_page_size_orientation_landscape=οριζόντια +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Επιστολή +document_properties_page_size_name_legal=Τύπου Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Ταχεία προβολή ιστού: +document_properties_linearized_yes=Ναι +document_properties_linearized_no=Όχι +document_properties_close=Κλείσιμο + +print_progress_message=Προετοιμασία του εγγράφου για εκτύπωση… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Ακύρωση + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=(Απ)ενεργοποίηση πλαϊνής γραμμής +toggle_sidebar_notification2.title=(Απ)ενεργοποίηση πλαϊνής γραμμής (το έγγραφο περιέχει περίγραμμα/συνημμένα/επίπεδα) +toggle_sidebar_label=(Απ)ενεργοποίηση πλαϊνής γραμμής +document_outline.title=Εμφάνιση διάρθρωσης εγγράφου (διπλό κλικ για ανάπτυξη/σύμπτυξη όλων των στοιχείων) +document_outline_label=Διάρθρωση εγγράφου +attachments.title=Εμφάνιση συνημμένων +attachments_label=Συνημμένα +layers.title=Εμφάνιση επιπέδων (διπλό κλικ για επαναφορά όλων των επιπέδων στην προεπιλεγμένη κατάσταση) +layers_label=Επίπεδα +thumbs.title=Εμφάνιση μικρογραφιών +thumbs_label=Μικρογραφίες +current_outline_item.title=Εύρεση τρέχοντος στοιχείου διάρθρωσης +current_outline_item_label=Τρέχον στοιχείο διάρθρωσης +findbar.title=Εύρεση στο έγγραφο +findbar_label=Εύρεση + +additional_layers=Επιπρόσθετα επίπεδα +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Σελίδα {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Σελίδα {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Μικρογραφία σελίδας {{page}} + +# Find panel button title and messages +find_input.title=Εύρεση +find_input.placeholder=Εύρεση στο έγγραφο… +find_previous.title=Εύρεση της προηγούμενης εμφάνισης της φράσης +find_previous_label=Προηγούμενο +find_next.title=Εύρεση της επόμενης εμφάνισης της φράσης +find_next_label=Επόμενο +find_highlight=Επισήμανση όλων +find_match_case_label=Συμφωνία πεζών/κεφαλαίων +find_entire_word_label=Ολόκληρες λέξεις +find_reached_top=Φτάσατε στην αρχή του εγγράφου, συνέχεια από το τέλος +find_reached_bottom=Φτάσατε στο τέλος του εγγράφου, συνέχεια από την αρχή +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} από {{total}} αντιστοιχία +find_match_count[two]={{current}} από {{total}} αντιστοιχίες +find_match_count[few]={{current}} από {{total}} αντιστοιχίες +find_match_count[many]={{current}} από {{total}} αντιστοιχίες +find_match_count[other]={{current}} από {{total}} αντιστοιχίες +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Περισσότερες από {{limit}} αντιστοιχίες +find_match_count_limit[one]=Περισσότερες από {{limit}} αντιστοιχία +find_match_count_limit[two]=Περισσότερες από {{limit}} αντιστοιχίες +find_match_count_limit[few]=Περισσότερες από {{limit}} αντιστοιχίες +find_match_count_limit[many]=Περισσότερες από {{limit}} αντιστοιχίες +find_match_count_limit[other]=Περισσότερες από {{limit}} αντιστοιχίες +find_not_found=Η φράση δεν βρέθηκε + +# Error panel labels +error_more_info=Περισσότερες πληροφορίες +error_less_info=Λιγότερες πληροφορίες +error_close=Κλείσιμο +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (έκδοση: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Μήνυμα: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Στοίβα: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Αρχείο: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Γραμμή: {{line}} +rendering_error=Προέκυψε σφάλμα κατά την εμφάνιση της σελίδας. + +# Predefined zoom values +page_scale_width=Πλάτος σελίδας +page_scale_fit=Μέγεθος σελίδας +page_scale_auto=Αυτόματο ζουμ +page_scale_actual=Πραγματικό μέγεθος +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Φόρτωση… +loading_error=Προέκυψε σφάλμα κατά τη φόρτωση του PDF. +invalid_file_error=Μη έγκυρο ή κατεστραμμένο αρχείο PDF. +missing_file_error=Λείπει αρχείο PDF. +unexpected_response_error=Μη αναμενόμενη απόκριση από το διακομιστή. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Σχόλιο «{{type}}»] +password_label=Εισαγάγετε τον κωδικό πρόσβασης για να ανοίξετε αυτό το αρχείο PDF. +password_invalid=Μη έγκυρος κωδικός πρόσβασης. Παρακαλώ δοκιμάστε ξανά. +password_ok=OK +password_cancel=Ακύρωση + +printing_not_supported=Προειδοποίηση: Η εκτύπωση δεν υποστηρίζεται πλήρως από το πρόγραμμα περιήγησης. +printing_not_ready=Προειδοποίηση: Το PDF δεν φορτώθηκε πλήρως για εκτύπωση. +web_fonts_disabled=Οι γραμματοσειρές ιστού είναι ανενεργές: δεν είναι δυνατή η χρήση των ενσωματωμένων γραμματοσειρών PDF. diff --git a/app/assets/javascripts/publications/locale/en-CA/viewer.properties b/app/assets/javascripts/publications/locale/en-CA/viewer.properties new file mode 100644 index 0000000..08db294 --- /dev/null +++ b/app/assets/javascripts/publications/locale/en-CA/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Previous Page +previous_label=Previous +next.title=Next Page +next_label=Next + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Page +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=of {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} of {{pagesCount}}) + +zoom_out.title=Zoom Out +zoom_out_label=Zoom Out +zoom_in.title=Zoom In +zoom_in_label=Zoom In +zoom.title=Zoom +presentation_mode.title=Switch to Presentation Mode +presentation_mode_label=Presentation Mode +open_file.title=Open File +open_file_label=Open +print.title=Print +print_label=Print +download.title=Download +download_label=Download +bookmark.title=Current view (copy or open in new window) +bookmark_label=Current View + +# Secondary toolbar and context menu +tools.title=Tools +tools_label=Tools +first_page.title=Go to First Page +first_page_label=Go to First Page +last_page.title=Go to Last Page +last_page_label=Go to Last Page +page_rotate_cw.title=Rotate Clockwise +page_rotate_cw_label=Rotate Clockwise +page_rotate_ccw.title=Rotate Counterclockwise +page_rotate_ccw_label=Rotate Counterclockwise + +cursor_text_select_tool.title=Enable Text Selection Tool +cursor_text_select_tool_label=Text Selection Tool +cursor_hand_tool.title=Enable Hand Tool +cursor_hand_tool_label=Hand Tool + +scroll_page.title=Use Page Scrolling +scroll_page_label=Page Scrolling +scroll_vertical.title=Use Vertical Scrolling +scroll_vertical_label=Vertical Scrolling +scroll_horizontal.title=Use Horizontal Scrolling +scroll_horizontal_label=Horizontal Scrolling +scroll_wrapped.title=Use Wrapped Scrolling +scroll_wrapped_label=Wrapped Scrolling + +spread_none.title=Do not join page spreads +spread_none_label=No Spreads +spread_odd.title=Join page spreads starting with odd-numbered pages +spread_odd_label=Odd Spreads +spread_even.title=Join page spreads starting with even-numbered pages +spread_even_label=Even Spreads + +# Document properties dialog box +document_properties.title=Document Properties… +document_properties_label=Document Properties… +document_properties_file_name=File name: +document_properties_file_size=File size: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} kB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Title: +document_properties_author=Author: +document_properties_subject=Subject: +document_properties_keywords=Keywords: +document_properties_creation_date=Creation Date: +document_properties_modification_date=Modification Date: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Creator: +document_properties_producer=PDF Producer: +document_properties_version=PDF Version: +document_properties_page_count=Page Count: +document_properties_page_size=Page Size: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=portrait +document_properties_page_size_orientation_landscape=landscape +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Fast Web View: +document_properties_linearized_yes=Yes +document_properties_linearized_no=No +document_properties_close=Close + +print_progress_message=Preparing document for printing… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cancel + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Toggle Sidebar +toggle_sidebar_notification2.title=Toggle Sidebar (document contains outline/attachments/layers) +toggle_sidebar_label=Toggle Sidebar +document_outline.title=Show Document Outline (double-click to expand/collapse all items) +document_outline_label=Document Outline +attachments.title=Show Attachments +attachments_label=Attachments +layers.title=Show Layers (double-click to reset all layers to the default state) +layers_label=Layers +thumbs.title=Show Thumbnails +thumbs_label=Thumbnails +current_outline_item.title=Find Current Outline Item +current_outline_item_label=Current Outline Item +findbar.title=Find in Document +findbar_label=Find + +additional_layers=Additional Layers +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Page {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Page {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Thumbnail of Page {{page}} + +# Find panel button title and messages +find_input.title=Find +find_input.placeholder=Find in document… +find_previous.title=Find the previous occurrence of the phrase +find_previous_label=Previous +find_next.title=Find the next occurrence of the phrase +find_next_label=Next +find_highlight=Highlight All +find_match_case_label=Match Case +find_entire_word_label=Whole Words +find_reached_top=Reached top of document, continued from bottom +find_reached_bottom=Reached end of document, continued from top +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} of {{total}} match +find_match_count[two]={{current}} of {{total}} matches +find_match_count[few]={{current}} of {{total}} matches +find_match_count[many]={{current}} of {{total}} matches +find_match_count[other]={{current}} of {{total}} matches +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=More than {{limit}} matches +find_match_count_limit[one]=More than {{limit}} match +find_match_count_limit[two]=More than {{limit}} matches +find_match_count_limit[few]=More than {{limit}} matches +find_match_count_limit[many]=More than {{limit}} matches +find_match_count_limit[other]=More than {{limit}} matches +find_not_found=Phrase not found + +# Error panel labels +error_more_info=More Information +error_less_info=Less Information +error_close=Close +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Message: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=File: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Line: {{line}} +rendering_error=An error occurred while rendering the page. + +# Predefined zoom values +page_scale_width=Page Width +page_scale_fit=Page Fit +page_scale_auto=Automatic Zoom +page_scale_actual=Actual Size +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Loading… +loading_error=An error occurred while loading the PDF. +invalid_file_error=Invalid or corrupted PDF file. +missing_file_error=Missing PDF file. +unexpected_response_error=Unexpected server response. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Annotation] +password_label=Enter the password to open this PDF file. +password_invalid=Invalid password. Please try again. +password_ok=OK +password_cancel=Cancel + +printing_not_supported=Warning: Printing is not fully supported by this browser. +printing_not_ready=Warning: The PDF is not fully loaded for printing. +web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts. diff --git a/app/assets/javascripts/publications/locale/en-GB/viewer.properties b/app/assets/javascripts/publications/locale/en-GB/viewer.properties new file mode 100644 index 0000000..2cfdda6 --- /dev/null +++ b/app/assets/javascripts/publications/locale/en-GB/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Previous Page +previous_label=Previous +next.title=Next Page +next_label=Next + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Page +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=of {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} of {{pagesCount}}) + +zoom_out.title=Zoom Out +zoom_out_label=Zoom Out +zoom_in.title=Zoom In +zoom_in_label=Zoom In +zoom.title=Zoom +presentation_mode.title=Switch to Presentation Mode +presentation_mode_label=Presentation Mode +open_file.title=Open File +open_file_label=Open +print.title=Print +print_label=Print +download.title=Download +download_label=Download +bookmark.title=Current view (copy or open in new window) +bookmark_label=Current View + +# Secondary toolbar and context menu +tools.title=Tools +tools_label=Tools +first_page.title=Go to First Page +first_page_label=Go to First Page +last_page.title=Go to Last Page +last_page_label=Go to Last Page +page_rotate_cw.title=Rotate Clockwise +page_rotate_cw_label=Rotate Clockwise +page_rotate_ccw.title=Rotate Anti-Clockwise +page_rotate_ccw_label=Rotate Anti-Clockwise + +cursor_text_select_tool.title=Enable Text Selection Tool +cursor_text_select_tool_label=Text Selection Tool +cursor_hand_tool.title=Enable Hand Tool +cursor_hand_tool_label=Hand Tool + +scroll_page.title=Use Page Scrolling +scroll_page_label=Page Scrolling +scroll_vertical.title=Use Vertical Scrolling +scroll_vertical_label=Vertical Scrolling +scroll_horizontal.title=Use Horizontal Scrolling +scroll_horizontal_label=Horizontal Scrolling +scroll_wrapped.title=Use Wrapped Scrolling +scroll_wrapped_label=Wrapped Scrolling + +spread_none.title=Do not join page spreads +spread_none_label=No Spreads +spread_odd.title=Join page spreads starting with odd-numbered pages +spread_odd_label=Odd Spreads +spread_even.title=Join page spreads starting with even-numbered pages +spread_even_label=Even Spreads + +# Document properties dialog box +document_properties.title=Document Properties… +document_properties_label=Document Properties… +document_properties_file_name=File name: +document_properties_file_size=File size: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} kB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Title: +document_properties_author=Author: +document_properties_subject=Subject: +document_properties_keywords=Keywords: +document_properties_creation_date=Creation Date: +document_properties_modification_date=Modification Date: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Creator: +document_properties_producer=PDF Producer: +document_properties_version=PDF Version: +document_properties_page_count=Page Count: +document_properties_page_size=Page Size: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=portrait +document_properties_page_size_orientation_landscape=landscape +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Fast Web View: +document_properties_linearized_yes=Yes +document_properties_linearized_no=No +document_properties_close=Close + +print_progress_message=Preparing document for printing… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cancel + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Toggle Sidebar +toggle_sidebar_notification2.title=Toggle Sidebar (document contains outline/attachments/layers) +toggle_sidebar_label=Toggle Sidebar +document_outline.title=Show Document Outline (double-click to expand/collapse all items) +document_outline_label=Document Outline +attachments.title=Show Attachments +attachments_label=Attachments +layers.title=Show Layers (double-click to reset all layers to the default state) +layers_label=Layers +thumbs.title=Show Thumbnails +thumbs_label=Thumbnails +current_outline_item.title=Find Current Outline Item +current_outline_item_label=Current Outline Item +findbar.title=Find in Document +findbar_label=Find + +additional_layers=Additional Layers +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Page {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Page {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Thumbnail of Page {{page}} + +# Find panel button title and messages +find_input.title=Find +find_input.placeholder=Find in document… +find_previous.title=Find the previous occurrence of the phrase +find_previous_label=Previous +find_next.title=Find the next occurrence of the phrase +find_next_label=Next +find_highlight=Highlight All +find_match_case_label=Match Case +find_match_diacritics_label=Match Diacritics +find_entire_word_label=Whole Words +find_reached_top=Reached top of document, continued from bottom +find_reached_bottom=Reached end of document, continued from top +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} of {{total}} match +find_match_count[two]={{current}} of {{total}} matches +find_match_count[few]={{current}} of {{total}} matches +find_match_count[many]={{current}} of {{total}} matches +find_match_count[other]={{current}} of {{total}} matches +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=More than {{limit}} matches +find_match_count_limit[one]=More than {{limit}} match +find_match_count_limit[two]=More than {{limit}} matches +find_match_count_limit[few]=More than {{limit}} matches +find_match_count_limit[many]=More than {{limit}} matches +find_match_count_limit[other]=More than {{limit}} matches +find_not_found=Phrase not found + +# Error panel labels +error_more_info=More Information +error_less_info=Less Information +error_close=Close +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Message: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=File: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Line: {{line}} +rendering_error=An error occurred while rendering the page. + +# Predefined zoom values +page_scale_width=Page Width +page_scale_fit=Page Fit +page_scale_auto=Automatic Zoom +page_scale_actual=Actual Size +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Loading… +loading_error=An error occurred while loading the PDF. +invalid_file_error=Invalid or corrupted PDF file. +missing_file_error=Missing PDF file. +unexpected_response_error=Unexpected server response. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Annotation] +password_label=Enter the password to open this PDF file. +password_invalid=Invalid password. Please try again. +password_ok=OK +password_cancel=Cancel + +printing_not_supported=Warning: Printing is not fully supported by this browser. +printing_not_ready=Warning: The PDF is not fully loaded for printing. +web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts. diff --git a/app/assets/javascripts/publications/locale/en-US/viewer.properties b/app/assets/javascripts/publications/locale/en-US/viewer.properties new file mode 100644 index 0000000..2eb5a8d --- /dev/null +++ b/app/assets/javascripts/publications/locale/en-US/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Previous Page +previous_label=Previous +next.title=Next Page +next_label=Next + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Page +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=of {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} of {{pagesCount}}) + +zoom_out.title=Zoom Out +zoom_out_label=Zoom Out +zoom_in.title=Zoom In +zoom_in_label=Zoom In +zoom.title=Zoom +presentation_mode.title=Switch to Presentation Mode +presentation_mode_label=Presentation Mode +open_file.title=Open File +open_file_label=Open +print.title=Print +print_label=Print +download.title=Download +download_label=Download +bookmark.title=Current view (copy or open in new window) +bookmark_label=Current View + +# Secondary toolbar and context menu +tools.title=Tools +tools_label=Tools +first_page.title=Go to First Page +first_page_label=Go to First Page +last_page.title=Go to Last Page +last_page_label=Go to Last Page +page_rotate_cw.title=Rotate Clockwise +page_rotate_cw_label=Rotate Clockwise +page_rotate_ccw.title=Rotate Counterclockwise +page_rotate_ccw_label=Rotate Counterclockwise + +cursor_text_select_tool.title=Enable Text Selection Tool +cursor_text_select_tool_label=Text Selection Tool +cursor_hand_tool.title=Enable Hand Tool +cursor_hand_tool_label=Hand Tool + +scroll_page.title=Use Page Scrolling +scroll_page_label=Page Scrolling +scroll_vertical.title=Use Vertical Scrolling +scroll_vertical_label=Vertical Scrolling +scroll_horizontal.title=Use Horizontal Scrolling +scroll_horizontal_label=Horizontal Scrolling +scroll_wrapped.title=Use Wrapped Scrolling +scroll_wrapped_label=Wrapped Scrolling + +spread_none.title=Do not join page spreads +spread_none_label=No Spreads +spread_odd.title=Join page spreads starting with odd-numbered pages +spread_odd_label=Odd Spreads +spread_even.title=Join page spreads starting with even-numbered pages +spread_even_label=Even Spreads + +# Document properties dialog box +document_properties.title=Document Properties… +document_properties_label=Document Properties… +document_properties_file_name=File name: +document_properties_file_size=File size: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Title: +document_properties_author=Author: +document_properties_subject=Subject: +document_properties_keywords=Keywords: +document_properties_creation_date=Creation Date: +document_properties_modification_date=Modification Date: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Creator: +document_properties_producer=PDF Producer: +document_properties_version=PDF Version: +document_properties_page_count=Page Count: +document_properties_page_size=Page Size: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=portrait +document_properties_page_size_orientation_landscape=landscape +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Fast Web View: +document_properties_linearized_yes=Yes +document_properties_linearized_no=No +document_properties_close=Close + +print_progress_message=Preparing document for printing… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cancel + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Toggle Sidebar +toggle_sidebar_notification2.title=Toggle Sidebar (document contains outline/attachments/layers) +toggle_sidebar_label=Toggle Sidebar +document_outline.title=Show Document Outline (double-click to expand/collapse all items) +document_outline_label=Document Outline +attachments.title=Show Attachments +attachments_label=Attachments +layers.title=Show Layers (double-click to reset all layers to the default state) +layers_label=Layers +thumbs.title=Show Thumbnails +thumbs_label=Thumbnails +current_outline_item.title=Find Current Outline Item +current_outline_item_label=Current Outline Item +findbar.title=Find in Document +findbar_label=Find + +additional_layers=Additional Layers +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Page {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Page {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Thumbnail of Page {{page}} + +# Find panel button title and messages +find_input.title=Find +find_input.placeholder=Find in document… +find_previous.title=Find the previous occurrence of the phrase +find_previous_label=Previous +find_next.title=Find the next occurrence of the phrase +find_next_label=Next +find_highlight=Highlight All +find_match_case_label=Match Case +find_match_diacritics_label=Match Diacritics +find_entire_word_label=Whole Words +find_reached_top=Reached top of document, continued from bottom +find_reached_bottom=Reached end of document, continued from top +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} of {{total}} match +find_match_count[two]={{current}} of {{total}} matches +find_match_count[few]={{current}} of {{total}} matches +find_match_count[many]={{current}} of {{total}} matches +find_match_count[other]={{current}} of {{total}} matches +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=More than {{limit}} matches +find_match_count_limit[one]=More than {{limit}} match +find_match_count_limit[two]=More than {{limit}} matches +find_match_count_limit[few]=More than {{limit}} matches +find_match_count_limit[many]=More than {{limit}} matches +find_match_count_limit[other]=More than {{limit}} matches +find_not_found=Phrase not found + +# Error panel labels +error_more_info=More Information +error_less_info=Less Information +error_close=Close +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Message: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=File: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Line: {{line}} +rendering_error=An error occurred while rendering the page. + +# Predefined zoom values +page_scale_width=Page Width +page_scale_fit=Page Fit +page_scale_auto=Automatic Zoom +page_scale_actual=Actual Size +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Loading… +loading_error=An error occurred while loading the PDF. +invalid_file_error=Invalid or corrupted PDF file. +missing_file_error=Missing PDF file. +unexpected_response_error=Unexpected server response. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Annotation] +password_label=Enter the password to open this PDF file. +password_invalid=Invalid password. Please try again. +password_ok=OK +password_cancel=Cancel + +printing_not_supported=Warning: Printing is not fully supported by this browser. +printing_not_ready=Warning: The PDF is not fully loaded for printing. +web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts. diff --git a/app/assets/javascripts/publications/locale/eo/viewer.properties b/app/assets/javascripts/publications/locale/eo/viewer.properties new file mode 100644 index 0000000..004307e --- /dev/null +++ b/app/assets/javascripts/publications/locale/eo/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Antaŭa paĝo +previous_label=Malantaŭen +next.title=Venonta paĝo +next_label=Antaŭen + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Paĝo +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=el {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} el {{pagesCount}}) + +zoom_out.title=Malpligrandigi +zoom_out_label=Malpligrandigi +zoom_in.title=Pligrandigi +zoom_in_label=Pligrandigi +zoom.title=Pligrandigilo +presentation_mode.title=Iri al prezenta reĝimo +presentation_mode_label=Prezenta reĝimo +open_file.title=Malfermi dosieron +open_file_label=Malfermi +print.title=Presi +print_label=Presi +download.title=Elŝuti +download_label=Elŝuti +bookmark.title=Nuna vido (kopii aŭ malfermi en nova fenestro) +bookmark_label=Nuna vido + +# Secondary toolbar and context menu +tools.title=Iloj +tools_label=Iloj +first_page.title=Iri al la unua paĝo +first_page_label=Iri al la unua paĝo +last_page.title=Iri al la lasta paĝo +last_page_label=Iri al la lasta paĝo +page_rotate_cw.title=Rotaciigi dekstrume +page_rotate_cw_label=Rotaciigi dekstrume +page_rotate_ccw.title=Rotaciigi maldekstrume +page_rotate_ccw_label=Rotaciigi maldekstrume + +cursor_text_select_tool.title=Aktivigi tekstan elektilon +cursor_text_select_tool_label=Teksta elektilo +cursor_hand_tool.title=Aktivigi ilon de mano +cursor_hand_tool_label=Ilo de mano + +scroll_page.title=Uzi ŝovadon de paĝo +scroll_page_label=Ŝovado de paĝo +scroll_vertical.title=Uzi vertikalan ŝovadon +scroll_vertical_label=Vertikala ŝovado +scroll_horizontal.title=Uzi horizontalan ŝovadon +scroll_horizontal_label=Horizontala ŝovado +scroll_wrapped.title=Uzi ambaŭdirektan ŝovadon +scroll_wrapped_label=Ambaŭdirekta ŝovado + +spread_none.title=Ne montri paĝojn po du +spread_none_label=Unupaĝa vido +spread_odd.title=Kunigi paĝojn komencante per nepara paĝo +spread_odd_label=Po du paĝoj, neparaj maldekstre +spread_even.title=Kunigi paĝojn komencante per para paĝo +spread_even_label=Po du paĝoj, paraj maldekstre + +# Document properties dialog box +document_properties.title=Atributoj de dokumento… +document_properties_label=Atributoj de dokumento… +document_properties_file_name=Nomo de dosiero: +document_properties_file_size=Grando de dosiero: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KO ({{size_b}} oktetoj) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MO ({{size_b}} oktetoj) +document_properties_title=Titolo: +document_properties_author=Aŭtoro: +document_properties_subject=Temo: +document_properties_keywords=Ŝlosilvorto: +document_properties_creation_date=Dato de kreado: +document_properties_modification_date=Dato de modifo: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Kreinto: +document_properties_producer=Produktinto de PDF: +document_properties_version=Versio de PDF: +document_properties_page_count=Nombro de paĝoj: +document_properties_page_size=Grando de paĝo: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=vertikala +document_properties_page_size_orientation_landscape=horizontala +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letera +document_properties_page_size_name_legal=Jura +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Rapida tekstaĵa vido: +document_properties_linearized_yes=Jes +document_properties_linearized_no=Ne +document_properties_close=Fermi + +print_progress_message=Preparo de dokumento por presi ĝin … +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Nuligi + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Montri/kaŝi flankan strion +toggle_sidebar_notification2.title=Montri/kaŝi flankan strion (la dokumento enhavas konturon/kunsendaĵojn/tavolojn) +toggle_sidebar_label=Montri/kaŝi flankan strion +document_outline.title=Montri la konturon de dokumento (alklaku duoble por faldi/malfaldi ĉiujn elementojn) +document_outline_label=Konturo de dokumento +attachments.title=Montri kunsendaĵojn +attachments_label=Kunsendaĵojn +layers.title=Montri tavolojn (duoble alklaku por remeti ĉiujn tavolojn en la norman staton) +layers_label=Tavoloj +thumbs.title=Montri miniaturojn +thumbs_label=Miniaturoj +current_outline_item.title=Trovi nunan konturan elementon +current_outline_item_label=Nuna kontura elemento +findbar.title=Serĉi en dokumento +findbar_label=Serĉi + +additional_layers=Aldonaj tavoloj +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Paĝo {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Paĝo {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniaturo de paĝo {{page}} + +# Find panel button title and messages +find_input.title=Serĉi +find_input.placeholder=Serĉi en dokumento… +find_previous.title=Serĉi la antaŭan aperon de la frazo +find_previous_label=Malantaŭen +find_next.title=Serĉi la venontan aperon de la frazo +find_next_label=Antaŭen +find_highlight=Elstarigi ĉiujn +find_match_case_label=Distingi inter majuskloj kaj minuskloj +find_entire_word_label=Tutaj vortoj +find_reached_top=Komenco de la dokumento atingita, daŭrigado ekde la fino +find_reached_bottom=Fino de la dokumento atingita, daŭrigado ekde la komenco +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} el {{total}} kongruo +find_match_count[two]={{current}} el {{total}} kongruoj +find_match_count[few]={{current}} el {{total}} kongruoj +find_match_count[many]={{current}} el {{total}} kongruoj +find_match_count[other]={{current}} el {{total}} kongruoj +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Pli ol {{limit}} kongruoj +find_match_count_limit[one]=Pli ol {{limit}} kongruo +find_match_count_limit[two]=Pli ol {{limit}} kongruoj +find_match_count_limit[few]=Pli ol {{limit}} kongruoj +find_match_count_limit[many]=Pli ol {{limit}} kongruoj +find_match_count_limit[other]=Pli ol {{limit}} kongruoj +find_not_found=Frazo ne trovita + +# Error panel labels +error_more_info=Pli da informo +error_less_info=Malpli da informo +error_close=Fermi +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mesaĝo: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stako: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Dosiero: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linio: {{line}} +rendering_error=Okazis eraro dum la montro de la paĝo. + +# Predefined zoom values +page_scale_width=Larĝo de paĝo +page_scale_fit=Adapti paĝon +page_scale_auto=Aŭtomata skalo +page_scale_actual=Reala grando +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Ŝargado… +loading_error=Okazis eraro dum la ŝargado de la PDF dosiero. +invalid_file_error=Nevalida aŭ difektita PDF dosiero. +missing_file_error=Mankas dosiero PDF. +unexpected_response_error=Neatendita respondo de servilo. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Prinoto: {{type}}] +password_label=Tajpu pasvorton por malfermi tiun ĉi dosieron PDF. +password_invalid=Nevalida pasvorto. Bonvolu provi denove. +password_ok=Akcepti +password_cancel=Nuligi + +printing_not_supported=Averto: tiu ĉi retumilo ne plene subtenas presadon. +printing_not_ready=Averto: la PDF dosiero ne estas plene ŝargita por presado. +web_fonts_disabled=Neaktivaj teksaĵaj tiparoj: ne elbas uzi enmetitajn tiparojn de PDF. diff --git a/app/assets/javascripts/publications/locale/es-AR/viewer.properties b/app/assets/javascripts/publications/locale/es-AR/viewer.properties new file mode 100644 index 0000000..044b9ea --- /dev/null +++ b/app/assets/javascripts/publications/locale/es-AR/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Página anterior +previous_label=Anterior +next.title=Página siguiente +next_label=Siguiente + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Página +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=de {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=( {{pageNumber}} de {{pagesCount}} ) + +zoom_out.title=Alejar +zoom_out_label=Alejar +zoom_in.title=Acercar +zoom_in_label=Acercar +zoom.title=Zoom +presentation_mode.title=Cambiar a modo presentación +presentation_mode_label=Modo presentación +open_file.title=Abrir archivo +open_file_label=Abrir +print.title=Imprimir +print_label=Imprimir +download.title=Descargar +download_label=Descargar +bookmark.title=Vista actual (copiar o abrir en nueva ventana) +bookmark_label=Vista actual + +# Secondary toolbar and context menu +tools.title=Herramientas +tools_label=Herramientas +first_page.title=Ir a primera página +first_page_label=Ir a primera página +last_page.title=Ir a última página +last_page_label=Ir a última página +page_rotate_cw.title=Rotar horario +page_rotate_cw_label=Rotar horario +page_rotate_ccw.title=Rotar antihorario +page_rotate_ccw_label=Rotar antihorario + +cursor_text_select_tool.title=Habilitar herramienta de selección de texto +cursor_text_select_tool_label=Herramienta de selección de texto +cursor_hand_tool.title=Habilitar herramienta mano +cursor_hand_tool_label=Herramienta mano + +scroll_page.title=Usar desplazamiento de página +scroll_page_label=Desplazamiento de página +scroll_vertical.title=Usar desplazamiento vertical +scroll_vertical_label=Desplazamiento vertical +scroll_horizontal.title=Usar desplazamiento vertical +scroll_horizontal_label=Desplazamiento horizontal +scroll_wrapped.title=Usar desplazamiento encapsulado +scroll_wrapped_label=Desplazamiento encapsulado + +spread_none.title=No unir páginas dobles +spread_none_label=Sin dobles +spread_odd.title=Unir páginas dobles comenzando con las impares +spread_odd_label=Dobles impares +spread_even.title=Unir páginas dobles comenzando con las pares +spread_even_label=Dobles pares + +# Document properties dialog box +document_properties.title=Propiedades del documento… +document_properties_label=Propiedades del documento… +document_properties_file_name=Nombre de archivo: +document_properties_file_size=Tamaño de archovo: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Título: +document_properties_author=Autor: +document_properties_subject=Asunto: +document_properties_keywords=Palabras clave: +document_properties_creation_date=Fecha de creación: +document_properties_modification_date=Fecha de modificación: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Creador: +document_properties_producer=PDF Productor: +document_properties_version=Versión de PDF: +document_properties_page_count=Cantidad de páginas: +document_properties_page_size=Tamaño de página: +document_properties_page_size_unit_inches=en +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=normal +document_properties_page_size_orientation_landscape=apaisado +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Carta +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Vista rápida de la Web: +document_properties_linearized_yes=Sí +document_properties_linearized_no=No +document_properties_close=Cerrar + +print_progress_message=Preparando documento para imprimir… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cancelar + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Alternar barra lateral +toggle_sidebar_notification2.title=Alternar barra lateral (el documento contiene esquemas/adjuntos/capas) +toggle_sidebar_label=Alternar barra lateral +document_outline.title=Mostrar esquema del documento (doble clic para expandir/colapsar todos los ítems) +document_outline_label=Esquema del documento +attachments.title=Mostrar adjuntos +attachments_label=Adjuntos +layers.title=Mostrar capas (doble clic para restablecer todas las capas al estado predeterminado) +layers_label=Capas +thumbs.title=Mostrar miniaturas +thumbs_label=Miniaturas +current_outline_item.title=Buscar elemento de esquema actual +current_outline_item_label=Elemento de esquema actual +findbar.title=Buscar en documento +findbar_label=Buscar + +additional_layers=Capas adicionales +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Página {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Página {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura de página {{page}} + +# Find panel button title and messages +find_input.title=Buscar +find_input.placeholder=Buscar en documento… +find_previous.title=Buscar la aparición anterior de la frase +find_previous_label=Anterior +find_next.title=Buscar la siguiente aparición de la frase +find_next_label=Siguiente +find_highlight=Resaltar todo +find_match_case_label=Coincidir mayúsculas +find_match_diacritics_label=Coincidir diacríticos +find_entire_word_label=Palabras completas +find_reached_top=Inicio de documento alcanzado, continuando desde abajo +find_reached_bottom=Fin de documento alcanzando, continuando desde arriba +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} de {{total}} coincidencias +find_match_count[two]={{current}} de {{total}} coincidencias +find_match_count[few]={{current}} de {{total}} coincidencias +find_match_count[many]={{current}} de {{total}} coincidencias +find_match_count[other]={{current}} de {{total}} coincidencias +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Más de {{limit}} coincidencias +find_match_count_limit[one]=Más de {{limit}} coinciden +find_match_count_limit[two]=Más de {{limit}} coincidencias +find_match_count_limit[few]=Más de {{limit}} coincidencias +find_match_count_limit[many]=Más de {{limit}} coincidencias +find_match_count_limit[other]=Más de {{limit}} coincidencias +find_not_found=Frase no encontrada + +# Error panel labels +error_more_info=Más información +error_less_info=Menos información +error_close=Cerrar +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mensaje: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Archivo: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Línea: {{line}} +rendering_error=Ocurrió un error al dibujar la página. + +# Predefined zoom values +page_scale_width=Ancho de página +page_scale_fit=Ajustar página +page_scale_auto=Zoom automático +page_scale_actual=Tamaño real +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Cargando… +loading_error=Ocurrió un error al cargar el PDF. +invalid_file_error=Archivo PDF no válido o cocrrupto. +missing_file_error=Archivo PDF faltante. +unexpected_response_error=Respuesta del servidor inesperada. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Anotación] +password_label=Ingrese la contraseña para abrir este archivo PDF +password_invalid=Contraseña inválida. Intente nuevamente. +password_ok=Aceptar +password_cancel=Cancelar + +printing_not_supported=Advertencia: La impresión no está totalmente soportada por este navegador. +printing_not_ready=Advertencia: El PDF no está completamente cargado para impresión. +web_fonts_disabled=Tipografía web deshabilitada: no se pueden usar tipos incrustados en PDF. diff --git a/app/assets/javascripts/publications/locale/es-CL/viewer.properties b/app/assets/javascripts/publications/locale/es-CL/viewer.properties new file mode 100644 index 0000000..0d23f2e --- /dev/null +++ b/app/assets/javascripts/publications/locale/es-CL/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Página anterior +previous_label=Anterior +next.title=Página siguiente +next_label=Siguiente + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Página +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=de {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} de {{pagesCount}}) + +zoom_out.title=Alejar +zoom_out_label=Alejar +zoom_in.title=Acercar +zoom_in_label=Acercar +zoom.title=Ampliación +presentation_mode.title=Cambiar al modo de presentación +presentation_mode_label=Modo de presentación +open_file.title=Abrir archivo +open_file_label=Abrir +print.title=Imprimir +print_label=Imprimir +download.title=Descargar +download_label=Descargar +bookmark.title=Vista actual (copiar o abrir en nueva ventana) +bookmark_label=Vista actual + +# Secondary toolbar and context menu +tools.title=Herramientas +tools_label=Herramientas +first_page.title=Ir a la primera página +first_page_label=Ir a la primera página +last_page.title=Ir a la última página +last_page_label=Ir a la última página +page_rotate_cw.title=Girar a la derecha +page_rotate_cw_label=Girar a la derecha +page_rotate_ccw.title=Girar a la izquierda +page_rotate_ccw_label=Girar a la izquierda + +cursor_text_select_tool.title=Activar la herramienta de selección de texto +cursor_text_select_tool_label=Herramienta de selección de texto +cursor_hand_tool.title=Activar la herramienta de mano +cursor_hand_tool_label=Herramienta de mano + +scroll_page.title=Usar desplazamiento de página +scroll_page_label=Desplazamiento de página +scroll_vertical.title=Usar desplazamiento vertical +scroll_vertical_label=Desplazamiento vertical +scroll_horizontal.title=Usar desplazamiento horizontal +scroll_horizontal_label=Desplazamiento horizontal +scroll_wrapped.title=Usar desplazamiento en bloque +scroll_wrapped_label=Desplazamiento en bloque + +spread_none.title=No juntar páginas a modo de libro +spread_none_label=Vista de una página +spread_odd.title=Junta las páginas partiendo con una de número impar +spread_odd_label=Vista de libro impar +spread_even.title=Junta las páginas partiendo con una de número par +spread_even_label=Vista de libro par + +# Document properties dialog box +document_properties.title=Propiedades del documento… +document_properties_label=Propiedades del documento… +document_properties_file_name=Nombre de archivo: +document_properties_file_size=Tamaño del archivo: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Título: +document_properties_author=Autor: +document_properties_subject=Asunto: +document_properties_keywords=Palabras clave: +document_properties_creation_date=Fecha de creación: +document_properties_modification_date=Fecha de modificación: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Creador: +document_properties_producer=Productor del PDF: +document_properties_version=Versión de PDF: +document_properties_page_count=Cantidad de páginas: +document_properties_page_size=Tamaño de la página: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=vertical +document_properties_page_size_orientation_landscape=horizontal +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Carta +document_properties_page_size_name_legal=Oficio +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Vista rápida en Web: +document_properties_linearized_yes=Sí +document_properties_linearized_no=No +document_properties_close=Cerrar + +print_progress_message=Preparando documento para impresión… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cancelar + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Barra lateral +toggle_sidebar_notification2.title=Cambiar barra lateral (índice de contenidos del documento/adjuntos/capas) +toggle_sidebar_label=Mostrar u ocultar la barra lateral +document_outline.title=Mostrar esquema del documento (doble clic para expandir/contraer todos los elementos) +document_outline_label=Esquema del documento +attachments.title=Mostrar adjuntos +attachments_label=Adjuntos +layers.title=Mostrar capas (doble clic para restablecer todas las capas al estado predeterminado) +layers_label=Capas +thumbs.title=Mostrar miniaturas +thumbs_label=Miniaturas +current_outline_item.title=Buscar elemento de esquema actual +current_outline_item_label=Elemento de esquema actual +findbar.title=Buscar en el documento +findbar_label=Buscar + +additional_layers=Capas adicionales +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Página {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Página {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura de la página {{page}} + +# Find panel button title and messages +find_input.title=Encontrar +find_input.placeholder=Encontrar en el documento… +find_previous.title=Buscar la aparición anterior de la frase +find_previous_label=Previo +find_next.title=Buscar la siguiente aparición de la frase +find_next_label=Siguiente +find_highlight=Destacar todos +find_match_case_label=Coincidir mayús./minús. +find_match_diacritics_label=Coincidir diacríticos +find_entire_word_label=Palabras completas +find_reached_top=Se alcanzó el inicio del documento, continuando desde el final +find_reached_bottom=Se alcanzó el final del documento, continuando desde el inicio +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]=Coincidencia {{current}} de {{total}} +find_match_count[two]=Coincidencia {{current}} de {{total}} +find_match_count[few]=Coincidencia {{current}} de {{total}} +find_match_count[many]=Coincidencia {{current}} de {{total}} +find_match_count[other]=Coincidencia {{current}} de {{total}} +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Más de {{limit}} coincidencias +find_match_count_limit[one]=Más de {{limit}} coincidencia +find_match_count_limit[two]=Más de {{limit}} coincidencias +find_match_count_limit[few]=Más de {{limit}} coincidencias +find_match_count_limit[many]=Más de {{limit}} coincidencias +find_match_count_limit[other]=Más de {{limit}} coincidencias +find_not_found=Frase no encontrada + +# Error panel labels +error_more_info=Más información +error_less_info=Menos información +error_close=Cerrar +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (compilación: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mensaje: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Archivo: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Línea: {{line}} +rendering_error=Ocurrió un error al renderizar la página. + +# Predefined zoom values +page_scale_width=Ancho de página +page_scale_fit=Ajuste de página +page_scale_auto=Aumento automático +page_scale_actual=Tamaño actual +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Cargando… +loading_error=Ocurrió un error al cargar el PDF. +invalid_file_error=Archivo PDF inválido o corrupto. +missing_file_error=Falta el archivo PDF. +unexpected_response_error=Respuesta del servidor inesperada. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Anotación] +password_label=Ingrese la contraseña para abrir este archivo PDF. +password_invalid=Contraseña inválida. Por favor, vuelve a intentarlo. +password_ok=Aceptar +password_cancel=Cancelar + +printing_not_supported=Advertencia: Imprimir no está soportado completamente por este navegador. +printing_not_ready=Advertencia: El PDF no está completamente cargado para ser impreso. +web_fonts_disabled=Las tipografías web están desactivadas: imposible usar las fuentes PDF embebidas. diff --git a/app/assets/javascripts/publications/locale/es-ES/viewer.properties b/app/assets/javascripts/publications/locale/es-ES/viewer.properties new file mode 100644 index 0000000..de4bbdf --- /dev/null +++ b/app/assets/javascripts/publications/locale/es-ES/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Página anterior +previous_label=Anterior +next.title=Página siguiente +next_label=Siguiente + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Página +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=de {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} de {{pagesCount}}) + +zoom_out.title=Reducir +zoom_out_label=Reducir +zoom_in.title=Aumentar +zoom_in_label=Aumentar +zoom.title=Tamaño +presentation_mode.title=Cambiar al modo presentación +presentation_mode_label=Modo presentación +open_file.title=Abrir archivo +open_file_label=Abrir +print.title=Imprimir +print_label=Imprimir +download.title=Descargar +download_label=Descargar +bookmark.title=Vista actual (copiar o abrir en una nueva ventana) +bookmark_label=Vista actual + +# Secondary toolbar and context menu +tools.title=Herramientas +tools_label=Herramientas +first_page.title=Ir a la primera página +first_page_label=Ir a la primera página +last_page.title=Ir a la última página +last_page_label=Ir a la última página +page_rotate_cw.title=Rotar en sentido horario +page_rotate_cw_label=Rotar en sentido horario +page_rotate_ccw.title=Rotar en sentido antihorario +page_rotate_ccw_label=Rotar en sentido antihorario + +cursor_text_select_tool.title=Activar herramienta de selección de texto +cursor_text_select_tool_label=Herramienta de selección de texto +cursor_hand_tool.title=Activar herramienta de mano +cursor_hand_tool_label=Herramienta de mano + +scroll_page.title=Usar desplazamiento de página +scroll_page_label=Desplazamiento de página +scroll_vertical.title=Usar desplazamiento vertical +scroll_vertical_label=Desplazamiento vertical +scroll_horizontal.title=Usar desplazamiento horizontal +scroll_horizontal_label=Desplazamiento horizontal +scroll_wrapped.title=Usar desplazamiento en bloque +scroll_wrapped_label=Desplazamiento en bloque + +spread_none.title=No juntar páginas en vista de libro +spread_none_label=Vista de libro +spread_odd.title=Juntar las páginas partiendo de una con número impar +spread_odd_label=Vista de libro impar +spread_even.title=Juntar las páginas partiendo de una con número par +spread_even_label=Vista de libro par + +# Document properties dialog box +document_properties.title=Propiedades del documento… +document_properties_label=Propiedades del documento… +document_properties_file_name=Nombre de archivo: +document_properties_file_size=Tamaño de archivo: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Título: +document_properties_author=Autor: +document_properties_subject=Asunto: +document_properties_keywords=Palabras clave: +document_properties_creation_date=Fecha de creación: +document_properties_modification_date=Fecha de modificación: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Creador: +document_properties_producer=Productor PDF: +document_properties_version=Versión PDF: +document_properties_page_count=Número de páginas: +document_properties_page_size=Tamaño de la página: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=vertical +document_properties_page_size_orientation_landscape=horizontal +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Carta +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Vista rápida de la web: +document_properties_linearized_yes=Sí +document_properties_linearized_no=No +document_properties_close=Cerrar + +print_progress_message=Preparando documento para impresión… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cancelar + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Cambiar barra lateral +toggle_sidebar_notification2.title=Alternar barra lateral (el documento contiene esquemas/adjuntos/capas) +toggle_sidebar_label=Cambiar barra lateral +document_outline.title=Mostrar resumen del documento (doble clic para expandir/contraer todos los elementos) +document_outline_label=Resumen de documento +attachments.title=Mostrar adjuntos +attachments_label=Adjuntos +layers.title=Mostrar capas (doble clic para restablecer todas las capas al estado predeterminado) +layers_label=Capas +thumbs.title=Mostrar miniaturas +thumbs_label=Miniaturas +current_outline_item.title=Encontrar elemento de esquema actual +current_outline_item_label=Elemento de esquema actual +findbar.title=Buscar en el documento +findbar_label=Buscar + +additional_layers=Capas adicionales +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Página {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Página {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura de la página {{page}} + +# Find panel button title and messages +find_input.title=Buscar +find_input.placeholder=Buscar en el documento… +find_previous.title=Encontrar la anterior aparición de la frase +find_previous_label=Anterior +find_next.title=Encontrar la siguiente aparición de esta frase +find_next_label=Siguiente +find_highlight=Resaltar todos +find_match_case_label=Coincidencia de mayús./minús. +find_entire_word_label=Palabras completas +find_reached_top=Se alcanzó el inicio del documento, se continúa desde el final +find_reached_bottom=Se alcanzó el final del documento, se continúa desde el inicio +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} de {{total}} coincidencia +find_match_count[two]={{current}} de {{total}} coincidencias +find_match_count[few]={{current}} de {{total}} coincidencias +find_match_count[many]={{current}} de {{total}} coincidencias +find_match_count[other]={{current}} de {{total}} coincidencias +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Más de {{limit}} coincidencias +find_match_count_limit[one]=Más de {{limit}} coincidencia +find_match_count_limit[two]=Más de {{limit}} coincidencias +find_match_count_limit[few]=Más de {{limit}} coincidencias +find_match_count_limit[many]=Más de {{limit}} coincidencias +find_match_count_limit[other]=Más de {{limit}} coincidencias +find_not_found=Frase no encontrada + +# Error panel labels +error_more_info=Más información +error_less_info=Menos información +error_close=Cerrar +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mensaje: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Archivo: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Línea: {{line}} +rendering_error=Ocurrió un error al renderizar la página. + +# Predefined zoom values +page_scale_width=Anchura de la página +page_scale_fit=Ajuste de la página +page_scale_auto=Tamaño automático +page_scale_actual=Tamaño real +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Cargando… +loading_error=Ocurrió un error al cargar el PDF. +invalid_file_error=Fichero PDF no válido o corrupto. +missing_file_error=No hay fichero PDF. +unexpected_response_error=Respuesta inesperada del servidor. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anotación {{type}}] +password_label=Introduzca la contraseña para abrir este archivo PDF. +password_invalid=Contraseña no válida. Vuelva a intentarlo. +password_ok=Aceptar +password_cancel=Cancelar + +printing_not_supported=Advertencia: Imprimir no está totalmente soportado por este navegador. +printing_not_ready=Advertencia: Este PDF no se ha cargado completamente para poder imprimirse. +web_fonts_disabled=Las tipografías web están desactivadas: es imposible usar las tipografías PDF embebidas. diff --git a/app/assets/javascripts/publications/locale/es-MX/viewer.properties b/app/assets/javascripts/publications/locale/es-MX/viewer.properties new file mode 100644 index 0000000..dc0ce0d --- /dev/null +++ b/app/assets/javascripts/publications/locale/es-MX/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Página anterior +previous_label=Anterior +next.title=Página siguiente +next_label=Siguiente + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Página +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=de {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} de {{pagesCount}}) + +zoom_out.title=Reducir +zoom_out_label=Reducir +zoom_in.title=Aumentar +zoom_in_label=Aumentar +zoom.title=Zoom +presentation_mode.title=Cambiar al modo presentación +presentation_mode_label=Modo presentación +open_file.title=Abrir archivo +open_file_label=Abrir +print.title=Imprimir +print_label=Imprimir +download.title=Descargar +download_label=Descargar +bookmark.title=Vista actual (copiar o abrir en una nueva ventana) +bookmark_label=Vista actual + +# Secondary toolbar and context menu +tools.title=Herramientas +tools_label=Herramientas +first_page.title=Ir a la primera página +first_page_label=Ir a la primera página +last_page.title=Ir a la última página +last_page_label=Ir a la última página +page_rotate_cw.title=Girar a la derecha +page_rotate_cw_label=Girar a la derecha +page_rotate_ccw.title=Girar a la izquierda +page_rotate_ccw_label=Girar a la izquierda + +cursor_text_select_tool.title=Activar la herramienta de selección de texto +cursor_text_select_tool_label=Herramienta de selección de texto +cursor_hand_tool.title=Activar la herramienta de mano +cursor_hand_tool_label=Herramienta de mano + +scroll_page.title=Usar desplazamiento de página +scroll_page_label=Desplazamiento de página +scroll_vertical.title=Usar desplazamiento vertical +scroll_vertical_label=Desplazamiento vertical +scroll_horizontal.title=Usar desplazamiento horizontal +scroll_horizontal_label=Desplazamiento horizontal +scroll_wrapped.title=Usar desplazamiento encapsulado +scroll_wrapped_label=Desplazamiento encapsulado + +spread_none.title=No unir páginas separadas +spread_none_label=Vista de una página +spread_odd.title=Unir las páginas partiendo con una de número impar +spread_odd_label=Vista de libro impar +spread_even.title=Juntar las páginas partiendo con una de número par +spread_even_label=Vista de libro par + +# Document properties dialog box +document_properties.title=Propiedades del documento… +document_properties_label=Propiedades del documento… +document_properties_file_name=Nombre del archivo: +document_properties_file_size=Tamaño del archivo: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Título: +document_properties_author=Autor: +document_properties_subject=Asunto: +document_properties_keywords=Palabras claves: +document_properties_creation_date=Fecha de creación: +document_properties_modification_date=Fecha de modificación: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Creador: +document_properties_producer=Productor PDF: +document_properties_version=Versión PDF: +document_properties_page_count=Número de páginas: +document_properties_page_size=Tamaño de la página: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=vertical +document_properties_page_size_orientation_landscape=horizontal +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Carta +document_properties_page_size_name_legal=Oficio +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Vista rápida de la web: +document_properties_linearized_yes=Sí +document_properties_linearized_no=No +document_properties_close=Cerrar + +print_progress_message=Preparando documento para impresión… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cancelar + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Cambiar barra lateral +toggle_sidebar_notification2.title=Alternar barra lateral (el documento contiene esquemas/adjuntos/capas) +toggle_sidebar_label=Cambiar barra lateral +document_outline.title=Mostrar esquema del documento (doble clic para expandir/contraer todos los elementos) +document_outline_label=Esquema del documento +attachments.title=Mostrar adjuntos +attachments_label=Adjuntos +layers.title=Mostrar capas (doble clic para restablecer todas las capas al estado predeterminado) +layers_label=Capas +thumbs.title=Mostrar miniaturas +thumbs_label=Miniaturas +current_outline_item.title=Buscar elemento de esquema actual +current_outline_item_label=Elemento de esquema actual +findbar.title=Buscar en el documento +findbar_label=Buscar + +additional_layers=Capas adicionales +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Página {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Página {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura de la página {{page}} + +# Find panel button title and messages +find_input.title=Buscar +find_input.placeholder=Buscar en el documento… +find_previous.title=Ir a la anterior frase encontrada +find_previous_label=Anterior +find_next.title=Ir a la siguiente frase encontrada +find_next_label=Siguiente +find_highlight=Resaltar todo +find_match_case_label=Coincidir con mayúsculas y minúsculas +find_match_diacritics_label=Coincidir diacríticos +find_entire_word_label=Palabras completas +find_reached_top=Se alcanzó el inicio del documento, se buscará al final +find_reached_bottom=Se alcanzó el final del documento, se buscará al inicio +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} de {{total}} coincidencia +find_match_count[two]={{current}} de {{total}} coincidencias +find_match_count[few]={{current}} de {{total}} coincidencias +find_match_count[many]={{current}} de {{total}} coincidencias +find_match_count[other]={{current}} de {{total}} coincidencias +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Más de {{limit}} coincidencias +find_match_count_limit[one]=Más de {{limit}} coinciden +find_match_count_limit[two]=Más de {{limit}} coincidencias +find_match_count_limit[few]=Más de {{limit}} coincidencias +find_match_count_limit[many]=Más de {{limit}} coincidencias +find_match_count_limit[other]=Más de {{limit}} coincidencias +find_not_found=No se encontró la frase + +# Error panel labels +error_more_info=Más información +error_less_info=Menos información +error_close=Cerrar +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mensaje: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Archivo: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Línea: {{line}} +rendering_error=Un error ocurrió al renderizar la página. + +# Predefined zoom values +page_scale_width=Ancho de página +page_scale_fit=Ajustar página +page_scale_auto=Zoom automático +page_scale_actual=Tamaño real +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Cargando… +loading_error=Un error ocurrió al cargar el PDF. +invalid_file_error=Archivo PDF invalido o dañado. +missing_file_error=Archivo PDF no encontrado. +unexpected_response_error=Respuesta inesperada del servidor. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} anotación] +password_label=Ingresa la contraseña para abrir este archivo PDF. +password_invalid=Contraseña inválida. Por favor intenta de nuevo. +password_ok=Aceptar +password_cancel=Cancelar + +printing_not_supported=Advertencia: La impresión no esta completamente soportada por este navegador. +printing_not_ready=Advertencia: El PDF no cargo completamente para impresión. +web_fonts_disabled=Las fuentes web están desactivadas: es imposible usar las fuentes PDF embebidas. diff --git a/app/assets/javascripts/publications/locale/et/viewer.properties b/app/assets/javascripts/publications/locale/et/viewer.properties new file mode 100644 index 0000000..17bf0e4 --- /dev/null +++ b/app/assets/javascripts/publications/locale/et/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Eelmine lehekülg +previous_label=Eelmine +next.title=Järgmine lehekülg +next_label=Järgmine + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Leht +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=/ {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}}/{{pagesCount}}) + +zoom_out.title=Vähenda +zoom_out_label=Vähenda +zoom_in.title=Suurenda +zoom_in_label=Suurenda +zoom.title=Suurendamine +presentation_mode.title=Lülitu esitlusrežiimi +presentation_mode_label=Esitlusrežiim +open_file.title=Ava fail +open_file_label=Ava +print.title=Prindi +print_label=Prindi +download.title=Laadi alla +download_label=Laadi alla +bookmark.title=Praegune vaade (kopeeri või ava uues aknas) +bookmark_label=Praegune vaade + +# Secondary toolbar and context menu +tools.title=Tööriistad +tools_label=Tööriistad +first_page.title=Mine esimesele leheküljele +first_page_label=Mine esimesele leheküljele +last_page.title=Mine viimasele leheküljele +last_page_label=Mine viimasele leheküljele +page_rotate_cw.title=Pööra päripäeva +page_rotate_cw_label=Pööra päripäeva +page_rotate_ccw.title=Pööra vastupäeva +page_rotate_ccw_label=Pööra vastupäeva + +cursor_text_select_tool.title=Luba teksti valimise tööriist +cursor_text_select_tool_label=Teksti valimise tööriist +cursor_hand_tool.title=Luba sirvimistööriist +cursor_hand_tool_label=Sirvimistööriist + +scroll_page.title=Kasutatakse lehe kaupa kerimist +scroll_page_label=Lehe kaupa kerimine +scroll_vertical.title=Kasuta vertikaalset kerimist +scroll_vertical_label=Vertikaalne kerimine +scroll_horizontal.title=Kasuta horisontaalset kerimist +scroll_horizontal_label=Horisontaalne kerimine +scroll_wrapped.title=Kasuta rohkem mahutavat kerimist +scroll_wrapped_label=Rohkem mahutav kerimine + +spread_none.title=Ära kõrvuta lehekülgi +spread_none_label=Lehtede kõrvutamine puudub +spread_odd.title=Kõrvuta leheküljed, alustades paaritute numbritega lehekülgedega +spread_odd_label=Kõrvutamine paaritute numbritega alustades +spread_even.title=Kõrvuta leheküljed, alustades paarisnumbritega lehekülgedega +spread_even_label=Kõrvutamine paarisnumbritega alustades + +# Document properties dialog box +document_properties.title=Dokumendi omadused… +document_properties_label=Dokumendi omadused… +document_properties_file_name=Faili nimi: +document_properties_file_size=Faili suurus: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KiB ({{size_b}} baiti) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MiB ({{size_b}} baiti) +document_properties_title=Pealkiri: +document_properties_author=Autor: +document_properties_subject=Teema: +document_properties_keywords=Märksõnad: +document_properties_creation_date=Loodud: +document_properties_modification_date=Muudetud: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}} {{time}} +document_properties_creator=Looja: +document_properties_producer=Generaator: +document_properties_version=Generaatori versioon: +document_properties_page_count=Lehekülgi: +document_properties_page_size=Lehe suurus: +document_properties_page_size_unit_inches=tolli +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=vertikaalpaigutus +document_properties_page_size_orientation_landscape=rõhtpaigutus +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized="Fast Web View" tugi: +document_properties_linearized_yes=Jah +document_properties_linearized_no=Ei +document_properties_close=Sulge + +print_progress_message=Dokumendi ettevalmistamine printimiseks… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Loobu + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Näita külgriba +toggle_sidebar_notification2.title=Näita külgriba (dokument sisaldab sisukorda/manuseid/kihte) +toggle_sidebar_label=Näita külgriba +document_outline.title=Näita sisukorda (kõigi punktide laiendamiseks/ahendamiseks topeltklõpsa) +document_outline_label=Näita sisukorda +attachments.title=Näita manuseid +attachments_label=Manused +layers.title=Näita kihte (kõikide kihtide vaikeolekusse lähtestamiseks topeltklõpsa) +layers_label=Kihid +thumbs.title=Näita pisipilte +thumbs_label=Pisipildid +current_outline_item.title=Otsi üles praegune kontuuriüksus +current_outline_item_label=Praegune kontuuriüksus +findbar.title=Otsi dokumendist +findbar_label=Otsi + +additional_layers=Täiendavad kihid +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Lehekülg {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title={{page}}. lehekülg +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}}. lehekülje pisipilt + +# Find panel button title and messages +find_input.title=Otsi +find_input.placeholder=Otsi dokumendist… +find_previous.title=Otsi fraasi eelmine esinemiskoht +find_previous_label=Eelmine +find_next.title=Otsi fraasi järgmine esinemiskoht +find_next_label=Järgmine +find_highlight=Too kõik esile +find_match_case_label=Tõstutundlik +find_entire_word_label=Täissõnad +find_reached_top=Jõuti dokumendi algusesse, jätkati lõpust +find_reached_bottom=Jõuti dokumendi lõppu, jätkati algusest +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]=vaste {{current}}/{{total}} +find_match_count[two]=vaste {{current}}/{{total}} +find_match_count[few]=vaste {{current}}/{{total}} +find_match_count[many]=vaste {{current}}/{{total}} +find_match_count[other]=vaste {{current}}/{{total}} +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Rohkem kui {{limit}} vastet +find_match_count_limit[one]=Rohkem kui {{limit}} vaste +find_match_count_limit[two]=Rohkem kui {{limit}} vastet +find_match_count_limit[few]=Rohkem kui {{limit}} vastet +find_match_count_limit[many]=Rohkem kui {{limit}} vastet +find_match_count_limit[other]=Rohkem kui {{limit}} vastet +find_not_found=Fraasi ei leitud + +# Error panel labels +error_more_info=Rohkem teavet +error_less_info=Vähem teavet +error_close=Sulge +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Teade: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fail: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Rida: {{line}} +rendering_error=Lehe renderdamisel esines viga. + +# Predefined zoom values +page_scale_width=Mahuta laiusele +page_scale_fit=Mahuta leheküljele +page_scale_auto=Automaatne suurendamine +page_scale_actual=Tegelik suurus +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Laadimine… +loading_error=PDFi laadimisel esines viga. +invalid_file_error=Vigane või rikutud PDF-fail. +missing_file_error=PDF-fail puudub. +unexpected_response_error=Ootamatu vastus serverilt. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}} {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Annotation] +password_label=PDF-faili avamiseks sisesta parool. +password_invalid=Vigane parool. Palun proovi uuesti. +password_ok=Sobib +password_cancel=Loobu + +printing_not_supported=Hoiatus: printimine pole selle brauseri poolt täielikult toetatud. +printing_not_ready=Hoiatus: PDF pole printimiseks täielikult laaditud. +web_fonts_disabled=Veebifondid on keelatud: PDFiga kaasatud fonte pole võimalik kasutada. diff --git a/app/assets/javascripts/publications/locale/eu/viewer.properties b/app/assets/javascripts/publications/locale/eu/viewer.properties new file mode 100644 index 0000000..aa2bef7 --- /dev/null +++ b/app/assets/javascripts/publications/locale/eu/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Aurreko orria +previous_label=Aurrekoa +next.title=Hurrengo orria +next_label=Hurrengoa + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Orria +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=/ {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages={{pagesCount}}/{{pageNumber}} + +zoom_out.title=Urrundu zooma +zoom_out_label=Urrundu zooma +zoom_in.title=Gerturatu zooma +zoom_in_label=Gerturatu zooma +zoom.title=Zooma +presentation_mode.title=Aldatu aurkezpen modura +presentation_mode_label=Arkezpen modua +open_file.title=Ireki fitxategia +open_file_label=Ireki +print.title=Inprimatu +print_label=Inprimatu +download.title=Deskargatu +download_label=Deskargatu +bookmark.title=Uneko ikuspegia (kopiatu edo ireki leiho berrian) +bookmark_label=Uneko ikuspegia + +# Secondary toolbar and context menu +tools.title=Tresnak +tools_label=Tresnak +first_page.title=Joan lehen orrira +first_page_label=Joan lehen orrira +last_page.title=Joan azken orrira +last_page_label=Joan azken orrira +page_rotate_cw.title=Biratu erlojuaren norantzan +page_rotate_cw_label=Biratu erlojuaren norantzan +page_rotate_ccw.title=Biratu erlojuaren aurkako norantzan +page_rotate_ccw_label=Biratu erlojuaren aurkako norantzan + +cursor_text_select_tool.title=Gaitu testuaren hautapen tresna +cursor_text_select_tool_label=Testuaren hautapen tresna +cursor_hand_tool.title=Gaitu eskuaren tresna +cursor_hand_tool_label=Eskuaren tresna + +scroll_page.title=Erabili orriaren korritzea +scroll_page_label=Orriaren korritzea +scroll_vertical.title=Erabili korritze bertikala +scroll_vertical_label=Korritze bertikala +scroll_horizontal.title=Erabili korritze horizontala +scroll_horizontal_label=Korritze horizontala +scroll_wrapped.title=Erabili korritze egokitua +scroll_wrapped_label=Korritze egokitua + +spread_none.title=Ez elkartu barreiatutako orriak +spread_none_label=Barreiatzerik ez +spread_odd.title=Elkartu barreiatutako orriak bakoiti zenbakidunekin hasita +spread_odd_label=Barreiatze bakoitia +spread_even.title=Elkartu barreiatutako orriak bikoiti zenbakidunekin hasita +spread_even_label=Barreiatze bikoitia + +# Document properties dialog box +document_properties.title=Dokumentuaren propietateak… +document_properties_label=Dokumentuaren propietateak… +document_properties_file_name=Fitxategi-izena: +document_properties_file_size=Fitxategiaren tamaina: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} byte) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} byte) +document_properties_title=Izenburua: +document_properties_author=Egilea: +document_properties_subject=Gaia: +document_properties_keywords=Gako-hitzak: +document_properties_creation_date=Sortze-data: +document_properties_modification_date=Aldatze-data: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Sortzailea: +document_properties_producer=PDFaren ekoizlea: +document_properties_version=PDF bertsioa: +document_properties_page_count=Orrialde kopurua: +document_properties_page_size=Orriaren tamaina: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=bertikala +document_properties_page_size_orientation_landscape=horizontala +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Gutuna +document_properties_page_size_name_legal=Legala +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Webeko ikuspegi bizkorra: +document_properties_linearized_yes=Bai +document_properties_linearized_no=Ez +document_properties_close=Itxi + +print_progress_message=Dokumentua inprimatzeko prestatzen… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent=%{{progress}} +print_progress_close=Utzi + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Txandakatu alboko barra +toggle_sidebar_notification2.title=Txandakatu alboko barra (dokumentuak eskema/eranskinak/geruzak ditu) +toggle_sidebar_label=Txandakatu alboko barra +document_outline.title=Erakutsi dokumentuaren eskema (klik bikoitza elementu guztiak zabaltzeko/tolesteko) +document_outline_label=Dokumentuaren eskema +attachments.title=Erakutsi eranskinak +attachments_label=Eranskinak +layers.title=Erakutsi geruzak (klik bikoitza geruza guztiak egoera lehenetsira berrezartzeko) +layers_label=Geruzak +thumbs.title=Erakutsi koadro txikiak +thumbs_label=Koadro txikiak +current_outline_item.title=Bilatu uneko eskemaren elementua +current_outline_item_label=Uneko eskemaren elementua +findbar.title=Bilatu dokumentuan +findbar_label=Bilatu + +additional_layers=Geruza gehigarriak +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark={{page}}. orria +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title={{page}}. orria +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}}. orriaren koadro txikia + +# Find panel button title and messages +find_input.title=Bilatu +find_input.placeholder=Bilatu dokumentuan… +find_previous.title=Bilatu esaldiaren aurreko parekatzea +find_previous_label=Aurrekoa +find_next.title=Bilatu esaldiaren hurrengo parekatzea +find_next_label=Hurrengoa +find_highlight=Nabarmendu guztia +find_match_case_label=Bat etorri maiuskulekin/minuskulekin +find_entire_word_label=Hitz osoak +find_reached_top=Dokumentuaren hasierara heldu da, bukaeratik jarraitzen +find_reached_bottom=Dokumentuaren bukaerara heldu da, hasieratik jarraitzen +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{total}}/{{current}}. bat etortzea +find_match_count[two]={{total}}/{{current}}. bat etortzea +find_match_count[few]={{total}}/{{current}}. bat etortzea +find_match_count[many]={{total}}/{{current}}. bat etortzea +find_match_count[other]={{total}}/{{current}}. bat etortzea +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]={{limit}} bat-etortze baino gehiago +find_match_count_limit[one]=Bat-etortze {{limit}} baino gehiago +find_match_count_limit[two]={{limit}} bat-etortze baino gehiago +find_match_count_limit[few]={{limit}} bat-etortze baino gehiago +find_match_count_limit[many]={{limit}} bat-etortze baino gehiago +find_match_count_limit[other]={{limit}} bat-etortze baino gehiago +find_not_found=Esaldia ez da aurkitu + +# Error panel labels +error_more_info=Informazio gehiago +error_less_info=Informazio gutxiago +error_close=Itxi +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (eraikuntza: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mezua: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fitxategia: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Lerroa: {{line}} +rendering_error=Errorea gertatu da orria errendatzean. + +# Predefined zoom values +page_scale_width=Orriaren zabalera +page_scale_fit=Doitu orrira +page_scale_auto=Zoom automatikoa +page_scale_actual=Benetako tamaina +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent=%{{scale}} + +# Loading indicator messages +loading=Kargatzen… +loading_error=Errorea gertatu da PDFa kargatzean. +invalid_file_error=PDF fitxategi baliogabe edo hondatua. +missing_file_error=PDF fitxategia falta da. +unexpected_response_error=Espero gabeko zerbitzariaren erantzuna. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} ohartarazpena] +password_label=Idatzi PDF fitxategi hau irekitzeko pasahitza. +password_invalid=Pasahitz baliogabea. Saiatu berriro mesedez. +password_ok=Ados +password_cancel=Utzi + +printing_not_supported=Abisua: inprimatzeko euskarria ez da erabatekoa nabigatzaile honetan. +printing_not_ready=Abisua: PDFa ez dago erabat kargatuta inprimatzeko. +web_fonts_disabled=Webeko letra-tipoak desgaituta daude: ezin dira kapsulatutako PDF letra-tipoak erabili. diff --git a/app/assets/javascripts/publications/locale/fa/viewer.properties b/app/assets/javascripts/publications/locale/fa/viewer.properties new file mode 100644 index 0000000..2c28f01 --- /dev/null +++ b/app/assets/javascripts/publications/locale/fa/viewer.properties @@ -0,0 +1,215 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=صفحهٔ قبلی +previous_label=قبلی +next.title=صفحهٔ بعدی +next_label=بعدی + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=صفحه +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=از {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}}از {{pagesCount}}) + +zoom_out.title=کوچک‌نمایی +zoom_out_label=کوچک‌نمایی +zoom_in.title=بزرگ‌نمایی +zoom_in_label=بزرگ‌نمایی +zoom.title=زوم +presentation_mode.title=تغییر به حالت ارائه +presentation_mode_label=حالت ارائه +open_file.title=باز کردن پرونده +open_file_label=باز کردن +print.title=چاپ +print_label=چاپ +download.title=بارگیری +download_label=بارگیری +bookmark.title=نمای فعلی (رونوشت و یا نشان دادن در پنجره جدید) +bookmark_label=نمای فعلی + +# Secondary toolbar and context menu +tools.title=ابزارها +tools_label=ابزارها +first_page.title=برو به اولین صفحه +first_page_label=برو به اولین صفحه +last_page.title=برو به آخرین صفحه +last_page_label=برو به آخرین صفحه +page_rotate_cw.title=چرخش ساعتگرد +page_rotate_cw_label=چرخش ساعتگرد +page_rotate_ccw.title=چرخش پاد ساعتگرد +page_rotate_ccw_label=چرخش پاد ساعتگرد + +cursor_text_select_tool.title=فعال کردن ابزارِ انتخابِ متن +cursor_text_select_tool_label=ابزارِ انتخابِ متن +cursor_hand_tool.title=فعال کردن ابزارِ دست +cursor_hand_tool_label=ابزار دست + +scroll_vertical.title=استفاده از پیمایش عمودی +scroll_vertical_label=پیمایش عمودی +scroll_horizontal.title=استفاده از پیمایش افقی +scroll_horizontal_label=پیمایش افقی + + +# Document properties dialog box +document_properties.title=خصوصیات سند... +document_properties_label=خصوصیات سند... +document_properties_file_name=نام فایل: +document_properties_file_size=حجم پرونده: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} کیلوبایت ({{size_b}} بایت) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} مگابایت ({{size_b}} بایت) +document_properties_title=عنوان: +document_properties_author=نویسنده: +document_properties_subject=موضوع: +document_properties_keywords=کلیدواژه‌ها: +document_properties_creation_date=تاریخ ایجاد: +document_properties_modification_date=تاریخ ویرایش: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}، {{time}} +document_properties_creator=ایجاد کننده: +document_properties_producer=ایجاد کننده PDF: +document_properties_version=نسخه PDF: +document_properties_page_count=تعداد صفحات: +document_properties_page_size=اندازه صفحه: +document_properties_page_size_unit_inches=اینچ +document_properties_page_size_unit_millimeters=میلی‌متر +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=نامه +document_properties_page_size_name_legal=حقوقی +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized_yes=بله +document_properties_linearized_no=خیر +document_properties_close=بستن + +print_progress_message=آماده سازی مدارک برای چاپ کردن… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=لغو + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=باز و بسته کردن نوار کناری +toggle_sidebar_label=تغییرحالت نوارکناری +document_outline.title=نمایش رئوس مطالب مدارک(برای بازشدن/جمع شدن همه موارد دوبار کلیک کنید) +document_outline_label=طرح نوشتار +attachments.title=نمایش پیوست‌ها +attachments_label=پیوست‌ها +thumbs.title=نمایش تصاویر بندانگشتی +thumbs_label=تصاویر بندانگشتی +findbar.title=جستجو در سند +findbar_label=پیدا کردن + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=صفحه {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=تصویر بند‌ انگشتی صفحه {{page}} + +# Find panel button title and messages +find_input.title=پیدا کردن +find_input.placeholder=پیدا کردن در سند… +find_previous.title=پیدا کردن رخداد قبلی عبارت +find_previous_label=قبلی +find_next.title=پیدا کردن رخداد بعدی عبارت +find_next_label=بعدی +find_highlight=برجسته و هایلایت کردن همه موارد +find_match_case_label=تطبیق کوچکی و بزرگی حروف +find_entire_word_label=تمام کلمه‌ها +find_reached_top=به بالای صفحه رسیدیم، از پایین ادامه می‌دهیم +find_reached_bottom=به آخر صفحه رسیدیم، از بالا ادامه می‌دهیم +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count[one]={{current}} از {{total}} مطابقت دارد +find_match_count[two]={{current}} از {{total}} مطابقت دارد +find_match_count[few]={{current}} از {{total}} مطابقت دارد +find_match_count[many]={{current}} از {{total}} مطابقت دارد +find_match_count[other]={{current}} از {{total}} مطابقت دارد +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_not_found=عبارت پیدا نشد + +# Error panel labels +error_more_info=اطلاعات بیشتر +error_less_info=اطلاعات کمتر +error_close=بستن +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=‏PDF.js ورژن{{version}} ‏(ساخت: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=پیام: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=توده: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=پرونده: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=سطر: {{line}} +rendering_error=هنگام بارگیری صفحه خطایی رخ داد. + +# Predefined zoom values +page_scale_width=عرض صفحه +page_scale_fit=اندازه کردن صفحه +page_scale_auto=بزرگنمایی خودکار +page_scale_actual=اندازه واقعی‌ +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=هنگام بارگیری پرونده PDF خطایی رخ داد. +invalid_file_error=پرونده PDF نامعتبر یامعیوب می‌باشد. +missing_file_error=پرونده PDF یافت نشد. +unexpected_response_error=پاسخ پیش بینی نشده سرور + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Annotation] +password_label=جهت باز کردن پرونده PDF گذرواژه را وارد نمائید. +password_invalid=گذرواژه نامعتبر. لطفا مجددا تلاش کنید. +password_ok=تأیید +password_cancel=لغو + +printing_not_supported=هشدار: قابلیت چاپ به‌طور کامل در این مرورگر پشتیبانی نمی‌شود. +printing_not_ready=اخطار: پرونده PDF بطور کامل بارگیری نشده و امکان چاپ وجود ندارد. +web_fonts_disabled=فونت های تحت وب غیر فعال شده اند: امکان استفاده از نمایش دهنده داخلی PDF وجود ندارد. diff --git a/app/assets/javascripts/publications/locale/ff/viewer.properties b/app/assets/javascripts/publications/locale/ff/viewer.properties new file mode 100644 index 0000000..bc95457 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ff/viewer.properties @@ -0,0 +1,234 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Hello Ɓennungo +previous_label=Ɓennuɗo +next.title=Hello faango +next_label=Yeeso + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Hello +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=e nder {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} of {{pagesCount}}) + +zoom_out.title=Lonngo Woɗɗa +zoom_out_label=Lonngo Woɗɗa +zoom_in.title=Lonngo Ara +zoom_in_label=Lonngo Ara +zoom.title=Lonngo +presentation_mode.title=Faytu to Presentation Mode +presentation_mode_label=Presentation Mode +open_file.title=Uddit Fiilde +open_file_label=Uddit +print.title=Winndito +print_label=Winndito +download.title=Aawto +download_label=Aawto +bookmark.title=Jiytol gonangol (natto walla uddit e henorde) +bookmark_label=Jiytol Gonangol + +# Secondary toolbar and context menu +tools.title=Kuutorɗe +tools_label=Kuutorɗe +first_page.title=Yah to hello adanngo +first_page_label=Yah to hello adanngo +last_page.title=Yah to hello wattindiingo +last_page_label=Yah to hello wattindiingo +page_rotate_cw.title=Yiiltu Faya Ñaamo +page_rotate_cw_label=Yiiltu Faya Ñaamo +page_rotate_ccw.title=Yiiltu Faya Nano +page_rotate_ccw_label=Yiiltu Faya Nano + +cursor_text_select_tool.title=Gollin kaɓirgel cuɓirgel binndi +cursor_text_select_tool_label=Kaɓirgel cuɓirgel binndi +cursor_hand_tool.title=Hurmin kuutorgal junngo +cursor_hand_tool_label=Kaɓirgel junngo + +scroll_vertical.title=Huutoro gorwitol daringol +scroll_vertical_label=Gorwitol daringol +scroll_horizontal.title=Huutoro gorwitol lelingol +scroll_horizontal_label=Gorwitol daringol +scroll_wrapped.title=Huutoro gorwitol coomingol +scroll_wrapped_label=Gorwitol coomingol + +spread_none.title=Hoto tawtu kelle kelle +spread_none_label=Alaa Spreads +spread_odd.title=Tawtu kelle puɗɗortooɗe kelle teelɗe +spread_odd_label=Kelle teelɗe +spread_even.title=Tawtu ɗereeji kelle puɗɗoriiɗi kelle teeltuɗe +spread_even_label=Kelle teeltuɗe + +# Document properties dialog box +document_properties.title=Keeroraaɗi Winndannde… +document_properties_label=Keeroraaɗi Winndannde… +document_properties_file_name=Innde fiilde: +document_properties_file_size=Ɓetol fiilde: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bite) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bite) +document_properties_title=Tiitoonde: +document_properties_author=Binnduɗo: +document_properties_subject=Toɓɓere: +document_properties_keywords=Kelmekele jiytirɗe: +document_properties_creation_date=Ñalnde Sosaa: +document_properties_modification_date=Ñalnde Waylaa: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Cosɗo: +document_properties_producer=Paggiiɗo PDF: +document_properties_version=Yamre PDF: +document_properties_page_count=Limoore Kelle: +document_properties_page_size=Ɓeto Hello: +document_properties_page_size_unit_inches=nder +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=dariingo +document_properties_page_size_orientation_landscape=wertiingo +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Ɓataake +document_properties_page_size_name_legal=Laawol +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Ɗisngo geese yaawngo: +document_properties_linearized_yes=Eey +document_properties_linearized_no=Alaa +document_properties_close=Uddu + +print_progress_message=Nana heboo winnditaade fiilannde… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Haaytu + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Toggilo Palal Sawndo +toggle_sidebar_label=Toggilo Palal Sawndo +document_outline.title=Hollu Ƴiyal Fiilannde (dobdobo ngam wertude/taggude teme fof) +document_outline_label=Toɓɓe Fiilannde +attachments.title=Hollu Ɗisanɗe +attachments_label=Ɗisanɗe +thumbs.title=Hollu Dooɓe +thumbs_label=Dooɓe +findbar.title=Yiylo e fiilannde +findbar_label=Yiytu + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Hello {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Dooɓre Hello {{page}} + +# Find panel button title and messages +find_input.title=Yiytu +find_input.placeholder=Yiylo nder dokimaa +find_previous.title=Yiylo cilol ɓennugol konngol ngol +find_previous_label=Ɓennuɗo +find_next.title=Yiylo cilol garowol konngol ngol +find_next_label=Yeeso +find_highlight=Jalbin fof +find_match_case_label=Jaaɓnu darnde +find_entire_word_label=Kelme timmuɗe tan +find_reached_top=Heɓii fuɗɗorde fiilannde, jokku faya les +find_reached_bottom=Heɓii hoore fiilannde, jokku faya les +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} wonande laabi {{total}} +find_match_count[two]={{current}} wonande laabi {{total}} +find_match_count[few]={{current}} wonande laabi {{total}} +find_match_count[many]={{current}} wonande laabi {{total}} +find_match_count[other]={{current}} wonande laabi {{total}} +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Ko ɓuri laabi {{limit}} +find_match_count_limit[one]=Ko ɓuri laani {{limit}} +find_match_count_limit[two]=Ko ɓuri laabi {{limit}} +find_match_count_limit[few]=Ko ɓuri laabi {{limit}} +find_match_count_limit[many]=Ko ɓuri laabi {{limit}} +find_match_count_limit[other]=Ko ɓuri laabi {{limit}} +find_not_found=Konngi njiyataa + +# Error panel labels +error_more_info=Ɓeydu Humpito +error_less_info=Ustu Humpito +error_close=Uddu +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Ɓatakuure: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fiilde: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Gorol: {{line}} +rendering_error=Juumre waɗii tuma nde yoŋkittoo hello. + +# Predefined zoom values +page_scale_width=Njaajeendi Hello +page_scale_fit=Keƴeendi Hello +page_scale_auto=Loongorde Jaajol +page_scale_actual=Ɓetol Jaati +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=Juumre waɗii tuma nde loowata PDF oo. +invalid_file_error=Fiilde PDF moƴƴaani walla jiibii. +missing_file_error=Fiilde PDF ena ŋakki. +unexpected_response_error=Jaabtol sarworde tijjinooka. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Siiftannde] +password_label=Naatu finnde ngam uddite ndee fiilde PDF. +password_invalid=Finnde moƴƴaani. Tiiɗno eto kadi. +password_ok=OK +password_cancel=Haaytu + +printing_not_supported=Reentino: Winnditagol tammbitaaka no feewi e ndee wanngorde. +printing_not_ready=Reentino: PDF oo loowaaki haa timmi ngam winnditagol. +web_fonts_disabled=Ponte geese ko daaƴaaɗe: horiima huutoraade ponte PDF coomtoraaɗe. diff --git a/app/assets/javascripts/publications/locale/fi/viewer.properties b/app/assets/javascripts/publications/locale/fi/viewer.properties new file mode 100644 index 0000000..23496e9 --- /dev/null +++ b/app/assets/javascripts/publications/locale/fi/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Edellinen sivu +previous_label=Edellinen +next.title=Seuraava sivu +next_label=Seuraava + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Sivu +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=/ {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} / {{pagesCount}}) + +zoom_out.title=Loitonna +zoom_out_label=Loitonna +zoom_in.title=Lähennä +zoom_in_label=Lähennä +zoom.title=Suurennus +presentation_mode.title=Siirry esitystilaan +presentation_mode_label=Esitystila +open_file.title=Avaa tiedosto +open_file_label=Avaa +print.title=Tulosta +print_label=Tulosta +download.title=Lataa +download_label=Lataa +bookmark.title=Avoin ikkuna (kopioi tai avaa uuteen ikkunaan) +bookmark_label=Avoin ikkuna + +# Secondary toolbar and context menu +tools.title=Tools +tools_label=Tools +first_page.title=Siirry ensimmäiselle sivulle +first_page_label=Siirry ensimmäiselle sivulle +last_page.title=Siirry viimeiselle sivulle +last_page_label=Siirry viimeiselle sivulle +page_rotate_cw.title=Kierrä oikealle +page_rotate_cw_label=Kierrä oikealle +page_rotate_ccw.title=Kierrä vasemmalle +page_rotate_ccw_label=Kierrä vasemmalle + +cursor_text_select_tool.title=Käytä tekstinvalintatyökalua +cursor_text_select_tool_label=Tekstinvalintatyökalu +cursor_hand_tool.title=Käytä käsityökalua +cursor_hand_tool_label=Käsityökalu + +scroll_page.title=Käytä sivun vieritystä +scroll_page_label=Sivun vieritys +scroll_vertical.title=Käytä pystysuuntaista vieritystä +scroll_vertical_label=Pystysuuntainen vieritys +scroll_horizontal.title=Käytä vaakasuuntaista vieritystä +scroll_horizontal_label=Vaakasuuntainen vieritys +scroll_wrapped.title=Käytä rivittyvää vieritystä +scroll_wrapped_label=Rivittyvä vieritys + +spread_none.title=Älä yhdistä sivuja aukeamiksi +spread_none_label=Ei aukeamia +spread_odd.title=Yhdistä sivut aukeamiksi alkaen parittomalta sivulta +spread_odd_label=Parittomalta alkavat aukeamat +spread_even.title=Yhdistä sivut aukeamiksi alkaen parilliselta sivulta +spread_even_label=Parilliselta alkavat aukeamat + +# Document properties dialog box +document_properties.title=Dokumentin ominaisuudet… +document_properties_label=Dokumentin ominaisuudet… +document_properties_file_name=Tiedostonimi: +document_properties_file_size=Tiedoston koko: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} kt ({{size_b}} tavua) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} Mt ({{size_b}} tavua) +document_properties_title=Otsikko: +document_properties_author=Tekijä: +document_properties_subject=Aihe: +document_properties_keywords=Avainsanat: +document_properties_creation_date=Luomispäivämäärä: +document_properties_modification_date=Muokkauspäivämäärä: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Luoja: +document_properties_producer=PDF-tuottaja: +document_properties_version=PDF-versio: +document_properties_page_count=Sivujen määrä: +document_properties_page_size=Sivun koko: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=pysty +document_properties_page_size_orientation_landscape=vaaka +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Nopea web-katselu: +document_properties_linearized_yes=Kyllä +document_properties_linearized_no=Ei +document_properties_close=Sulje + +print_progress_message=Valmistellaan dokumenttia tulostamista varten… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}} % +print_progress_close=Peruuta + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Näytä/piilota sivupaneeli +toggle_sidebar_notification2.title=Näytä/piilota sivupaneeli (dokumentissa on sisällys/liitteitä/tasoja) +toggle_sidebar_label=Näytä/piilota sivupaneeli +document_outline.title=Näytä dokumentin sisällys (laajenna tai kutista kohdat kaksoisnapsauttamalla) +document_outline_label=Dokumentin sisällys +attachments.title=Näytä liitteet +attachments_label=Liitteet +layers.title=Näytä tasot (kaksoisnapsauta palauttaaksesi kaikki tasot oletustilaan) +layers_label=Tasot +thumbs.title=Näytä pienoiskuvat +thumbs_label=Pienoiskuvat +current_outline_item.title=Etsi nykyinen sisällyksen kohta +current_outline_item_label=Nykyinen sisällyksen kohta +findbar.title=Etsi dokumentista +findbar_label=Etsi + +additional_layers=Lisätasot +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Sivu {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Sivu {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Pienoiskuva sivusta {{page}} + +# Find panel button title and messages +find_input.title=Etsi +find_input.placeholder=Etsi dokumentista… +find_previous.title=Etsi hakusanan edellinen osuma +find_previous_label=Edellinen +find_next.title=Etsi hakusanan seuraava osuma +find_next_label=Seuraava +find_highlight=Korosta kaikki +find_match_case_label=Huomioi kirjainkoko +find_entire_word_label=Kokonaiset sanat +find_reached_top=Päästiin dokumentin alkuun, jatketaan lopusta +find_reached_bottom=Päästiin dokumentin loppuun, jatketaan alusta +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} / {{total}} osuma +find_match_count[two]={{current}} / {{total}} osumaa +find_match_count[few]={{current}} / {{total}} osumaa +find_match_count[many]={{current}} / {{total}} osumaa +find_match_count[other]={{current}} / {{total}} osumaa +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Enemmän kuin {{limit}} osumaa +find_match_count_limit[one]=Enemmän kuin {{limit}} osuma +find_match_count_limit[two]=Enemmän kuin {{limit}} osumaa +find_match_count_limit[few]=Enemmän kuin {{limit}} osumaa +find_match_count_limit[many]=Enemmän kuin {{limit}} osumaa +find_match_count_limit[other]=Enemmän kuin {{limit}} osumaa +find_not_found=Hakusanaa ei löytynyt + +# Error panel labels +error_more_info=Lisätietoja +error_less_info=Lisätietoja +error_close=Sulje +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (kooste: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Virheilmoitus: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pino: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Tiedosto: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Rivi: {{line}} +rendering_error=Tapahtui virhe piirrettäessä sivua. + +# Predefined zoom values +page_scale_width=Sivun leveys +page_scale_fit=Koko sivu +page_scale_auto=Automaattinen suurennus +page_scale_actual=Todellinen koko +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}} % + +# Loading indicator messages +loading=Ladataan… +loading_error=Tapahtui virhe ladattaessa PDF-tiedostoa. +invalid_file_error=Virheellinen tai vioittunut PDF-tiedosto. +missing_file_error=Puuttuva PDF-tiedosto. +unexpected_response_error=Odottamaton vastaus palvelimelta. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Annotation] +password_label=Kirjoita PDF-tiedoston salasana. +password_invalid=Virheellinen salasana. Yritä uudestaan. +password_ok=OK +password_cancel=Peruuta + +printing_not_supported=Varoitus: Selain ei tue kaikkia tulostustapoja. +printing_not_ready=Varoitus: PDF-tiedosto ei ole vielä latautunut kokonaan, eikä sitä voi vielä tulostaa. +web_fonts_disabled=Verkkosivujen omat kirjasinlajit on estetty: ei voida käyttää upotettuja PDF-kirjasinlajeja. diff --git a/app/assets/javascripts/publications/locale/fr/viewer.properties b/app/assets/javascripts/publications/locale/fr/viewer.properties new file mode 100644 index 0000000..54d8033 --- /dev/null +++ b/app/assets/javascripts/publications/locale/fr/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Page précédente +previous_label=Précédent +next.title=Page suivante +next_label=Suivant + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Page +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=sur {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} sur {{pagesCount}}) + +zoom_out.title=Zoom arrière +zoom_out_label=Zoom arrière +zoom_in.title=Zoom avant +zoom_in_label=Zoom avant +zoom.title=Zoom +presentation_mode.title=Basculer en mode présentation +presentation_mode_label=Mode présentation +open_file.title=Ouvrir le fichier +open_file_label=Ouvrir le fichier +print.title=Imprimer +print_label=Imprimer +download.title=Télécharger +download_label=Télécharger +bookmark.title=Affichage courant (copier ou ouvrir dans une nouvelle fenêtre) +bookmark_label=Affichage actuel + +# Secondary toolbar and context menu +tools.title=Outils +tools_label=Outils +first_page.title=Aller à la première page +first_page_label=Aller à la première page +last_page.title=Aller à la dernière page +last_page_label=Aller à la dernière page +page_rotate_cw.title=Rotation horaire +page_rotate_cw_label=Rotation horaire +page_rotate_ccw.title=Rotation antihoraire +page_rotate_ccw_label=Rotation antihoraire + +cursor_text_select_tool.title=Activer l’outil de sélection de texte +cursor_text_select_tool_label=Outil de sélection de texte +cursor_hand_tool.title=Activer l’outil main +cursor_hand_tool_label=Outil main + +scroll_page.title=Utiliser le défilement par page +scroll_page_label=Défilement par page +scroll_vertical.title=Utiliser le défilement vertical +scroll_vertical_label=Défilement vertical +scroll_horizontal.title=Utiliser le défilement horizontal +scroll_horizontal_label=Défilement horizontal +scroll_wrapped.title=Utiliser le défilement par bloc +scroll_wrapped_label=Défilement par bloc + +spread_none.title=Ne pas afficher les pages deux à deux +spread_none_label=Pas de double affichage +spread_odd.title=Afficher les pages par deux, impaires à gauche +spread_odd_label=Doubles pages, impaires à gauche +spread_even.title=Afficher les pages par deux, paires à gauche +spread_even_label=Doubles pages, paires à gauche + +# Document properties dialog box +document_properties.title=Propriétés du document… +document_properties_label=Propriétés du document… +document_properties_file_name=Nom du fichier : +document_properties_file_size=Taille du fichier : +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} Ko ({{size_b}} octets) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} Mo ({{size_b}} octets) +document_properties_title=Titre : +document_properties_author=Auteur : +document_properties_subject=Sujet : +document_properties_keywords=Mots-clés : +document_properties_creation_date=Date de création : +document_properties_modification_date=Modifié le : +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}} à {{time}} +document_properties_creator=Créé par : +document_properties_producer=Outil de conversion PDF : +document_properties_version=Version PDF : +document_properties_page_count=Nombre de pages : +document_properties_page_size=Taille de la page : +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=portrait +document_properties_page_size_orientation_landscape=paysage +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=lettre +document_properties_page_size_name_legal=document juridique +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Affichage rapide des pages web : +document_properties_linearized_yes=Oui +document_properties_linearized_no=Non +document_properties_close=Fermer + +print_progress_message=Préparation du document pour l’impression… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}} % +print_progress_close=Annuler + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Afficher/Masquer le panneau latéral +toggle_sidebar_notification2.title=Afficher/Masquer le panneau latéral (le document contient des signets/pièces jointes/calques) +toggle_sidebar_label=Afficher/Masquer le panneau latéral +document_outline.title=Afficher les signets du document (double-cliquer pour développer/réduire tous les éléments) +document_outline_label=Signets du document +attachments.title=Afficher les pièces jointes +attachments_label=Pièces jointes +layers.title=Afficher les calques (double-cliquer pour réinitialiser tous les calques à l’état par défaut) +layers_label=Calques +thumbs.title=Afficher les vignettes +thumbs_label=Vignettes +current_outline_item.title=Trouver l’élément de plan actuel +current_outline_item_label=Élément de plan actuel +findbar.title=Rechercher dans le document +findbar_label=Rechercher + +additional_layers=Calques additionnels +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Page {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Page {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Vignette de la page {{page}} + +# Find panel button title and messages +find_input.title=Rechercher +find_input.placeholder=Rechercher dans le document… +find_previous.title=Trouver l’occurrence précédente de l’expression +find_previous_label=Précédent +find_next.title=Trouver la prochaine occurrence de l’expression +find_next_label=Suivant +find_highlight=Tout surligner +find_match_case_label=Respecter la casse +find_entire_word_label=Mots entiers +find_reached_top=Haut de la page atteint, poursuite depuis la fin +find_reached_bottom=Bas de la page atteint, poursuite au début +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]=Occurrence {{current}} sur {{total}} +find_match_count[two]=Occurrence {{current}} sur {{total}} +find_match_count[few]=Occurrence {{current}} sur {{total}} +find_match_count[many]=Occurrence {{current}} sur {{total}} +find_match_count[other]=Occurrence {{current}} sur {{total}} +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Plus de {{limit}} correspondances +find_match_count_limit[one]=Plus de {{limit}} correspondance +find_match_count_limit[two]=Plus de {{limit}} correspondances +find_match_count_limit[few]=Plus de {{limit}} correspondances +find_match_count_limit[many]=Plus de {{limit}} correspondances +find_match_count_limit[other]=Plus de {{limit}} correspondances +find_not_found=Expression non trouvée + +# Error panel labels +error_more_info=Plus d’informations +error_less_info=Moins d’informations +error_close=Fermer +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (identifiant de compilation : {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Message : {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pile : {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fichier : {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Ligne : {{line}} +rendering_error=Une erreur s’est produite lors de l’affichage de la page. + +# Predefined zoom values +page_scale_width=Pleine largeur +page_scale_fit=Page entière +page_scale_auto=Zoom automatique +page_scale_actual=Taille réelle +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}} % + +# Loading indicator messages +loading=Chargement… +loading_error=Une erreur s’est produite lors du chargement du fichier PDF. +invalid_file_error=Fichier PDF invalide ou corrompu. +missing_file_error=Fichier PDF manquant. +unexpected_response_error=Réponse inattendue du serveur. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}} à {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Annotation {{type}}] +password_label=Veuillez saisir le mot de passe pour ouvrir ce fichier PDF. +password_invalid=Mot de passe incorrect. Veuillez réessayer. +password_ok=OK +password_cancel=Annuler + +printing_not_supported=Attention : l’impression n’est pas totalement prise en charge par ce navigateur. +printing_not_ready=Attention : le PDF n’est pas entièrement chargé pour pouvoir l’imprimer. +web_fonts_disabled=Les polices web sont désactivées : impossible d’utiliser les polices intégrées au PDF. diff --git a/app/assets/javascripts/publications/locale/fy-NL/viewer.properties b/app/assets/javascripts/publications/locale/fy-NL/viewer.properties new file mode 100644 index 0000000..09064e9 --- /dev/null +++ b/app/assets/javascripts/publications/locale/fy-NL/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Foarige side +previous_label=Foarige +next.title=Folgjende side +next_label=Folgjende + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Side +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=fan {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} fan {{pagesCount}}) + +zoom_out.title=Utzoome +zoom_out_label=Utzoome +zoom_in.title=Ynzoome +zoom_in_label=Ynzoome +zoom.title=Zoome +presentation_mode.title=Wikselje nei presintaasjemodus +presentation_mode_label=Presintaasjemodus +open_file.title=Bestân iepenje +open_file_label=Iepenje +print.title=Ofdrukke +print_label=Ofdrukke +download.title=Downloade +download_label=Downloade +bookmark.title=Aktuele finster (kopiearje of iepenje yn nij finster) +bookmark_label=Aktuele finster + +# Secondary toolbar and context menu +tools.title=Ark +tools_label=Ark +first_page.title=Gean nei earste side +first_page_label=Gean nei earste side +last_page.title=Gean nei lêste side +last_page_label=Gean nei lêste side +page_rotate_cw.title=Rjochtsom draaie +page_rotate_cw_label=Rjochtsom draaie +page_rotate_ccw.title=Loftsom draaie +page_rotate_ccw_label=Loftsom draaie + +cursor_text_select_tool.title=Tekstseleksjehelpmiddel ynskeakelje +cursor_text_select_tool_label=Tekstseleksjehelpmiddel +cursor_hand_tool.title=Hânhelpmiddel ynskeakelje +cursor_hand_tool_label=Hânhelpmiddel + +scroll_page.title=Sideskowen brûke +scroll_page_label=Sideskowen +scroll_vertical.title=Fertikaal skowe brûke +scroll_vertical_label=Fertikaal skowe +scroll_horizontal.title=Horizontaal skowe brûke +scroll_horizontal_label=Horizontaal skowe +scroll_wrapped.title=Skowe mei oersjoch brûke +scroll_wrapped_label=Skowe mei oersjoch + +spread_none.title=Sidesprieding net gearfetsje +spread_none_label=Gjin sprieding +spread_odd.title=Sidesprieding gearfetsje te starten mei ûneven nûmers +spread_odd_label=Uneven sprieding +spread_even.title=Sidesprieding gearfetsje te starten mei even nûmers +spread_even_label=Even sprieding + +# Document properties dialog box +document_properties.title=Dokuminteigenskippen… +document_properties_label=Dokuminteigenskippen… +document_properties_file_name=Bestânsnamme: +document_properties_file_size=Bestânsgrutte: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Titel: +document_properties_author=Auteur: +document_properties_subject=Underwerp: +document_properties_keywords=Kaaiwurden: +document_properties_creation_date=Oanmaakdatum: +document_properties_modification_date=Bewurkingsdatum: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Makker: +document_properties_producer=PDF-makker: +document_properties_version=PDF-ferzje: +document_properties_page_count=Siden: +document_properties_page_size=Sideformaat: +document_properties_page_size_unit_inches=yn +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=steand +document_properties_page_size_orientation_landscape=lizzend +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Juridysk +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Flugge webwerjefte: +document_properties_linearized_yes=Ja +document_properties_linearized_no=Nee +document_properties_close=Slute + +print_progress_message=Dokumint tariede oar ôfdrukken… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Annulearje + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Sidebalke yn-/útskeakelje +toggle_sidebar_notification2.title=Sidebalke yn-/útskeakelje (dokumint befettet oersjoch/bylagen/lagen) +toggle_sidebar_label=Sidebalke yn-/útskeakelje +document_outline.title=Dokumintoersjoch toane (dûbelklik om alle items út/yn te klappen) +document_outline_label=Dokumintoersjoch +attachments.title=Bylagen toane +attachments_label=Bylagen +layers.title=Lagen toane (dûbelklik om alle lagen nei de standertsteat werom te setten) +layers_label=Lagen +thumbs.title=Foarbylden toane +thumbs_label=Foarbylden +current_outline_item.title=Aktueel item yn ynhâldsopjefte sykje +current_outline_item_label=Aktueel item yn ynhâldsopjefte +findbar.title=Sykje yn dokumint +findbar_label=Sykje + +additional_layers=Oanfoljende lagen +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Side {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Side {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Foarbyld fan side {{page}} + +# Find panel button title and messages +find_input.title=Sykje +find_input.placeholder=Sykje yn dokumint… +find_previous.title=It foarige foarkommen fan de tekst sykje +find_previous_label=Foarige +find_next.title=It folgjende foarkommen fan de tekst sykje +find_next_label=Folgjende +find_highlight=Alles markearje +find_match_case_label=Haadlettergefoelich +find_match_diacritics_label=Diakrityske tekens brûke +find_entire_word_label=Hiele wurden +find_reached_top=Boppekant fan dokumint berikt, trochgien fan ûnder ôf +find_reached_bottom=Ein fan dokumint berikt, trochgien fan boppe ôf +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} fan {{total}} oerienkomst +find_match_count[two]={{current}} fan {{total}} oerienkomsten +find_match_count[few]={{current}} fan {{total}} oerienkomsten +find_match_count[many]={{current}} fan {{total}} oerienkomsten +find_match_count[other]={{current}} fan {{total}} oerienkomsten +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Mear as {{limit}} oerienkomsten +find_match_count_limit[one]=Mear as {{limit}} oerienkomst +find_match_count_limit[two]=Mear as {{limit}} oerienkomsten +find_match_count_limit[few]=Mear as {{limit}} oerienkomsten +find_match_count_limit[many]=Mear as {{limit}} oerienkomsten +find_match_count_limit[other]=Mear as {{limit}} oerienkomsten +find_not_found=Tekst net fûn + +# Error panel labels +error_more_info=Mear ynformaasje +error_less_info=Minder ynformaasje +error_close=Slute +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js f{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Berjocht: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Bestân: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Rigel: {{line}} +rendering_error=Der is in flater bard by it renderjen fan de side. + +# Predefined zoom values +page_scale_width=Sidebreedte +page_scale_fit=Hiele side +page_scale_auto=Automatysk zoome +page_scale_actual=Werklike grutte +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Lade… +loading_error=Der is in flater bard by it laden fan de PDF. +invalid_file_error=Ynfalide of korruptearre PDF-bestân. +missing_file_error=PDF-bestân ûntbrekt. +unexpected_response_error=Unferwacht serverantwurd. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}}-annotaasje] +password_label=Jou it wachtwurd om dit PDF-bestân te iepenjen. +password_invalid=Ferkeard wachtwurd. Probearje opnij. +password_ok=OK +password_cancel=Annulearje + +printing_not_supported=Warning: Printen is net folslein stipe troch dizze browser. +printing_not_ready=Warning: PDF is net folslein laden om ôf te drukken. +web_fonts_disabled=Weblettertypen binne útskeakele: gebrûk fan ynsluten PDF-lettertypen is net mooglik. diff --git a/app/assets/javascripts/publications/locale/ga-IE/viewer.properties b/app/assets/javascripts/publications/locale/ga-IE/viewer.properties new file mode 100644 index 0000000..e82e55b --- /dev/null +++ b/app/assets/javascripts/publications/locale/ga-IE/viewer.properties @@ -0,0 +1,201 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=An Leathanach Roimhe Seo +previous_label=Roimhe Seo +next.title=An Chéad Leathanach Eile +next_label=Ar Aghaidh + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Leathanach +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=as {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} as {{pagesCount}}) + +zoom_out.title=Súmáil Amach +zoom_out_label=Súmáil Amach +zoom_in.title=Súmáil Isteach +zoom_in_label=Súmáil Isteach +zoom.title=Súmáil +presentation_mode.title=Úsáid an Mód Láithreoireachta +presentation_mode_label=Mód Láithreoireachta +open_file.title=Oscail Comhad +open_file_label=Oscail +print.title=Priontáil +print_label=Priontáil +download.title=Íoslódáil +download_label=Íoslódáil +bookmark.title=An t-amharc reatha (cóipeáil nó oscail i bhfuinneog nua) +bookmark_label=An tAmharc Reatha + +# Secondary toolbar and context menu +tools.title=Uirlisí +tools_label=Uirlisí +first_page.title=Go dtí an chéad leathanach +first_page_label=Go dtí an chéad leathanach +last_page.title=Go dtí an leathanach deiridh +last_page_label=Go dtí an leathanach deiridh +page_rotate_cw.title=Rothlaigh ar deiseal +page_rotate_cw_label=Rothlaigh ar deiseal +page_rotate_ccw.title=Rothlaigh ar tuathal +page_rotate_ccw_label=Rothlaigh ar tuathal + +cursor_text_select_tool.title=Cumasaigh an Uirlis Roghnaithe Téacs +cursor_text_select_tool_label=Uirlis Roghnaithe Téacs +cursor_hand_tool.title=Cumasaigh an Uirlis Láimhe +cursor_hand_tool_label=Uirlis Láimhe + + + +# Document properties dialog box +document_properties.title=Airíonna na Cáipéise… +document_properties_label=Airíonna na Cáipéise… +document_properties_file_name=Ainm an chomhaid: +document_properties_file_size=Méid an chomhaid: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} kB ({{size_b}} beart) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} beart) +document_properties_title=Teideal: +document_properties_author=Údar: +document_properties_subject=Ábhar: +document_properties_keywords=Eochairfhocail: +document_properties_creation_date=Dáta Cruthaithe: +document_properties_modification_date=Dáta Athraithe: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Cruthaitheoir: +document_properties_producer=Cruthaitheoir an PDF: +document_properties_version=Leagan PDF: +document_properties_page_count=Líon Leathanach: +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_close=Dún + +print_progress_message=Cáipéis á hullmhú le priontáil… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cealaigh + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Scoránaigh an Barra Taoibh +toggle_sidebar_label=Scoránaigh an Barra Taoibh +document_outline.title=Taispeáin Imlíne na Cáipéise (déchliceáil chun chuile rud a leathnú nó a laghdú) +document_outline_label=Creatlach na Cáipéise +attachments.title=Taispeáin Iatáin +attachments_label=Iatáin +thumbs.title=Taispeáin Mionsamhlacha +thumbs_label=Mionsamhlacha +findbar.title=Aimsigh sa Cháipéis +findbar_label=Aimsigh + +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Leathanach {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Mionsamhail Leathanaigh {{page}} + +# Find panel button title and messages +find_input.title=Aimsigh +find_input.placeholder=Aimsigh sa cháipéis… +find_previous.title=Aimsigh an sampla roimhe seo den nath seo +find_previous_label=Roimhe seo +find_next.title=Aimsigh an chéad sampla eile den nath sin +find_next_label=Ar aghaidh +find_highlight=Aibhsigh uile +find_match_case_label=Cásíogair +find_entire_word_label=Focail iomlána +find_reached_top=Ag barr na cáipéise, ag leanúint ón mbun +find_reached_bottom=Ag bun na cáipéise, ag leanúint ón mbarr +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_not_found=Frása gan aimsiú + +# Error panel labels +error_more_info=Tuilleadh Eolais +error_less_info=Níos Lú Eolais +error_close=Dún +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Teachtaireacht: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Cruach: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Comhad: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Líne: {{line}} +rendering_error=Tharla earráid agus an leathanach á leagan amach. + +# Predefined zoom values +page_scale_width=Leithead Leathanaigh +page_scale_fit=Laghdaigh go dtí an Leathanach +page_scale_auto=Súmáil Uathoibríoch +page_scale_actual=Fíormhéid +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading_error=Tharla earráid agus an cháipéis PDF á lódáil. +invalid_file_error=Comhad neamhbhailí nó truaillithe PDF. +missing_file_error=Comhad PDF ar iarraidh. +unexpected_response_error=Freagra ón bhfreastalaí nach rabhthas ag súil leis. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anótáil {{type}}] +password_label=Cuir an focal faire isteach chun an comhad PDF seo a oscailt. +password_invalid=Focal faire mícheart. Déan iarracht eile. +password_ok=OK +password_cancel=Cealaigh + +printing_not_supported=Rabhadh: Ní thacaíonn an brabhsálaí le priontáil go hiomlán. +printing_not_ready=Rabhadh: Ní féidir an PDF a phriontáil go dtí go mbeidh an cháipéis iomlán lódáilte. +web_fonts_disabled=Tá clófhoirne Gréasáin díchumasaithe: ní féidir clófhoirne leabaithe PDF a úsáid. diff --git a/app/assets/javascripts/publications/locale/gd/viewer.properties b/app/assets/javascripts/publications/locale/gd/viewer.properties new file mode 100644 index 0000000..4f056b1 --- /dev/null +++ b/app/assets/javascripts/publications/locale/gd/viewer.properties @@ -0,0 +1,248 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=An duilleag roimhe +previous_label=Air ais +next.title=An ath-dhuilleag +next_label=Air adhart + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Duilleag +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=à {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} à {{pagesCount}}) + +zoom_out.title=Sùm a-mach +zoom_out_label=Sùm a-mach +zoom_in.title=Sùm a-steach +zoom_in_label=Sùm a-steach +zoom.title=Sùm +presentation_mode.title=Gearr leum dhan mhodh taisbeanaidh +presentation_mode_label=Am modh taisbeanaidh +open_file.title=Fosgail faidhle +open_file_label=Fosgail +print.title=Clò-bhuail +print_label=Clò-bhuail +download.title=Luchdaich a-nuas +download_label=Luchdaich a-nuas +bookmark.title=An sealladh làithreach (dèan lethbhreac no fosgail e ann an uinneag ùr) +bookmark_label=An sealladh làithreach + +# Secondary toolbar and context menu +tools.title=Innealan +tools_label=Innealan +first_page.title=Rach gun chiad duilleag +first_page_label=Rach gun chiad duilleag +last_page.title=Rach gun duilleag mu dheireadh +last_page_label=Rach gun duilleag mu dheireadh +page_rotate_cw.title=Cuairtich gu deiseil +page_rotate_cw_label=Cuairtich gu deiseil +page_rotate_ccw.title=Cuairtich gu tuathail +page_rotate_ccw_label=Cuairtich gu tuathail + +cursor_text_select_tool.title=Cuir an comas inneal taghadh an teacsa +cursor_text_select_tool_label=Inneal taghadh an teacsa +cursor_hand_tool.title=Cuir inneal na làimhe an comas +cursor_hand_tool_label=Inneal na làimhe + +scroll_vertical.title=Cleachd sgroladh inghearach +scroll_vertical_label=Sgroladh inghearach +scroll_horizontal.title=Cleachd sgroladh còmhnard +scroll_horizontal_label=Sgroladh còmhnard +scroll_wrapped.title=Cleachd sgroladh paisgte +scroll_wrapped_label=Sgroladh paisgte + +spread_none.title=Na cuir còmhla sgoileadh dhuilleagan +spread_none_label=Gun sgaoileadh dhuilleagan +spread_odd.title=Cuir còmhla duilleagan sgaoilte a thòisicheas le duilleagan aig a bheil àireamh chorr +spread_odd_label=Sgaoileadh dhuilleagan corra +spread_even.title=Cuir còmhla duilleagan sgaoilte a thòisicheas le duilleagan aig a bheil àireamh chothrom +spread_even_label=Sgaoileadh dhuilleagan cothrom + +# Document properties dialog box +document_properties.title=Roghainnean na sgrìobhainne… +document_properties_label=Roghainnean na sgrìobhainne… +document_properties_file_name=Ainm an fhaidhle: +document_properties_file_size=Meud an fhaidhle: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Tiotal: +document_properties_author=Ùghdar: +document_properties_subject=Cuspair: +document_properties_keywords=Faclan-luirg: +document_properties_creation_date=Latha a chruthachaidh: +document_properties_modification_date=Latha atharrachaidh: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Cruthadair: +document_properties_producer=Saothraiche a' PDF: +document_properties_version=Tionndadh a' PDF: +document_properties_page_count=Àireamh de dhuilleagan: +document_properties_page_size=Meud na duilleige: +document_properties_page_size_unit_inches=ann an +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=portraid +document_properties_page_size_orientation_landscape=dreach-tìre +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Litir +document_properties_page_size_name_legal=Laghail +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Grad shealladh-lìn: +document_properties_linearized_yes=Tha +document_properties_linearized_no=Chan eil +document_properties_close=Dùin + +print_progress_message=Ag ullachadh na sgrìobhainn airson clò-bhualadh… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Sguir dheth + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Toglaich am bàr-taoibh +toggle_sidebar_notification2.title=Toglaich am bàr-taoibh (tha oir-loidhne/ceanglachain/breathan aig an sgrìobhainn) +toggle_sidebar_label=Toglaich am bàr-taoibh +document_outline.title=Seall oir-loidhne na sgrìobhainn (dèan briogadh dùbailte airson a h-uile nì a leudachadh/a cho-theannadh) +document_outline_label=Oir-loidhne na sgrìobhainne +attachments.title=Seall na ceanglachain +attachments_label=Ceanglachain +layers.title=Seall na breathan (dèan briogadh dùbailte airson a h-uile breath ath-shuidheachadh dhan staid bhunaiteach) +layers_label=Breathan +thumbs.title=Seall na dealbhagan +thumbs_label=Dealbhagan +current_outline_item.title=Lorg nì làithreach na h-oir-loidhne +current_outline_item_label=Nì làithreach na h-oir-loidhne +findbar.title=Lorg san sgrìobhainn +findbar_label=Lorg + +additional_layers=Barrachd breathan +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Duilleag {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Duilleag a {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Dealbhag duilleag a {{page}} + +# Find panel button title and messages +find_input.title=Lorg +find_input.placeholder=Lorg san sgrìobhainn... +find_previous.title=Lorg làthair roimhe na h-abairt seo +find_previous_label=Air ais +find_next.title=Lorg ath-làthair na h-abairt seo +find_next_label=Air adhart +find_highlight=Soillsich a h-uile +find_match_case_label=Aire do litrichean mòra is beaga +find_entire_word_label=Faclan-slàna +find_reached_top=Ràinig sinn barr na duilleige, a' leantainn air adhart o bhonn na duilleige +find_reached_bottom=Ràinig sinn bonn na duilleige, a' leantainn air adhart o bharr na duilleige +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} à {{total}} mhaids +find_match_count[two]={{current}} à {{total}} mhaids +find_match_count[few]={{current}} à {{total}} maidsichean +find_match_count[many]={{current}} à {{total}} maids +find_match_count[other]={{current}} à {{total}} maids +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Barrachd air {{limit}} maids +find_match_count_limit[one]=Barrachd air {{limit}} mhaids +find_match_count_limit[two]=Barrachd air {{limit}} mhaids +find_match_count_limit[few]=Barrachd air {{limit}} maidsichean +find_match_count_limit[many]=Barrachd air {{limit}} maids +find_match_count_limit[other]=Barrachd air {{limit}} maids +find_not_found=Cha deach an abairt a lorg + +# Error panel labels +error_more_info=Barrachd fiosrachaidh +error_less_info=Nas lugha de dh'fhiosrachadh +error_close=Dùin +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Teachdaireachd: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stac: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Faidhle: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Loidhne: {{line}} +rendering_error=Thachair mearachd rè reandaradh na duilleige. + +# Predefined zoom values +page_scale_width=Leud na duilleige +page_scale_fit=Freagair ri meud na duilleige +page_scale_auto=Sùm fèin-obrachail +page_scale_actual=Am fìor-mheud +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=’Ga luchdadh… +loading_error=Thachair mearachd rè luchdadh a' PDF. +invalid_file_error=Faidhle PDF a tha mì-dhligheach no coirbte. +missing_file_error=Faidhle PDF a tha a dhìth. +unexpected_response_error=Freagairt on fhrithealaiche ris nach robh dùil. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Nòtachadh {{type}}] +password_label=Cuir a-steach am facal-faire gus am faidhle PDF seo fhosgladh. +password_invalid=Tha am facal-faire cearr. Nach fheuch thu ris a-rithist? +password_ok=Ceart ma-thà +password_cancel=Sguir dheth + +printing_not_supported=Rabhadh: Chan eil am brabhsair seo a' cur làn-taic ri clò-bhualadh. +printing_not_ready=Rabhadh: Cha deach am PDF a luchdadh gu tur airson clò-bhualadh. +web_fonts_disabled=Tha cruthan-clò lìn à comas: Chan urrainn dhuinn cruthan-clò PDF leabaichte a chleachdadh. diff --git a/app/assets/javascripts/publications/locale/gl/viewer.properties b/app/assets/javascripts/publications/locale/gl/viewer.properties new file mode 100644 index 0000000..d4ea817 --- /dev/null +++ b/app/assets/javascripts/publications/locale/gl/viewer.properties @@ -0,0 +1,248 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Páxina anterior +previous_label=Anterior +next.title=Seguinte páxina +next_label=Seguinte + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Páxina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=de {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} de {{pagesCount}}) + +zoom_out.title=Reducir +zoom_out_label=Reducir +zoom_in.title=Ampliar +zoom_in_label=Ampliar +zoom.title=Zoom +presentation_mode.title=Cambiar ao modo presentación +presentation_mode_label=Modo presentación +open_file.title=Abrir ficheiro +open_file_label=Abrir +print.title=Imprimir +print_label=Imprimir +download.title=Descargar +download_label=Descargar +bookmark.title=Vista actual (copiar ou abrir nunha nova xanela) +bookmark_label=Vista actual + +# Secondary toolbar and context menu +tools.title=Ferramentas +tools_label=Ferramentas +first_page.title=Ir á primeira páxina +first_page_label=Ir á primeira páxina +last_page.title=Ir á última páxina +last_page_label=Ir á última páxina +page_rotate_cw.title=Rotar no sentido das agullas do reloxo +page_rotate_cw_label=Rotar no sentido das agullas do reloxo +page_rotate_ccw.title=Rotar no sentido contrario ás agullas do reloxo +page_rotate_ccw_label=Rotar no sentido contrario ás agullas do reloxo + +cursor_text_select_tool.title=Activar a ferramenta de selección de texto +cursor_text_select_tool_label=Ferramenta de selección de texto +cursor_hand_tool.title=Activar a ferramenta man +cursor_hand_tool_label=Ferramenta man + +scroll_vertical.title=Usar o desprazamento vertical +scroll_vertical_label=Desprazamento vertical +scroll_horizontal.title=Usar o desprazamento horizontal +scroll_horizontal_label=Desprazamento horizontal +scroll_wrapped.title=Usar desprazamento en bloque +scroll_wrapped_label=Desprazamento en bloque + +spread_none.title=Non agrupar páxinas +spread_none_label=Ningún agrupamento +spread_odd.title=Crea grupo de páxinas que comezan con números de páxina impares +spread_odd_label=Agrupamento impar +spread_even.title=Crea grupo de páxinas que comezan con números de páxina pares +spread_even_label=Agrupamento par + +# Document properties dialog box +document_properties.title=Propiedades do documento… +document_properties_label=Propiedades do documento… +document_properties_file_name=Nome do ficheiro: +document_properties_file_size=Tamaño do ficheiro: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Título: +document_properties_author=Autor: +document_properties_subject=Asunto: +document_properties_keywords=Palabras clave: +document_properties_creation_date=Data de creación: +document_properties_modification_date=Data de modificación: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Creado por: +document_properties_producer=Xenerador do PDF: +document_properties_version=Versión de PDF: +document_properties_page_count=Número de páxinas: +document_properties_page_size=Tamaño da páxina: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=Vertical +document_properties_page_size_orientation_landscape=Horizontal +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Carta +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Visualización rápida das páxinas web: +document_properties_linearized_yes=Si +document_properties_linearized_no=Non +document_properties_close=Pechar + +print_progress_message=Preparando documento para imprimir… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cancelar + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Amosar/agochar a barra lateral +toggle_sidebar_notification2.title=Alternar barra lateral (o documento contén esquema/anexos/capas) +toggle_sidebar_label=Amosar/agochar a barra lateral +document_outline.title=Amosar o esquema do documento (prema dúas veces para expandir/contraer todos os elementos) +document_outline_label=Esquema do documento +attachments.title=Amosar anexos +attachments_label=Anexos +layers.title=Mostrar capas (prema dúas veces para restaurar todas as capas o estado predeterminado) +layers_label=Capas +thumbs.title=Amosar miniaturas +thumbs_label=Miniaturas +current_outline_item.title=Atopar o elemento delimitado actualmente +current_outline_item_label=Elemento delimitado actualmente +findbar.title=Atopar no documento +findbar_label=Atopar + +additional_layers=Capas adicionais +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Páxina {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Páxina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura da páxina {{page}} + +# Find panel button title and messages +find_input.title=Atopar +find_input.placeholder=Atopar no documento… +find_previous.title=Atopar a anterior aparición da frase +find_previous_label=Anterior +find_next.title=Atopar a seguinte aparición da frase +find_next_label=Seguinte +find_highlight=Realzar todo +find_match_case_label=Diferenciar maiúsculas de minúsculas +find_entire_word_label=Palabras completas +find_reached_top=Chegouse ao inicio do documento, continuar desde o final +find_reached_bottom=Chegouse ao final do documento, continuar desde o inicio +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} de {{total}} coincidencia +find_match_count[two]={{current}} de {{total}} coincidencias +find_match_count[few]={{current}} de {{total}} coincidencias +find_match_count[many]={{current}} de {{total}} coincidencias +find_match_count[other]={{current}} de {{total}} coincidencias +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Máis de {{limit}} coincidencias +find_match_count_limit[one]=Máis de {{limit}} coincidencia +find_match_count_limit[two]=Máis de {{limit}} coincidencias +find_match_count_limit[few]=Máis de {{limit}} coincidencias +find_match_count_limit[many]=Máis de {{limit}} coincidencias +find_match_count_limit[other]=Máis de {{limit}} coincidencias +find_not_found=Non se atopou a frase + +# Error panel labels +error_more_info=Máis información +error_less_info=Menos información +error_close=Pechar +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (Identificador da compilación: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mensaxe: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Ficheiro: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Liña: {{line}} +rendering_error=Produciuse un erro ao representar a páxina. + +# Predefined zoom values +page_scale_width=Largura da páxina +page_scale_fit=Axuste de páxina +page_scale_auto=Zoom automático +page_scale_actual=Tamaño actual +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=A cargar… +loading_error=Produciuse un erro ao cargar o PDF. +invalid_file_error=Ficheiro PDF danado ou non válido. +missing_file_error=Falta o ficheiro PDF. +unexpected_response_error=Resposta inesperada do servidor. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anotación {{type}}] +password_label=Escriba o contrasinal para abrir este ficheiro PDF. +password_invalid=Contrasinal incorrecto. Tente de novo. +password_ok=Aceptar +password_cancel=Cancelar + +printing_not_supported=Aviso: A impresión non é compatíbel de todo con este navegador. +printing_not_ready=Aviso: O PDF non se cargou completamente para imprimirse. +web_fonts_disabled=Desactiváronse as fontes web: foi imposíbel usar as fontes incrustadas no PDF. diff --git a/app/assets/javascripts/publications/locale/gn/viewer.properties b/app/assets/javascripts/publications/locale/gn/viewer.properties new file mode 100644 index 0000000..e443df9 --- /dev/null +++ b/app/assets/javascripts/publications/locale/gn/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Kuatiarogue mboyvegua +previous_label=Mboyvegua +next.title=Kuatiarogue upeigua +next_label=Upeigua + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Kuatiarogue +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages={{pagesCount}} gui +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} of {{pagesCount}}) + +zoom_out.title=Momichĩ +zoom_out_label=Momichĩ +zoom_in.title=Mbotuicha +zoom_in_label=Mbotuicha +zoom.title=Tuichakue +presentation_mode.title=Jehechauka reko moambue +presentation_mode_label=Jehechauka reko +open_file.title=Marandurendápe jeike +open_file_label=Jeike +print.title=Monguatia +print_label=Monguatia +download.title=Mboguejy +download_label=Mboguejy +bookmark.title=Ag̃agua jehecha (mbohasarã térã eike peteĩ ovetã pyahúpe) +bookmark_label=Ag̃agua jehecha + +# Secondary toolbar and context menu +tools.title=Tembipuru +tools_label=Tembipuru +first_page.title=Kuatiarogue ñepyrũme jeho +first_page_label=Kuatiarogue ñepyrũme jeho +last_page.title=Kuatiarogue pahápe jeho +last_page_label=Kuatiarogue pahápe jeho +page_rotate_cw.title=Aravóicha mbojere +page_rotate_cw_label=Aravóicha mbojere +page_rotate_ccw.title=Aravo rapykue gotyo mbojere +page_rotate_ccw_label=Aravo rapykue gotyo mbojere + +cursor_text_select_tool.title=Emyandy moñe’ẽrã jeporavo rembipuru +cursor_text_select_tool_label=Moñe’ẽrã jeporavo rembipuru +cursor_hand_tool.title=Tembipuru po pegua myandy +cursor_hand_tool_label=Tembipuru po pegua + +scroll_page.title=Eipuru kuatiarogue jeku’e +scroll_page_label=Kuatiarogue jeku’e +scroll_vertical.title=Eipuru jeku’e ykeguáva +scroll_vertical_label=Jeku’e ykeguáva +scroll_horizontal.title=Eipuru jeku’e yvate gotyo +scroll_horizontal_label=Jeku’e yvate gotyo +scroll_wrapped.title=Eipuru jeku’e mbohyrupyre +scroll_wrapped_label=Jeku’e mbohyrupyre + +spread_none.title=Ani ejuaju spreads kuatiarogue ndive +spread_none_label=Spreads ỹre +spread_odd.title=Embojuaju kuatiarogue jepysokue eñepyrũvo kuatiarogue impar-vagui +spread_odd_label=Spreads impar +spread_even.title=Embojuaju kuatiarogue jepysokue eñepyrũvo kuatiarogue par-vagui +spread_even_label=Ipukuve uvei + +# Document properties dialog box +document_properties.title=Kuatia mba’etee… +document_properties_label=Kuatia mba’etee… +document_properties_file_name=Marandurenda réra: +document_properties_file_size=Marandurenda tuichakue: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Teratee: +document_properties_author=Apohára: +document_properties_subject=Mba’egua: +document_properties_keywords=Jehero: +document_properties_creation_date=Teñoihague arange: +document_properties_modification_date=Iñambue hague arange: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Apo’ypyha: +document_properties_producer=PDF mbosako’iha: +document_properties_version=PDF mbojuehegua: +document_properties_page_count=Kuatiarogue papapy: +document_properties_page_size=Kuatiarogue tuichakue: +document_properties_page_size_unit_inches=Amo +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=Oĩháicha +document_properties_page_size_orientation_landscape=apaisado +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Kuatiañe’ẽ +document_properties_page_size_name_legal=Tee +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Ñanduti jahecha pya’e: +document_properties_linearized_yes=Añete +document_properties_linearized_no=Ahániri +document_properties_close=Mboty + +print_progress_message=Embosako’i kuatia emonguatia hag̃ua… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Heja + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Tenda yke moambue +toggle_sidebar_notification2.title=Embojopyru tenda ykegua (kuatia oguereko kuaakaha/moirũha/ñuãha) +toggle_sidebar_label=Tenda yke moambue +document_outline.title=Ehechauka kuatia rape (eikutu mokõi jey embotuicha/emomichĩ hag̃ua opavavete mba’epuru) +document_outline_label=Kuatia apopyre +attachments.title=Moirũha jehechauka +attachments_label=Moirũha +layers.title=Ehechauka ñuãha (eikutu jo’a emomba’apo hag̃ua opaite ñuãha tekoypýpe) +layers_label=Ñuãha +thumbs.title=Mba’emirĩ jehechauka +thumbs_label=Mba’emirĩ +current_outline_item.title=Eheka mba’epuru ag̃aguaitéva +current_outline_item_label=Mba’epuru ag̃aguaitéva +findbar.title=Kuatiápe jeheka +findbar_label=Juhu + +additional_layers=Ñuãha moirũguáva +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Kuatiarogue {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Kuatiarogue {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Kuatiarogue mba’emirĩ {{page}} + +# Find panel button title and messages +find_input.title=Juhu +find_input.placeholder=Kuatiápe jejuhu… +find_previous.title=Ejuhu ñe’ẽrysýi osẽ’ypy hague +find_previous_label=Mboyvegua +find_next.title=Eho ñe’ẽ juhupyre upeiguávape +find_next_label=Upeigua +find_highlight=Embojekuaavepa +find_match_case_label=Ejesareko taiguasu/taimichĩre +find_entire_word_label=Ñe’ẽ oĩmbáva +find_reached_top=Ojehupyty kuatia ñepyrũ, oku’ejeýta kuatia paha guive +find_reached_bottom=Ojehupyty kuatia paha, oku’ejeýta kuatia ñepyrũ guive +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} {{total}} ojojoguáva +find_match_count[two]={{current}} {{total}} ojojoguáva +find_match_count[few]={{current}} {{total}} ojojoguáva +find_match_count[many]={{current}} {{total}} ojojoguáva +find_match_count[other]={{current}} {{total}} ojojoguáva +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Hetave {{limit}} ojojoguáva +find_match_count_limit[one]=Hetave {{limit}} ojojogua +find_match_count_limit[two]=Hetave {{limit}} ojojoguáva +find_match_count_limit[few]=Hetave {{limit}} ojojoguáva +find_match_count_limit[many]=Hetave {{limit}} ojojoguáva +find_match_count_limit[other]=Hetave {{limit}} ojojoguáva +find_not_found=Ñe’ẽrysýi ojejuhu’ỹva + +# Error panel labels +error_more_info=Maranduve +error_less_info=Sa’ive marandu +error_close=Mboty +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Ñe’ẽmondo: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Mbojo’apy: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Marandurenda: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Tairenda: {{line}} +rendering_error=Oiko jejavy ehechaukasévo kuatiarogue. + +# Predefined zoom values +page_scale_width=Kuatiarogue pekue +page_scale_fit=Kuatiarogue ñemoĩporã +page_scale_auto=Tuichakue ijeheguíva +page_scale_actual=Tuichakue ag̃agua +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Henyhẽhína… +loading_error=Oiko jejavy PDF oñemyeñyhẽnguévo. +invalid_file_error=PDF marandurenda ndoikóiva térã ivaipyréva. +missing_file_error=Ndaipóri PDF marandurenda +unexpected_response_error=Mohendahavusu mbohovái ñeha’arõ’ỹva. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Jehaipy {{type}}] +password_label=Emoinge ñe’ẽñemi eipe’a hag̃ua ko marandurenda PDF. +password_invalid=Ñe’ẽñemi ndoikóiva. Eha’ã jey. +password_ok=MONEĨ +password_cancel=Heja + +printing_not_supported=Kyhyjerã: Ñembokuatia ndojokupytypái ko kundahára ndive. +printing_not_ready=Kyhyjerã: Ko PDF nahenyhẽmbái oñembokuatia hag̃uáicha. +web_fonts_disabled=Ñanduti taity oñemongéma: ndaikatumo’ãi eipuru PDF jehai’íva taity. diff --git a/app/assets/javascripts/publications/locale/gu-IN/viewer.properties b/app/assets/javascripts/publications/locale/gu-IN/viewer.properties new file mode 100644 index 0000000..174d464 --- /dev/null +++ b/app/assets/javascripts/publications/locale/gu-IN/viewer.properties @@ -0,0 +1,234 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=પહેલાનુ પાનું +previous_label=પહેલાનુ +next.title=આગળનુ પાનું +next_label=આગળનું + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=પાનું +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=નો {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} નો {{pagesCount}}) + +zoom_out.title=મોટુ કરો +zoom_out_label=મોટુ કરો +zoom_in.title=નાનું કરો +zoom_in_label=નાનું કરો +zoom.title=નાનું મોટુ કરો +presentation_mode.title=રજૂઆત સ્થિતિમાં જાવ +presentation_mode_label=રજૂઆત સ્થિતિ +open_file.title=ફાઇલ ખોલો +open_file_label=ખોલો +print.title=છાપો +print_label=છારો +download.title=ડાઉનલોડ +download_label=ડાઉનલોડ +bookmark.title=વર્તમાન દૃશ્ય (નવી વિન્ડોમાં નકલ કરો અથવા ખોલો) +bookmark_label=વર્તમાન દૃશ્ય + +# Secondary toolbar and context menu +tools.title=સાધનો +tools_label=સાધનો +first_page.title=પહેલાં પાનામાં જાવ +first_page_label=પ્રથમ પાનાં પર જાવ +last_page.title=છેલ્લા પાનાં પર જાવ +last_page_label=છેલ્લા પાનાં પર જાવ +page_rotate_cw.title=ઘડિયાળનાં કાંટા તરફ ફેરવો +page_rotate_cw_label=ઘડિયાળનાં કાંટા તરફ ફેરવો +page_rotate_ccw.title=ઘડિયાળનાં કાંટાની ઉલટી દિશામાં ફેરવો +page_rotate_ccw_label=ઘડિયાળનાં કાંટાની વિરુદ્દ ફેરવો + +cursor_text_select_tool.title=ટેક્સ્ટ પસંદગી ટૂલ સક્ષમ કરો +cursor_text_select_tool_label=ટેક્સ્ટ પસંદગી ટૂલ +cursor_hand_tool.title=હાથનાં સાધનને સક્રિય કરો +cursor_hand_tool_label=હેન્ડ ટૂલ + +scroll_vertical.title=ઊભી સ્ક્રોલિંગનો ઉપયોગ કરો +scroll_vertical_label=ઊભી સ્ક્રોલિંગ +scroll_horizontal.title=આડી સ્ક્રોલિંગનો ઉપયોગ કરો +scroll_horizontal_label=આડી સ્ક્રોલિંગ +scroll_wrapped.title=આવરિત સ્ક્રોલિંગનો ઉપયોગ કરો +scroll_wrapped_label=આવરિત સ્ક્રોલિંગ + +spread_none.title=પૃષ્ઠ સ્પ્રેડમાં જોડાવશો નહીં +spread_none_label=કોઈ સ્પ્રેડ નથી +spread_odd.title=એકી-ક્રમાંકિત પૃષ્ઠો સાથે પ્રારંભ થતાં પૃષ્ઠ સ્પ્રેડમાં જોડાઓ +spread_odd_label=એકી સ્પ્રેડ્સ +spread_even.title=નંબર-ક્રમાંકિત પૃષ્ઠોથી શરૂ થતાં પૃષ્ઠ સ્પ્રેડમાં જોડાઓ +spread_even_label=સરખું ફેલાવવું + +# Document properties dialog box +document_properties.title=દસ્તાવેજ ગુણધર્મો… +document_properties_label=દસ્તાવેજ ગુણધર્મો… +document_properties_file_name=ફાઇલ નામ: +document_properties_file_size=ફાઇલ માપ: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} બાઇટ) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} બાઇટ) +document_properties_title=શીર્ષક: +document_properties_author=લેખક: +document_properties_subject=વિષય: +document_properties_keywords=કિવર્ડ: +document_properties_creation_date=નિર્માણ તારીખ: +document_properties_modification_date=ફેરફાર તારીખ: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=નિર્માતા: +document_properties_producer=PDF નિર્માતા: +document_properties_version=PDF આવૃત્તિ: +document_properties_page_count=પાનાં ગણતરી: +document_properties_page_size=પૃષ્ઠનું કદ: +document_properties_page_size_unit_inches=ઇંચ +document_properties_page_size_unit_millimeters=મીમી +document_properties_page_size_orientation_portrait=ઉભું +document_properties_page_size_orientation_landscape=આડુ +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=પત્ર +document_properties_page_size_name_legal=કાયદાકીય +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=ઝડપી વૅબ દૃશ્ય: +document_properties_linearized_yes=હા +document_properties_linearized_no=ના +document_properties_close=બંધ કરો + +print_progress_message=છાપકામ માટે દસ્તાવેજ તૈયાર કરી રહ્યા છે… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=રદ કરો + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=ટૉગલ બાજુપટ્ટી +toggle_sidebar_label=ટૉગલ બાજુપટ્ટી +document_outline.title=દસ્તાવેજની રૂપરેખા બતાવો(બધી આઇટમ્સને વિસ્તૃત/સંકુચિત કરવા માટે ડબલ-ક્લિક કરો) +document_outline_label=દસ્તાવેજ રૂપરેખા +attachments.title=જોડાણોને બતાવો +attachments_label=જોડાણો +thumbs.title=થંબનેલ્સ બતાવો +thumbs_label=થંબનેલ્સ +findbar.title=દસ્તાવેજમાં શોધો +findbar_label=શોધો + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=પાનું {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=પાનાં {{page}} નું થંબનેલ્સ + +# Find panel button title and messages +find_input.title=શોધો +find_input.placeholder=દસ્તાવેજમાં શોધો… +find_previous.title=શબ્દસમૂહની પાછલી ઘટનાને શોધો +find_previous_label=પહેલાંનુ +find_next.title=શબ્દસમૂહની આગળની ઘટનાને શોધો +find_next_label=આગળનું +find_highlight=બધુ પ્રકાશિત કરો +find_match_case_label=કેસ બંધબેસાડો +find_entire_word_label=સંપૂર્ણ શબ્દો +find_reached_top=દસ્તાવેજનાં ટોચે પહોંચી ગયા, તળિયેથી ચાલુ કરેલ હતુ +find_reached_bottom=દસ્તાવેજનાં અંતે પહોંચી ગયા, ઉપરથી ચાલુ કરેલ હતુ +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{total}} માંથી {{current}} સરખું મળ્યું +find_match_count[two]={{total}} માંથી {{current}} સરખા મળ્યાં +find_match_count[few]={{total}} માંથી {{current}} સરખા મળ્યાં +find_match_count[many]={{total}} માંથી {{current}} સરખા મળ્યાં +find_match_count[other]={{total}} માંથી {{current}} સરખા મળ્યાં +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]={{limit}} કરતાં વધુ સરખા મળ્યાં +find_match_count_limit[one]={{limit}} કરતાં વધુ સરખું મળ્યું +find_match_count_limit[two]={{limit}} કરતાં વધુ સરખા મળ્યાં +find_match_count_limit[few]={{limit}} કરતાં વધુ સરખા મળ્યાં +find_match_count_limit[many]={{limit}} કરતાં વધુ સરખા મળ્યાં +find_match_count_limit[other]={{limit}} કરતાં વધુ સરખા મળ્યાં +find_not_found=શબ્દસમૂહ મળ્યુ નથી + +# Error panel labels +error_more_info=વધારે જાણકારી +error_less_info=ઓછી જાણકારી +error_close=બંધ કરો +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=સંદેશો: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=સ્ટેક: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=ફાઇલ: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=વાક્ય: {{line}} +rendering_error=ભૂલ ઉદ્ભવી જ્યારે પાનાંનુ રેન્ડ કરી રહ્યા હોય. + +# Predefined zoom values +page_scale_width=પાનાની પહોળાઇ +page_scale_fit=પાનું બંધબેસતુ +page_scale_auto=આપમેળે નાનુંમોટુ કરો +page_scale_actual=ચોક્કસ માપ +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=ભૂલ ઉદ્ભવી જ્યારે PDF ને લાવી રહ્યા હોય. +invalid_file_error=અયોગ્ય અથવા ભાંગેલ PDF ફાઇલ. +missing_file_error=ગુમ થયેલ PDF ફાઇલ. +unexpected_response_error=અનપેક્ષિત સર્વર પ્રતિસાદ. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Annotation] +password_label=આ PDF ફાઇલને ખોલવા પાસવર્ડને દાખલ કરો. +password_invalid=અયોગ્ય પાસવર્ડ. મહેરબાની કરીને ફરી પ્રયત્ન કરો. +password_ok=બરાબર +password_cancel=રદ કરો + +printing_not_supported=ચેતવણી: છાપવાનું આ બ્રાઉઝર દ્દારા સંપૂર્ણપણે આધારભૂત નથી. +printing_not_ready=Warning: PDF એ છાપવા માટે સંપૂર્ણપણે લાવેલ છે. +web_fonts_disabled=વેબ ફોન્ટ નિષ્ક્રિય થયેલ છે: ઍમ્બેડ થયેલ PDF ફોન્ટને વાપરવાનું અસમર્થ. diff --git a/app/assets/javascripts/publications/locale/he/viewer.properties b/app/assets/javascripts/publications/locale/he/viewer.properties new file mode 100644 index 0000000..e8ed3f0 --- /dev/null +++ b/app/assets/javascripts/publications/locale/he/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=דף קודם +previous_label=קודם +next.title=דף הבא +next_label=הבא + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=דף +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=מתוך {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} מתוך {{pagesCount}}) + +zoom_out.title=התרחקות +zoom_out_label=התרחקות +zoom_in.title=התקרבות +zoom_in_label=התקרבות +zoom.title=מרחק מתצוגה +presentation_mode.title=מעבר למצב מצגת +presentation_mode_label=מצב מצגת +open_file.title=פתיחת קובץ +open_file_label=פתיחה +print.title=הדפסה +print_label=הדפסה +download.title=הורדה +download_label=הורדה +bookmark.title=תצוגה נוכחית (העתקה או פתיחה בחלון חדש) +bookmark_label=תצוגה נוכחית + +# Secondary toolbar and context menu +tools.title=כלים +tools_label=כלים +first_page.title=מעבר לעמוד הראשון +first_page_label=מעבר לעמוד הראשון +last_page.title=מעבר לעמוד האחרון +last_page_label=מעבר לעמוד האחרון +page_rotate_cw.title=הטיה עם כיוון השעון +page_rotate_cw_label=הטיה עם כיוון השעון +page_rotate_ccw.title=הטיה כנגד כיוון השעון +page_rotate_ccw_label=הטיה כנגד כיוון השעון + +cursor_text_select_tool.title=הפעלת כלי בחירת טקסט +cursor_text_select_tool_label=כלי בחירת טקסט +cursor_hand_tool.title=הפעלת כלי היד +cursor_hand_tool_label=כלי יד + +scroll_page.title=שימוש בגלילת עמוד +scroll_page_label=גלילת עמוד +scroll_vertical.title=שימוש בגלילה אנכית +scroll_vertical_label=גלילה אנכית +scroll_horizontal.title=שימוש בגלילה אופקית +scroll_horizontal_label=גלילה אופקית +scroll_wrapped.title=שימוש בגלילה רציפה +scroll_wrapped_label=גלילה רציפה + +spread_none.title=לא לצרף מפתחי עמודים +spread_none_label=ללא מפתחים +spread_odd.title=צירוף מפתחי עמודים שמתחילים בדפים עם מספרים אי־זוגיים +spread_odd_label=מפתחים אי־זוגיים +spread_even.title=צירוף מפתחי עמודים שמתחילים בדפים עם מספרים זוגיים +spread_even_label=מפתחים זוגיים + +# Document properties dialog box +document_properties.title=מאפייני מסמך… +document_properties_label=מאפייני מסמך… +document_properties_file_name=שם קובץ: +document_properties_file_size=גודל הקובץ: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} ק״ב ({{size_b}} בתים) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} מ״ב ({{size_b}} בתים) +document_properties_title=כותרת: +document_properties_author=מחבר: +document_properties_subject=נושא: +document_properties_keywords=מילות מפתח: +document_properties_creation_date=תאריך יצירה: +document_properties_modification_date=תאריך שינוי: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=יוצר: +document_properties_producer=יצרן PDF: +document_properties_version=גרסת PDF: +document_properties_page_count=מספר דפים: +document_properties_page_size=גודל העמוד: +document_properties_page_size_unit_inches=אינ׳ +document_properties_page_size_unit_millimeters=מ״מ +document_properties_page_size_orientation_portrait=לאורך +document_properties_page_size_orientation_landscape=לרוחב +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=מכתב +document_properties_page_size_name_legal=דף משפטי +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=תצוגת דף מהירה: +document_properties_linearized_yes=כן +document_properties_linearized_no=לא +document_properties_close=סגירה + +print_progress_message=מסמך בהכנה להדפסה… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=ביטול + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=הצגה/הסתרה של סרגל הצד +toggle_sidebar_notification2.title=החלפת תצוגת סרגל צד (מסמך שמכיל תוכן עניינים/קבצים מצורפים/שכבות) +toggle_sidebar_label=הצגה/הסתרה של סרגל הצד +document_outline.title=הצגת תוכן העניינים של המסמך (לחיצה כפולה כדי להרחיב או לצמצם את כל הפריטים) +document_outline_label=תוכן העניינים של המסמך +attachments.title=הצגת צרופות +attachments_label=צרופות +layers.title=הצגת שכבות (יש ללחוץ לחיצה כפולה כדי לאפס את כל השכבות למצב ברירת המחדל) +layers_label=שכבות +thumbs.title=הצגת תצוגה מקדימה +thumbs_label=תצוגה מקדימה +current_outline_item.title=מציאת פריט תוכן העניינים הנוכחי +current_outline_item_label=פריט תוכן העניינים הנוכחי +findbar.title=חיפוש במסמך +findbar_label=חיפוש + +additional_layers=שכבות נוספות +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=עמוד {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=עמוד {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=תצוגה מקדימה של עמוד {{page}} + +# Find panel button title and messages +find_input.title=חיפוש +find_input.placeholder=חיפוש במסמך… +find_previous.title=מציאת המופע הקודם של הביטוי +find_previous_label=קודם +find_next.title=מציאת המופע הבא של הביטוי +find_next_label=הבא +find_highlight=הדגשת הכול +find_match_case_label=התאמת אותיות +find_entire_word_label=מילים שלמות +find_reached_top=הגיע לראש הדף, ממשיך מלמטה +find_reached_bottom=הגיע לסוף הדף, ממשיך מלמעלה +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]=תוצאה {{current}} מתוך {{total}} +find_match_count[two]={{current}} מתוך {{total}} תוצאות +find_match_count[few]={{current}} מתוך {{total}} תוצאות +find_match_count[many]={{current}} מתוך {{total}} תוצאות +find_match_count[other]={{current}} מתוך {{total}} תוצאות +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=יותר מ־{{limit}} תוצאות +find_match_count_limit[one]=יותר מתוצאה אחת +find_match_count_limit[two]=יותר מ־{{limit}} תוצאות +find_match_count_limit[few]=יותר מ־{{limit}} תוצאות +find_match_count_limit[many]=יותר מ־{{limit}} תוצאות +find_match_count_limit[other]=יותר מ־{{limit}} תוצאות +find_not_found=הביטוי לא נמצא + +# Error panel labels +error_more_info=מידע נוסף +error_less_info=פחות מידע +error_close=סגירה +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js גרסה {{version}} (בנייה: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=הודעה: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=תוכן מחסנית: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=קובץ: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=שורה: {{line}} +rendering_error=אירעה שגיאה בעת עיבוד הדף. + +# Predefined zoom values +page_scale_width=רוחב העמוד +page_scale_fit=התאמה לעמוד +page_scale_auto=מרחק מתצוגה אוטומטי +page_scale_actual=גודל אמיתי +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=בטעינה… +loading_error=אירעה שגיאה בעת טעינת ה־PDF. +invalid_file_error=קובץ PDF פגום או לא תקין. +missing_file_error=קובץ PDF חסר. +unexpected_response_error=תגובת שרת לא צפויה. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[הערת {{type}}] +password_label=נא להכניס את הססמה לפתיחת קובץ PDF זה. +password_invalid=ססמה שגויה. נא לנסות שנית. +password_ok=אישור +password_cancel=ביטול + +printing_not_supported=אזהרה: הדפסה אינה נתמכת במלואה בדפדפן זה. +printing_not_ready=אזהרה: מסמך ה־PDF לא נטען לחלוטין עד מצב שמאפשר הדפסה. +web_fonts_disabled=גופני רשת מנוטרלים: לא ניתן להשתמש בגופני PDF מוטבעים. diff --git a/app/assets/javascripts/publications/locale/hi-IN/viewer.properties b/app/assets/javascripts/publications/locale/hi-IN/viewer.properties new file mode 100644 index 0000000..27064ee --- /dev/null +++ b/app/assets/javascripts/publications/locale/hi-IN/viewer.properties @@ -0,0 +1,234 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=पिछला पृष्ठ +previous_label=पिछला +next.title=अगला पृष्ठ +next_label=आगे + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=पृष्ठ: +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages={{pagesCount}} का +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} of {{pagesCount}}) + +zoom_out.title=\u0020छोटा करें +zoom_out_label=\u0020छोटा करें +zoom_in.title=बड़ा करें +zoom_in_label=बड़ा करें +zoom.title=बड़ा-छोटा करें +presentation_mode.title=प्रस्तुति अवस्था में जाएँ +presentation_mode_label=\u0020प्रस्तुति अवस्था +open_file.title=फ़ाइल खोलें +open_file_label=\u0020खोलें +print.title=छापें +print_label=\u0020छापें +download.title=डाउनलोड +download_label=डाउनलोड +bookmark.title=मौजूदा दृश्य (नए विंडो में नक़ल लें या खोलें) +bookmark_label=\u0020मौजूदा दृश्य + +# Secondary toolbar and context menu +tools.title=औज़ार +tools_label=औज़ार +first_page.title=प्रथम पृष्ठ पर जाएँ +first_page_label=प्रथम पृष्ठ पर जाएँ +last_page.title=अंतिम पृष्ठ पर जाएँ +last_page_label=\u0020अंतिम पृष्ठ पर जाएँ +page_rotate_cw.title=घड़ी की दिशा में घुमाएँ +page_rotate_cw_label=घड़ी की दिशा में घुमाएँ +page_rotate_ccw.title=घड़ी की दिशा से उल्टा घुमाएँ +page_rotate_ccw_label=\u0020घड़ी की दिशा से उल्टा घुमाएँ + +cursor_text_select_tool.title=पाठ चयन उपकरण सक्षम करें +cursor_text_select_tool_label=पाठ चयन उपकरण +cursor_hand_tool.title=हस्त उपकरण सक्षम करें +cursor_hand_tool_label=हस्त उपकरण + +scroll_vertical.title=लंबवत स्क्रॉलिंग का उपयोग करें +scroll_vertical_label=लंबवत स्क्रॉलिंग +scroll_horizontal.title=क्षितिजिय स्क्रॉलिंग का उपयोग करें +scroll_horizontal_label=क्षितिजिय स्क्रॉलिंग +scroll_wrapped.title=व्राप्पेड स्क्रॉलिंग का उपयोग करें + +spread_none_label=कोई स्प्रेड उपलब्ध नहीं +spread_odd.title=विषम-क्रमांकित पृष्ठों से प्रारंभ होने वाले पृष्ठ स्प्रेड में शामिल हों +spread_odd_label=विषम फैलाव + +# Document properties dialog box +document_properties.title=दस्तावेज़ विशेषता... +document_properties_label=दस्तावेज़ विशेषता... +document_properties_file_name=फ़ाइल नाम: +document_properties_file_size=फाइल आकारः +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=शीर्षक: +document_properties_author=लेखकः +document_properties_subject=विषय: +document_properties_keywords=कुंजी-शब्द: +document_properties_creation_date=निर्माण दिनांक: +document_properties_modification_date=संशोधन दिनांक: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=निर्माता: +document_properties_producer=PDF उत्पादक: +document_properties_version=PDF संस्करण: +document_properties_page_count=पृष्ठ गिनती: +document_properties_page_size=पृष्ठ आकार: +document_properties_page_size_unit_inches=इंच +document_properties_page_size_unit_millimeters=मिमी +document_properties_page_size_orientation_portrait=पोर्ट्रेट +document_properties_page_size_orientation_landscape=लैंडस्केप +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=पत्र +document_properties_page_size_name_legal=क़ानूनी +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=तीव्र वेब व्यू: +document_properties_linearized_yes=हाँ +document_properties_linearized_no=नहीं +document_properties_close=बंद करें + +print_progress_message=छपाई के लिए दस्तावेज़ को तैयार किया जा रहा है... +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=रद्द करें + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=\u0020स्लाइडर टॉगल करें +toggle_sidebar_label=स्लाइडर टॉगल करें +document_outline.title=दस्तावेज़ की रूपरेखा दिखाइए (सारी वस्तुओं को फलने अथवा समेटने के लिए दो बार क्लिक करें) +document_outline_label=दस्तावेज़ आउटलाइन +attachments.title=संलग्नक दिखायें +attachments_label=संलग्नक +thumbs.title=लघुछवियाँ दिखाएँ +thumbs_label=लघु छवि +findbar.title=\u0020दस्तावेज़ में ढूँढ़ें +findbar_label=ढूँढें + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=पृष्ठ {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=पृष्ठ {{page}} की लघु-छवि + +# Find panel button title and messages +find_input.title=ढूँढें +find_input.placeholder=दस्तावेज़ में खोजें... +find_previous.title=वाक्यांश की पिछली उपस्थिति ढूँढ़ें +find_previous_label=पिछला +find_next.title=वाक्यांश की अगली उपस्थिति ढूँढ़ें +find_next_label=अगला +find_highlight=\u0020सभी आलोकित करें +find_match_case_label=मिलान स्थिति +find_entire_word_label=संपूर्ण शब्द +find_reached_top=पृष्ठ के ऊपर पहुंच गया, नीचे से जारी रखें +find_reached_bottom=पृष्ठ के नीचे में जा पहुँचा, ऊपर से जारी +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{total}} में {{current}} मेल +find_match_count[two]={{total}} में {{current}} मेल +find_match_count[few]={{total}} में {{current}} मेल +find_match_count[many]={{total}} में {{current}} मेल +find_match_count[other]={{total}} में {{current}} मेल +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]={{limit}} से अधिक मेल +find_match_count_limit[one]={{limit}} से अधिक मेल +find_match_count_limit[two]={{limit}} से अधिक मेल +find_match_count_limit[few]={{limit}} से अधिक मेल +find_match_count_limit[many]={{limit}} से अधिक मेल +find_match_count_limit[other]={{limit}} से अधिक मेल +find_not_found=वाक्यांश नहीं मिला + +# Error panel labels +error_more_info=अधिक सूचना +error_less_info=कम सूचना +error_close=बंद करें +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=\u0020संदेश: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=स्टैक: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=फ़ाइल: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=पंक्ति: {{line}} +rendering_error=पृष्ठ रेंडरिंग के दौरान त्रुटि आई. + +# Predefined zoom values +page_scale_width=\u0020पृष्ठ चौड़ाई +page_scale_fit=पृष्ठ फिट +page_scale_auto=स्वचालित जूम +page_scale_actual=वास्तविक आकार +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=PDF लोड करते समय एक त्रुटि हुई. +invalid_file_error=अमान्य या भ्रष्ट PDF फ़ाइल. +missing_file_error=\u0020अनुपस्थित PDF फ़ाइल. +unexpected_response_error=अप्रत्याशित सर्वर प्रतिक्रिया. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=\u0020[{{type}} Annotation] +password_label=इस PDF फ़ाइल को खोलने के लिए कृपया कूटशब्द भरें. +password_invalid=अवैध कूटशब्द, कृपया फिर कोशिश करें. +password_ok=OK +password_cancel=रद्द करें + +printing_not_supported=चेतावनी: इस ब्राउज़र पर छपाई पूरी तरह से समर्थित नहीं है. +printing_not_ready=चेतावनी: PDF छपाई के लिए पूरी तरह से लोड नहीं है. +web_fonts_disabled=वेब फॉन्ट्स निष्क्रिय हैं: अंतःस्थापित PDF फॉन्टस के उपयोग में असमर्थ. diff --git a/app/assets/javascripts/publications/locale/hr/viewer.properties b/app/assets/javascripts/publications/locale/hr/viewer.properties new file mode 100644 index 0000000..1ccf441 --- /dev/null +++ b/app/assets/javascripts/publications/locale/hr/viewer.properties @@ -0,0 +1,248 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Prethodna stranica +previous_label=Prethodna +next.title=Sljedeća stranica +next_label=Sljedeća + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Stranica +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=od {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} od {{pagesCount}}) + +zoom_out.title=Umanji +zoom_out_label=Umanji +zoom_in.title=Uvećaj +zoom_in_label=Uvećaj +zoom.title=Zumiranje +presentation_mode.title=Prebaci u prezentacijski način rada +presentation_mode_label=Prezentacijski način rada +open_file.title=Otvori datoteku +open_file_label=Otvori +print.title=Ispiši +print_label=Ispiši +download.title=Preuzmi +download_label=Preuzmi +bookmark.title=Trenutačni prikaz (kopiraj ili otvori u novom prozoru) +bookmark_label=Trenutačni prikaz + +# Secondary toolbar and context menu +tools.title=Alati +tools_label=Alati +first_page.title=Idi na prvu stranicu +first_page_label=Idi na prvu stranicu +last_page.title=Idi na posljednju stranicu +last_page_label=Idi na posljednju stranicu +page_rotate_cw.title=Rotiraj u smjeru kazaljke na satu +page_rotate_cw_label=Rotiraj u smjeru kazaljke na satu +page_rotate_ccw.title=Rotiraj obrnutno od smjera kazaljke na satu +page_rotate_ccw_label=Rotiraj obrnutno od smjera kazaljke na satu + +cursor_text_select_tool.title=Omogući alat za označavanje teksta +cursor_text_select_tool_label=Alat za označavanje teksta +cursor_hand_tool.title=Omogući ručni alat +cursor_hand_tool_label=Ručni alat + +scroll_vertical.title=Koristi okomito pomicanje +scroll_vertical_label=Okomito pomicanje +scroll_horizontal.title=Koristi vodoravno pomicanje +scroll_horizontal_label=Vodoravno pomicanje +scroll_wrapped.title=Koristi kontinuirani raspored stranica +scroll_wrapped_label=Kontinuirani raspored stranica + +spread_none.title=Ne izrađuj duplerice +spread_none_label=Pojedinačne stranice +spread_odd.title=Izradi duplerice koje počinju s neparnim stranicama +spread_odd_label=Neparne duplerice +spread_even.title=Izradi duplerice koje počinju s parnim stranicama +spread_even_label=Parne duplerice + +# Document properties dialog box +document_properties.title=Svojstva dokumenta … +document_properties_label=Svojstva dokumenta … +document_properties_file_name=Naziv datoteke: +document_properties_file_size=Veličina datoteke: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bajtova) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bajtova) +document_properties_title=Naslov: +document_properties_author=Autor: +document_properties_subject=Predmet: +document_properties_keywords=Ključne riječi: +document_properties_creation_date=Datum stvaranja: +document_properties_modification_date=Datum promjene: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Stvaratelj: +document_properties_producer=PDF stvaratelj: +document_properties_version=PDF verzija: +document_properties_page_count=Broj stranica: +document_properties_page_size=Dimenzije stranice: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=uspravno +document_properties_page_size_orientation_landscape=položeno +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Brzi web pregled: +document_properties_linearized_yes=Da +document_properties_linearized_no=Ne +document_properties_close=Zatvori + +print_progress_message=Pripremanje dokumenta za ispis… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Odustani + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Prikaži/sakrij bočnu traku +toggle_sidebar_notification2.title=Prikazivanje i sklanjanje bočne trake (dokument sadrži strukturu/privitke/slojeve) +toggle_sidebar_label=Prikaži/sakrij bočnu traku +document_outline.title=Prikaži strukturu dokumenta (dvostruki klik za rasklapanje/sklapanje svih stavki) +document_outline_label=Struktura dokumenta +attachments.title=Prikaži privitke +attachments_label=Privitci +layers.title=Prikaži slojeve (dvoklik za vraćanje svih slojeva u zadano stanje) +layers_label=Slojevi +thumbs.title=Prikaži minijature +thumbs_label=Minijature +current_outline_item.title=Pronađi trenutačni element strukture +current_outline_item_label=Trenutačni element strukture +findbar.title=Pronađi u dokumentu +findbar_label=Pronađi + +additional_layers=Dodatni slojevi +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Stranica {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Stranica {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Minijatura stranice {{page}} + +# Find panel button title and messages +find_input.title=Pronađi +find_input.placeholder=Pronađi u dokumentu … +find_previous.title=Pronađi prethodno pojavljivanje ovog izraza +find_previous_label=Prethodno +find_next.title=Pronađi sljedeće pojavljivanje ovog izraza +find_next_label=Sljedeće +find_highlight=Istankni sve +find_match_case_label=Razlikovanje velikih i malih slova +find_entire_word_label=Cijele riječi +find_reached_top=Dosegnut početak dokumenta, nastavak s kraja +find_reached_bottom=Dosegnut kraj dokumenta, nastavak s početka +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} od {{total}} se podudara +find_match_count[two]={{current}} od {{total}} se podudara +find_match_count[few]={{current}} od {{total}} se podudara +find_match_count[many]={{current}} od {{total}} se podudara +find_match_count[other]={{current}} od {{total}} se podudara +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Više od {{limit}} podudaranja +find_match_count_limit[one]=Više od {{limit}} podudaranja +find_match_count_limit[two]=Više od {{limit}} podudaranja +find_match_count_limit[few]=Više od {{limit}} podudaranja +find_match_count_limit[many]=Više od {{limit}} podudaranja +find_match_count_limit[other]=Više od {{limit}} podudaranja +find_not_found=Izraz nije pronađen + +# Error panel labels +error_more_info=Više informacija +error_less_info=Manje informacija +error_close=Zatvori +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Poruka: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stog: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Datoteka: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Redak: {{line}} +rendering_error=Došlo je do greške prilikom iscrtavanja stranice. + +# Predefined zoom values +page_scale_width=Prilagodi širini prozora +page_scale_fit=Prilagodi veličini prozora +page_scale_auto=Automatsko zumiranje +page_scale_actual=Stvarna veličina +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}} % + +# Loading indicator messages +loading=Učitavanje… +loading_error=Došlo je do greške pri učitavanju PDF-a. +invalid_file_error=Neispravna ili oštećena PDF datoteka. +missing_file_error=Nedostaje PDF datoteka. +unexpected_response_error=Neočekivani odgovor poslužitelja. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Bilješka] +password_label=Za otvoranje ove PDF datoteku upiši lozinku. +password_invalid=Neispravna lozinka. Pokušaj ponovo. +password_ok=U redu +password_cancel=Odustani + +printing_not_supported=Upozorenje: Ovaj preglednik ne podržava u potpunosti ispisivanje. +printing_not_ready=Upozorenje: PDF nije u potpunosti učitan za ispis. +web_fonts_disabled=Web fontovi su deaktivirani: nije moguće koristiti ugrađene PDF fontove. diff --git a/app/assets/javascripts/publications/locale/hsb/viewer.properties b/app/assets/javascripts/publications/locale/hsb/viewer.properties new file mode 100644 index 0000000..ec01124 --- /dev/null +++ b/app/assets/javascripts/publications/locale/hsb/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Předchadna strona +previous_label=Wróćo +next.title=Přichodna strona +next_label=Dale + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Strona +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=z {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} z {{pagesCount}}) + +zoom_out.title=Pomjeńšić +zoom_out_label=Pomjeńšić +zoom_in.title=Powjetšić +zoom_in_label=Powjetšić +zoom.title=Skalowanje +presentation_mode.title=Do prezentaciskeho modusa přeńć +presentation_mode_label=Prezentaciski modus +open_file.title=Dataju wočinić +open_file_label=Wočinić +print.title=Ćišćeć +print_label=Ćišćeć +download.title=Sćahnyć +download_label=Sćahnyć +bookmark.title=Aktualny napohlad (kopěrować abo w nowym woknje wočinić) +bookmark_label=Aktualny napohlad + +# Secondary toolbar and context menu +tools.title=Nastroje +tools_label=Nastroje +first_page.title=K prěnjej stronje +first_page_label=K prěnjej stronje +last_page.title=K poslednjej stronje +last_page_label=K poslednjej stronje +page_rotate_cw.title=K směrej časnika wjerćeć +page_rotate_cw_label=K směrej časnika wjerćeć +page_rotate_ccw.title=Přećiwo směrej časnika wjerćeć +page_rotate_ccw_label=Přećiwo směrej časnika wjerćeć + +cursor_text_select_tool.title=Nastroj za wuběranje teksta zmóžnić +cursor_text_select_tool_label=Nastroj za wuběranje teksta +cursor_hand_tool.title=Ručny nastroj zmóžnić +cursor_hand_tool_label=Ručny nastroj + +scroll_page.title=Kulenje strony wužiwać +scroll_page_label=Kulenje strony +scroll_vertical.title=Wertikalne suwanje wužiwać +scroll_vertical_label=Wertikalne suwanje +scroll_horizontal.title=Horicontalne suwanje wužiwać +scroll_horizontal_label=Horicontalne suwanje +scroll_wrapped.title=Postupne suwanje wužiwać +scroll_wrapped_label=Postupne suwanje + +spread_none.title=Strony njezwjazać +spread_none_label=Žana dwójna strona +spread_odd.title=Strony započinajo z njerunymi stronami zwjazać +spread_odd_label=Njerune strony +spread_even.title=Strony započinajo z runymi stronami zwjazać +spread_even_label=Rune strony + +# Document properties dialog box +document_properties.title=Dokumentowe kajkosće… +document_properties_label=Dokumentowe kajkosće… +document_properties_file_name=Mjeno dataje: +document_properties_file_size=Wulkosć dataje: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bajtow) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bajtow) +document_properties_title=Titul: +document_properties_author=Awtor: +document_properties_subject=Předmjet: +document_properties_keywords=Klučowe słowa: +document_properties_creation_date=Datum wutworjenja: +document_properties_modification_date=Datum změny: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Awtor: +document_properties_producer=PDF-zhotowjer: +document_properties_version=PDF-wersija: +document_properties_page_count=Ličba stronow: +document_properties_page_size=Wulkosć strony: +document_properties_page_size_unit_inches=cól +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=wysoki format +document_properties_page_size_orientation_landscape=prěčny format +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Fast Web View: +document_properties_linearized_yes=Haj +document_properties_linearized_no=Ně +document_properties_close=Začinić + +print_progress_message=Dokument so za ćišćenje přihotuje… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Přetorhnyć + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Bóčnicu pokazać/schować +toggle_sidebar_notification2.title=Bóčnicu přepinać (dokument rozrjad/přiwěški/woršty wobsahuje) +toggle_sidebar_label=Bóčnicu pokazać/schować +document_outline.title=Dokumentowy naćisk pokazać (dwójne kliknjenje, zo bychu so wšě zapiski pokazali/schowali) +document_outline_label=Dokumentowa struktura +attachments.title=Přiwěški pokazać +attachments_label=Přiwěški +layers.title=Woršty pokazać (klikńće dwójce, zo byšće wšě woršty na standardny staw wróćo stajił) +layers_label=Woršty +thumbs.title=Miniatury pokazać +thumbs_label=Miniatury +current_outline_item.title=Aktualny rozrjadowy zapisk pytać +current_outline_item_label=Aktualny rozrjadowy zapisk +findbar.title=W dokumenće pytać +findbar_label=Pytać + +additional_layers=Dalše woršty +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Strona {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Strona {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura strony {{page}} + +# Find panel button title and messages +find_input.title=Pytać +find_input.placeholder=W dokumenće pytać… +find_previous.title=Předchadne wustupowanje pytanskeho wuraza pytać +find_previous_label=Wróćo +find_next.title=Přichodne wustupowanje pytanskeho wuraza pytać +find_next_label=Dale +find_highlight=Wšě wuzběhnyć +find_match_case_label=Wulkopisanje wobkedźbować +find_match_diacritics_label=Diakritiske znamješka wužiwać +find_entire_word_label=Cyłe słowa +find_reached_top=Spočatk dokumenta docpěty, pokročuje so z kóncom +find_reached_bottom=Kónc dokument docpěty, pokročuje so ze spočatkom +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} z {{total}} wotpowědnika +find_match_count[two]={{current}} z {{total}} wotpowědnikow +find_match_count[few]={{current}} z {{total}} wotpowědnikow +find_match_count[many]={{current}} z {{total}} wotpowědnikow +find_match_count[other]={{current}} z {{total}} wotpowědnikow +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Wjace hač {{limit}} wotpowědnikow +find_match_count_limit[one]=Wjace hač {{limit}} wotpowědnik +find_match_count_limit[two]=Wjace hač {{limit}} wotpowědnikaj +find_match_count_limit[few]=Wjace hač {{limit}} wotpowědniki +find_match_count_limit[many]=Wjace hač {{limit}} wotpowědnikow +find_match_count_limit[other]=Wjace hač {{limit}} wotpowědnikow +find_not_found=Pytanski wuraz njeje so namakał + +# Error panel labels +error_more_info=Wjace informacijow +error_less_info=Mjenje informacijow +error_close=Začinić +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Zdźělenka: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Lisćina zawołanjow: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Dataja: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linka: {{line}} +rendering_error=Při zwobraznjenju strony je zmylk wustupił. + +# Predefined zoom values +page_scale_width=Šěrokosć strony +page_scale_fit=Wulkosć strony +page_scale_auto=Awtomatiske skalowanje +page_scale_actual=Aktualna wulkosć +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Začituje so… +loading_error=Při začitowanju PDF je zmylk wustupił. +invalid_file_error=Njepłaćiwa abo wobškodźena PDF-dataja. +missing_file_error=Falowaca PDF-dataja. +unexpected_response_error=Njewočakowana serwerowa wotmołwa. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Typ přispomnjenki: {{type}}] +password_label=Zapodajće hesło, zo byšće PDF-dataju wočinił. +password_invalid=Njepłaćiwe hesło. Prošu spytajće hišće raz. +password_ok=W porjadku +password_cancel=Přetorhnyć + +printing_not_supported=Warnowanje: Ćišćenje so přez tutón wobhladowak połnje njepodpěruje. +printing_not_ready=Warnowanje: PDF njeje so za ćišćenje dospołnje začitał. +web_fonts_disabled=Webpisma su znjemóžnjene: njeje móžno, zasadźene PDF-pisma wužiwać. diff --git a/app/assets/javascripts/publications/locale/hu/viewer.properties b/app/assets/javascripts/publications/locale/hu/viewer.properties new file mode 100644 index 0000000..ab6bd55 --- /dev/null +++ b/app/assets/javascripts/publications/locale/hu/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Előző oldal +previous_label=Előző +next.title=Következő oldal +next_label=Tovább + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Oldal +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=összesen: {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} / {{pagesCount}}) + +zoom_out.title=Kicsinyítés +zoom_out_label=Kicsinyítés +zoom_in.title=Nagyítás +zoom_in_label=Nagyítás +zoom.title=Nagyítás +presentation_mode.title=Váltás bemutató módba +presentation_mode_label=Bemutató mód +open_file.title=Fájl megnyitása +open_file_label=Megnyitás +print.title=Nyomtatás +print_label=Nyomtatás +download.title=Letöltés +download_label=Letöltés +bookmark.title=Jelenlegi nézet (másolás vagy megnyitás új ablakban) +bookmark_label=Aktuális nézet + +# Secondary toolbar and context menu +tools.title=Eszközök +tools_label=Eszközök +first_page.title=Ugrás az első oldalra +first_page_label=Ugrás az első oldalra +last_page.title=Ugrás az utolsó oldalra +last_page_label=Ugrás az utolsó oldalra +page_rotate_cw.title=Forgatás az óramutató járásával egyezően +page_rotate_cw_label=Forgatás az óramutató járásával egyezően +page_rotate_ccw.title=Forgatás az óramutató járásával ellentétesen +page_rotate_ccw_label=Forgatás az óramutató járásával ellentétesen + +cursor_text_select_tool.title=Szövegkijelölő eszköz bekapcsolása +cursor_text_select_tool_label=Szövegkijelölő eszköz +cursor_hand_tool.title=Kéz eszköz bekapcsolása +cursor_hand_tool_label=Kéz eszköz + +scroll_page.title=Oldalgörgetés használata +scroll_page_label=Oldalgörgetés +scroll_vertical.title=Függőleges görgetés használata +scroll_vertical_label=Függőleges görgetés +scroll_horizontal.title=Vízszintes görgetés használata +scroll_horizontal_label=Vízszintes görgetés +scroll_wrapped.title=Rácsos elrendezés használata +scroll_wrapped_label=Rácsos elrendezés + +spread_none.title=Ne tapassza össze az oldalakat +spread_none_label=Nincs összetapasztás +spread_odd.title=Lapok összetapasztása, a páratlan számú oldalakkal kezdve +spread_odd_label=Összetapasztás: páratlan +spread_even.title=Lapok összetapasztása, a páros számú oldalakkal kezdve +spread_even_label=Összetapasztás: páros + +# Document properties dialog box +document_properties.title=Dokumentum tulajdonságai… +document_properties_label=Dokumentum tulajdonságai… +document_properties_file_name=Fájlnév: +document_properties_file_size=Fájlméret: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bájt) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bájt) +document_properties_title=Cím: +document_properties_author=Szerző: +document_properties_subject=Tárgy: +document_properties_keywords=Kulcsszavak: +document_properties_creation_date=Létrehozás dátuma: +document_properties_modification_date=Módosítás dátuma: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Létrehozta: +document_properties_producer=PDF előállító: +document_properties_version=PDF verzió: +document_properties_page_count=Oldalszám: +document_properties_page_size=Lapméret: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=álló +document_properties_page_size_orientation_landscape=fekvő +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Jogi információk +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Gyors webes nézet: +document_properties_linearized_yes=Igen +document_properties_linearized_no=Nem +document_properties_close=Bezárás + +print_progress_message=Dokumentum előkészítése nyomtatáshoz… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Mégse + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Oldalsáv be/ki +toggle_sidebar_notification2.title=Oldalsáv be/ki (a dokumentum vázlatot/mellékleteket/rétegeket tartalmaz) +toggle_sidebar_label=Oldalsáv be/ki +document_outline.title=Dokumentum megjelenítése online (dupla kattintás minden elem kinyitásához/összecsukásához) +document_outline_label=Dokumentumvázlat +attachments.title=Mellékletek megjelenítése +attachments_label=Van melléklet +layers.title=Rétegek megjelenítése (dupla kattintás az összes réteg alapértelmezett állapotra visszaállításához) +layers_label=Rétegek +thumbs.title=Bélyegképek megjelenítése +thumbs_label=Bélyegképek +current_outline_item.title=Jelenlegi vázlatelem megkeresése +current_outline_item_label=Jelenlegi vázlatelem +findbar.title=Keresés a dokumentumban +findbar_label=Keresés + +additional_layers=További rétegek +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark={{page}}. oldal +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title={{page}}. oldal +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}}. oldal bélyegképe + +# Find panel button title and messages +find_input.title=Keresés +find_input.placeholder=Keresés a dokumentumban… +find_previous.title=A kifejezés előző előfordulásának keresése +find_previous_label=Előző +find_next.title=A kifejezés következő előfordulásának keresése +find_next_label=Tovább +find_highlight=Összes kiemelése +find_match_case_label=Kis- és nagybetűk megkülönböztetése +find_match_diacritics_label=Diakritikus jelek +find_entire_word_label=Teljes szavak +find_reached_top=A dokumentum eleje elérve, folytatás a végétől +find_reached_bottom=A dokumentum vége elérve, folytatás az elejétől +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} / {{total}} találat +find_match_count[two]={{current}} / {{total}} találat +find_match_count[few]={{current}} / {{total}} találat +find_match_count[many]={{current}} / {{total}} találat +find_match_count[other]={{current}} / {{total}} találat +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Több mint {{limit}} találat +find_match_count_limit[one]=Több mint {{limit}} találat +find_match_count_limit[two]=Több mint {{limit}} találat +find_match_count_limit[few]=Több mint {{limit}} találat +find_match_count_limit[many]=Több mint {{limit}} találat +find_match_count_limit[other]=Több mint {{limit}} találat +find_not_found=A kifejezés nem található + +# Error panel labels +error_more_info=További tudnivalók +error_less_info=Kevesebb információ +error_close=Bezárás +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Üzenet: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Verem: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fájl: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Sor: {{line}} +rendering_error=Hiba történt az oldal feldolgozása közben. + +# Predefined zoom values +page_scale_width=Oldalszélesség +page_scale_fit=Teljes oldal +page_scale_auto=Automatikus nagyítás +page_scale_actual=Valódi méret +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Betöltés… +loading_error=Hiba történt a PDF betöltésekor. +invalid_file_error=Érvénytelen vagy sérült PDF fájl. +missing_file_error=Hiányzó PDF fájl. +unexpected_response_error=Váratlan kiszolgálóválasz. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} megjegyzés] +password_label=Adja meg a jelszót a PDF fájl megnyitásához. +password_invalid=Helytelen jelszó. Próbálja újra. +password_ok=OK +password_cancel=Mégse + +printing_not_supported=Figyelmeztetés: Ez a böngésző nem teljesen támogatja a nyomtatást. +printing_not_ready=Figyelmeztetés: A PDF nincs teljesen betöltve a nyomtatáshoz. +web_fonts_disabled=Webes betűkészletek letiltva: nem használhatók a beágyazott PDF betűkészletek. diff --git a/app/assets/javascripts/publications/locale/hy-AM/viewer.properties b/app/assets/javascripts/publications/locale/hy-AM/viewer.properties new file mode 100644 index 0000000..a97ae3c --- /dev/null +++ b/app/assets/javascripts/publications/locale/hy-AM/viewer.properties @@ -0,0 +1,238 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Նախորդ էջը +previous_label=Նախորդը +next.title=Հաջորդ էջը +next_label=Հաջորդը + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Էջ. +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages={{pagesCount}}-ից\u0020 +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}}-ը {{pagesCount}})-ից + +zoom_out.title=Փոքրացնել +zoom_out_label=Փոքրացնել +zoom_in.title=Խոշորացնել +zoom_in_label=Խոշորացնել +zoom.title=Մասշտաբը\u0020 +presentation_mode.title=Անցնել Ներկայացման եղանակին +presentation_mode_label=Ներկայացման եղանակ +open_file.title=Բացել նիշք +open_file_label=Բացել +print.title=Տպել +print_label=Տպել +download.title=Բեռնել +download_label=Բեռնել +bookmark.title=Ընթացիկ տեսքով (պատճենել կամ բացել նոր պատուհանում) +bookmark_label=Ընթացիկ տեսքը + +# Secondary toolbar and context menu +tools.title=Գործիքներ +tools_label=Գործիքներ +first_page.title=Անցնել առաջին էջին +first_page_label=Անցնել առաջին էջին +last_page.title=Անցնել վերջին էջին +last_page_label=Անցնել վերջին էջին +page_rotate_cw.title=Պտտել ըստ ժամացույցի սլաքի +page_rotate_cw_label=Պտտել ըստ ժամացույցի սլաքի +page_rotate_ccw.title=Պտտել հակառակ ժամացույցի սլաքի +page_rotate_ccw_label=Պտտել հակառակ ժամացույցի սլաքի + +cursor_text_select_tool.title=Միացնել գրույթ ընտրելու գործիքը +cursor_text_select_tool_label=Գրույթը ընտրելու գործիք +cursor_hand_tool.title=Միացնել Ձեռքի գործիքը +cursor_hand_tool_label=Ձեռքի գործիք + +scroll_vertical.title=Օգտագործել ուղղահայաց ոլորում +scroll_vertical_label=Ուղղահայաց ոլորում +scroll_horizontal.title=Օգտագործել հորիզոնական ոլորում +scroll_horizontal_label=Հորիզոնական ոլորում +scroll_wrapped.title=Օգտագործել փաթաթված ոլորում +scroll_wrapped_label=Փաթաթված ոլորում + +spread_none.title=Մի միացեք էջի վերածածկերին +spread_none_label=Չկա վերածածկեր +spread_odd.title=Միացեք էջի վերածածկերին սկսելով՝ կենտ համարակալված էջերով +spread_odd_label=Կենտ վերածածկեր +spread_even.title=Միացեք էջի վերածածկերին սկսելով՝ զույգ համարակալված էջերով +spread_even_label=Զույգ վերածածկեր + +# Document properties dialog box +document_properties.title=Փաստաթղթի հատկությունները… +document_properties_label=Փաստաթղթի հատկությունները… +document_properties_file_name=Նիշքի անունը. +document_properties_file_size=Նիշք չափը. +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} ԿԲ ({{size_b}} բայթ) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} ՄԲ ({{size_b}} բայթ) +document_properties_title=Վերնագիր. +document_properties_author=Հեղինակ․ +document_properties_subject=Վերնագիր. +document_properties_keywords=Հիմնաբառ. +document_properties_creation_date=Ստեղծելու ամսաթիվը. +document_properties_modification_date=Փոփոխելու ամսաթիվը. +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Ստեղծող. +document_properties_producer=PDF-ի հեղինակը. +document_properties_version=PDF-ի տարբերակը. +document_properties_page_count=Էջերի քանակը. +document_properties_page_size=Էջի չափը. +document_properties_page_size_unit_inches=ում +document_properties_page_size_unit_millimeters=մմ +document_properties_page_size_orientation_portrait=ուղղաձիգ +document_properties_page_size_orientation_landscape=հորիզոնական +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Նամակ +document_properties_page_size_name_legal=Օրինական +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Արագ վեբ դիտում․ +document_properties_linearized_yes=Այո +document_properties_linearized_no=Ոչ +document_properties_close=Փակել + +print_progress_message=Նախապատրաստում է փաստաթուղթը տպելուն... +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Չեղարկել + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Բացել/Փակել Կողային վահանակը +toggle_sidebar_label=Բացել/Փակել Կողային վահանակը +document_outline.title=Ցուցադրել փաստաթղթի ուրվագիծը (կրկնակի սեղմեք՝ միավորները ընդարձակելու/կոծկելու համար) +document_outline_label=Փաստաթղթի բովանդակությունը +attachments.title=Ցուցադրել կցորդները +attachments_label=Կցորդներ +thumbs.title=Ցուցադրել Մանրապատկերը +thumbs_label=Մանրապատկերը +findbar.title=Գտնել փաստաթղթում +findbar_label=Որոնում + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Էջը {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Էջի մանրապատկերը {{page}} + +# Find panel button title and messages +find_input.title=Որոնում +find_input.placeholder=Գտնել փաստաթղթում... +find_previous.title=Գտնել անրահայտության նախորդ հանդիպումը +find_previous_label=Նախորդը +find_next.title=Գտիր արտահայտության հաջորդ հանդիպումը +find_next_label=Հաջորդը +find_highlight=Գունանշել բոլորը +find_match_case_label=Մեծ(փոքր)ատառ հաշվի առնել +find_entire_word_label=Ամբողջ բառերը +find_reached_top=Հասել եք փաստաթղթի վերևին, կշարունակվի ներքևից +find_reached_bottom=Հասել եք փաստաթղթի վերջին, կշարունակվի վերևից +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ հոգնակի(ընդհանուր) ]} +find_match_count[one]={{current}} {{total}}-ի համընկնումից +find_match_count[two]={{current}} {{total}}-ի համընկնումներից +find_match_count[few]={{current}} {{total}}-ի համընկնումներից +find_match_count[many]={{current}} {{total}}-ի համընկնումներից +find_match_count[other]={{current}} {{total}}-ի համընկնումներից +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ հոգնակի (սահմանը) ]} +find_match_count_limit[zero]=Ավելին քան {{limit}} համընկնումները +find_match_count_limit[one]=Ավելին քան {{limit}} համընկնումը +find_match_count_limit[two]=Ավելին քան {{limit}} համընկնումներներ +find_match_count_limit[few]=Ավելին քան {{limit}} համընկնումներներ +find_match_count_limit[many]=Ավելին քան {{limit}} համընկնումներներ +find_match_count_limit[other]=Ավելին քան {{limit}} համընկնումներներ +find_not_found=Արտահայտությունը չգտնվեց + +# Error panel labels +error_more_info=Ավելի շատ տեղեկություն +error_less_info=Քիչ տեղեկություն +error_close=Փակել +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (կառուցումը. {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Գրությունը. {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Շեղջ. {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Ֆայլ. {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Տողը. {{line}} +rendering_error=Սխալ՝ էջը ստեղծելիս: + +# Predefined zoom values +page_scale_width=Էջի լայնքը +page_scale_fit=Ձգել էջը +page_scale_auto=Ինքնաշխատ +page_scale_actual=Իրական չափը +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=Սխալ՝ PDF ֆայլը բացելիս։ +invalid_file_error=Սխալ կամ վնասված PDF ֆայլ: +missing_file_error=PDF ֆայլը բացակայում է: +unexpected_response_error=Սպասարկիչի անսպասելի պատասխան: + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Ծանոթություն] +password_label=Մուտքագրեք PDF-ի գաղտնաբառը: +password_invalid=Գաղտնաբառը սխալ է: Կրկին փորձեք: +password_ok=Լավ +password_cancel=Չեղարկել + +printing_not_supported=Զգուշացում. Տպելը ամբողջությամբ չի աջակցվում դիտարկիչի կողմից։ +printing_not_ready=Զգուշացում. PDF-ը ամբողջությամբ չի բեռնավորվել տպելու համար: +web_fonts_disabled=Վեբ-տառատեսակները անջատված են. հնարավոր չէ օգտագործել ներկառուցված PDF տառատեսակները: diff --git a/app/assets/javascripts/publications/locale/hye/viewer.properties b/app/assets/javascripts/publications/locale/hye/viewer.properties new file mode 100644 index 0000000..6af5982 --- /dev/null +++ b/app/assets/javascripts/publications/locale/hye/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Նախորդ էջ +previous_label=Նախորդը +next.title=Յաջորդ էջ +next_label=Յաջորդը + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=էջ +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages={{pagesCount}}-ից\u0020 +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}}-ը {{pagesCount}})-ից + +zoom_out.title=Փոքրացնել +zoom_out_label=Փոքրացնել +zoom_in.title=Խոշորացնել +zoom_in_label=Խոշորացնել +zoom.title=Խոշորացում +presentation_mode.title=Անցնել ներկայացման եղանակին +presentation_mode_label=Ներկայացման եղանակ +open_file.title=Բացել նիշքը +open_file_label=Բացել +print.title=Տպել +print_label=Տպել +download.title=Բեռնել +download_label=Բեռնել +bookmark.title=Ընթացիկ տեսքով (պատճէնել կամ բացել նոր պատուհանում) +bookmark_label=Ընթացիկ տեսք + +# Secondary toolbar and context menu +tools.title=Գործիքներ +tools_label=Գործիքներ +first_page.title=Գնալ դէպի առաջին էջ +first_page_label=Գնալ դէպի առաջին էջ +last_page.title=Գնալ դէպի վերջին էջ +last_page_label=Գնալ դէպի վերջին էջ +page_rotate_cw.title=Պտտել ժամացոյցի սլաքի ուղղութեամբ +page_rotate_cw_label=Պտտել ժամացոյցի սլաքի ուղղութեամբ +page_rotate_ccw.title=Պտտել ժամացոյցի սլաքի հակառակ ուղղութեամբ +page_rotate_ccw_label=Պտտել ժամացոյցի սլաքի հակառակ ուղղութեամբ + +cursor_text_select_tool.title=Միացնել գրոյթ ընտրելու գործիքը +cursor_text_select_tool_label=Գրուածք ընտրելու գործիք +cursor_hand_tool.title=Միացնել ձեռքի գործիքը +cursor_hand_tool_label=Ձեռքի գործիք + +scroll_page.title=Աւգտագործել էջի ոլորում +scroll_page_label=Էջի ոլորում +scroll_vertical.title=Աւգտագործել ուղղահայեաց ոլորում +scroll_vertical_label=Ուղղահայեաց ոլորում +scroll_horizontal.title=Աւգտագործել հորիզոնական ոլորում +scroll_horizontal_label=Հորիզոնական ոլորում +scroll_wrapped.title=Աւգտագործել փաթաթուած ոլորում +scroll_wrapped_label=Փաթաթուած ոլորում + +spread_none.title=Մի միացէք էջի կոնտեքստում +spread_none_label=Չկայ կոնտեքստ +spread_odd.title=Միացէք էջի կոնտեքստին սկսելով՝ կենտ համարակալուած էջերով +spread_odd_label=Տարաւրինակ կոնտեքստ +spread_even.title=Միացէք էջի կոնտեքստին սկսելով՝ զոյգ համարակալուած էջերով +spread_even_label=Հաւասար վերածածկեր + +# Document properties dialog box +document_properties.title=Փաստաթղթի հատկութիւնները… +document_properties_label=Փաստաթղթի յատկութիւնները… +document_properties_file_name=Նիշքի անունը․ +document_properties_file_size=Նիշք չափը. +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} ԿԲ ({{size_b}} բայթ) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} ՄԲ ({{size_b}} բայթ) +document_properties_title=Վերնագիր +document_properties_author=Հեղինակ․ +document_properties_subject=առարկայ +document_properties_keywords=Հիմնաբառեր +document_properties_creation_date=Ստեղծման ամսաթիւ +document_properties_modification_date=Փոփոխութեան ամսաթիւ. +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Ստեղծող +document_properties_producer=PDF-ի Արտադրողը. +document_properties_version=PDF-ի տարբերակը. +document_properties_page_count=Էջերի քանակը. +document_properties_page_size=Էջի չափը. +document_properties_page_size_unit_inches=ում +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=ուղղաձիգ +document_properties_page_size_orientation_landscape=հորիզոնական +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Նամակ +document_properties_page_size_name_legal=Աւրինական +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Արագ վեբ դիտում․ +document_properties_linearized_yes=Այո +document_properties_linearized_no=Ոչ +document_properties_close=Փակել + +print_progress_message=Նախապատրաստում է փաստաթուղթը տպելուն… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Չեղարկել + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Փոխարկել կողային վահանակը +toggle_sidebar_notification2.title=Փոխանջատել կողմնասիւնը (փաստաթուղթը պարունակում է ուրուագիծ/կցորդներ/շերտեր) +toggle_sidebar_label=Փոխարկել կողային վահանակը +document_outline.title=Ցուցադրել փաստաթղթի ուրուագիծը (կրկնակի սեղմէք՝ միաւորները ընդարձակելու/կոծկելու համար) +document_outline_label=Փաստաթղթի ուրուագիծ +attachments.title=Ցուցադրել կցորդները +attachments_label=Կցորդներ +layers.title=Ցուցադրել շերտերը (կրկնահպել վերակայելու բոլոր շերտերը սկզբնադիր վիճակի) +layers_label=Շերտեր +thumbs.title=Ցուցադրել մանրապատկերը +thumbs_label=Մանրապատկեր +current_outline_item.title=Գտէք ընթացիկ գծագրման տարրը +current_outline_item_label=Ընթացիկ գծագրման տարր +findbar.title=Գտնել փաստաթղթում +findbar_label=Որոնում + +additional_layers=Լրացուցիչ շերտեր +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Էջ {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Էջը {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Էջի մանրապատկերը {{page}} + +# Find panel button title and messages +find_input.title=Որոնում +find_input.placeholder=Գտնել փաստաթղթում… +find_previous.title=Գտնել արտայայտութեան նախորդ արտայայտութիւնը +find_previous_label=Նախորդը +find_next.title=Գտիր արտայայտութեան յաջորդ արտայայտութիւնը +find_next_label=Հաջորդը +find_highlight=Գունանշել բոլորը +find_match_case_label=Հաշուի առնել հանգամանքը +find_entire_word_label=Ամբողջ բառերը +find_reached_top=Հասել եք փաստաթղթի վերեւին,շարունակել ներքեւից +find_reached_bottom=Հասել էք փաստաթղթի վերջին, շարունակել վերեւից +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} {{total}}-ի համընկնումից +find_match_count[two]={{current}} {{total}}-ի համընկնումներից +find_match_count[few]={{current}} {{total}}-ի համընկնումներից +find_match_count[many]={{current}} {{total}}-ի համընկնումներից +find_match_count[other]={{current}} {{total}}-ի համընկնումներից +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Աւելին քան {{limit}} համընկնումները +find_match_count_limit[one]=Աւելին քան {{limit}} համընկնումը +find_match_count_limit[two]=Աւելին քան {{limit}} համընկնումները +find_match_count_limit[few]=Աւելին քան {{limit}} համընկնումները +find_match_count_limit[many]=Աւելին քան {{limit}} համընկնումները +find_match_count_limit[other]=Աւելին քան {{limit}} համընկնումները +find_not_found=Արտայայտութիւնը չգտնուեց + +# Error panel labels +error_more_info=Աւելի շատ տեղեկութիւն +error_less_info=Քիչ տեղեկութիւն +error_close=Փակել +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (կառուցումը. {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Գրութիւնը. {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Շեղջ. {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=նիշք․ {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Տողը. {{line}} +rendering_error=Սխալ է տեղի ունեցել էջի մեկնաբանման ժամանակ + +# Predefined zoom values +page_scale_width=Էջի լայնութիւն +page_scale_fit=Հարմարեցնել էջը +page_scale_auto=Ինքնաշխատ խոշորացում +page_scale_actual=Իրական չափը +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Բեռնում… +loading_error=PDF նիշքը բացելիս սխալ է տեղի ունեցել։ +invalid_file_error=Սխալ կամ վնասուած PDF նիշք։ +missing_file_error=PDF նիշքը բացակաիւմ է։ +unexpected_response_error=Սպասարկիչի անսպասելի պատասխան։ + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Ծանոթութիւն] +password_label=Մուտքագրէք գաղտնաբառը այս PDF նիշքը բացելու համար +password_invalid=Գաղտնաբառը սխալ է: Կրկին փորձէք: +password_ok=Լաւ +password_cancel=Չեղարկել + +printing_not_supported=Զգուշացում. Տպելը ամբողջութեամբ չի աջակցուում զննարկիչի կողմից։ +printing_not_ready=Զգուշացում. PDF֊ը ամբողջութեամբ չի բեռնաւորուել տպելու համար։ +web_fonts_disabled=Վեբ-տառատեսակները անջատուած են. հնարաւոր չէ աւգտագործել ներկառուցուած PDF տառատեսակները։ diff --git a/app/assets/javascripts/publications/locale/ia/viewer.properties b/app/assets/javascripts/publications/locale/ia/viewer.properties new file mode 100644 index 0000000..0b2cf95 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ia/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Pagina previe +previous_label=Previe +next.title=Pagina sequente +next_label=Sequente + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pagina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=de {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} de {{pagesCount}}) + +zoom_out.title=Distantiar +zoom_out_label=Distantiar +zoom_in.title=Approximar +zoom_in_label=Approximar +zoom.title=Zoom +presentation_mode.title=Excambiar a modo presentation +presentation_mode_label=Modo presentation +open_file.title=Aperir le file +open_file_label=Aperir +print.title=Imprimer +print_label=Imprimer +download.title=Discargar +download_label=Discargar +bookmark.title=Vista actual (copiar o aperir in un nove fenestra) +bookmark_label=Vista actual + +# Secondary toolbar and context menu +tools.title=Instrumentos +tools_label=Instrumentos +first_page.title=Ir al prime pagina +first_page_label=Ir al prime pagina +last_page.title=Ir al prime pagina +last_page_label=Ir al prime pagina +page_rotate_cw.title=Rotar in senso horari +page_rotate_cw_label=Rotar in senso horari +page_rotate_ccw.title=Rotar in senso antihorari +page_rotate_ccw_label=Rotar in senso antihorari + +cursor_text_select_tool.title=Activar le instrumento de selection de texto +cursor_text_select_tool_label=Instrumento de selection de texto +cursor_hand_tool.title=Activar le instrumento mano +cursor_hand_tool_label=Instrumento mano + +scroll_page.title=Usar rolamento de pagina +scroll_page_label=Rolamento de pagina +scroll_vertical.title=Usar rolamento vertical +scroll_vertical_label=Rolamento vertical +scroll_horizontal.title=Usar rolamento horizontal +scroll_horizontal_label=Rolamento horizontal +scroll_wrapped.title=Usar rolamento incapsulate +scroll_wrapped_label=Rolamento incapsulate + +spread_none.title=Non junger paginas dual +spread_none_label=Sin paginas dual +spread_odd.title=Junger paginas dual a partir de paginas con numeros impar +spread_odd_label=Paginas dual impar +spread_even.title=Junger paginas dual a partir de paginas con numeros par +spread_even_label=Paginas dual par + +# Document properties dialog box +document_properties.title=Proprietates del documento… +document_properties_label=Proprietates del documento… +document_properties_file_name=Nomine del file: +document_properties_file_size=Dimension de file: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Titulo: +document_properties_author=Autor: +document_properties_subject=Subjecto: +document_properties_keywords=Parolas clave: +document_properties_creation_date=Data de creation: +document_properties_modification_date=Data de modification: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Creator: +document_properties_producer=Productor PDF: +document_properties_version=Version PDF: +document_properties_page_count=Numero de paginas: +document_properties_page_size=Dimension del pagina: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=vertical +document_properties_page_size_orientation_landscape=horizontal +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Littera +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Vista web rapide: +document_properties_linearized_yes=Si +document_properties_linearized_no=No +document_properties_close=Clauder + +print_progress_message=Preparation del documento pro le impression… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cancellar + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Monstrar/celar le barra lateral +toggle_sidebar_notification2.title=Monstrar/celar le barra lateral (le documento contine structura/attachamentos/stratos) +toggle_sidebar_label=Monstrar/celar le barra lateral +document_outline.title=Monstrar le schema del documento (clic duple pro expander/contraher tote le elementos) +document_outline_label=Schema del documento +attachments.title=Monstrar le annexos +attachments_label=Annexos +layers.title=Monstrar stratos (clicca duple pro remontar tote le stratos al stato predefinite) +layers_label=Stratos +thumbs.title=Monstrar le vignettes +thumbs_label=Vignettes +current_outline_item.title=Trovar le elemento de structura actual +current_outline_item_label=Elemento de structura actual +findbar.title=Cercar in le documento +findbar_label=Cercar + +additional_layers=Altere stratos +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Pagina {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Pagina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Vignette del pagina {{page}} + +# Find panel button title and messages +find_input.title=Cercar +find_input.placeholder=Cercar in le documento… +find_previous.title=Trovar le previe occurrentia del phrase +find_previous_label=Previe +find_next.title=Trovar le successive occurrentia del phrase +find_next_label=Sequente +find_highlight=Evidentiar toto +find_match_case_label=Distinguer majusculas/minusculas +find_match_diacritics_label=Differentiar diacriticos +find_entire_word_label=Parolas integre +find_reached_top=Initio del documento attingite, continuation ab fin +find_reached_bottom=Fin del documento attingite, continuation ab initio +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} de {{total}} concordantia +find_match_count[two]={{current}} de {{total}} concordantias +find_match_count[few]={{current}} de {{total}} concordantias +find_match_count[many]={{current}} de {{total}} concordantias +find_match_count[other]={{current}} de {{total}} concordantias +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Plus de {{limit}} concordantias +find_match_count_limit[one]=Plus de {{limit}} concordantia +find_match_count_limit[two]=Plus de {{limit}} concordantias +find_match_count_limit[few]=Plus de {{limit}} concordantias +find_match_count_limit[many]=Plus de {{limit}} correspondentias +find_match_count_limit[other]=Plus de {{limit}} concordantias +find_not_found=Phrase non trovate + +# Error panel labels +error_more_info=Plus de informationes +error_less_info=Minus de informationes +error_close=Clauder +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Message: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=File: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linea: {{line}} +rendering_error=Un error occurreva durante que on processava le pagina. + +# Predefined zoom values +page_scale_width=Plen largor del pagina +page_scale_fit=Pagina integre +page_scale_auto=Zoom automatic +page_scale_actual=Dimension actual +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Cargante… +loading_error=Un error occurreva durante que on cargava le file PDF. +invalid_file_error=File PDF corrumpite o non valide. +missing_file_error=File PDF mancante. +unexpected_response_error=Responsa del servitor inexpectate. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Annotation] +password_label=Insere le contrasigno pro aperir iste file PDF. +password_invalid=Contrasigno invalide. Per favor retenta. +password_ok=OK +password_cancel=Cancellar + +printing_not_supported=Attention : le impression non es totalmente supportate per ce navigator. +printing_not_ready=Attention: le file PDF non es integremente cargate pro lo poter imprimer. +web_fonts_disabled=Le typos de litteras web es disactivate: impossibile usar le typos de litteras PDF incorporate. diff --git a/app/assets/javascripts/publications/locale/id/viewer.properties b/app/assets/javascripts/publications/locale/id/viewer.properties new file mode 100644 index 0000000..8bfffde --- /dev/null +++ b/app/assets/javascripts/publications/locale/id/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Laman Sebelumnya +previous_label=Sebelumnya +next.title=Laman Selanjutnya +next_label=Selanjutnya + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Halaman +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=dari {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} dari {{pagesCount}}) + +zoom_out.title=Perkecil +zoom_out_label=Perkecil +zoom_in.title=Perbesar +zoom_in_label=Perbesar +zoom.title=Perbesaran +presentation_mode.title=Ganti ke Mode Presentasi +presentation_mode_label=Mode Presentasi +open_file.title=Buka Berkas +open_file_label=Buka +print.title=Cetak +print_label=Cetak +download.title=Unduh +download_label=Unduh +bookmark.title=Tampilan Sekarang (salin atau buka di jendela baru) +bookmark_label=Tampilan Sekarang + +# Secondary toolbar and context menu +tools.title=Alat +tools_label=Alat +first_page.title=Buka Halaman Pertama +first_page_label=Buka Halaman Pertama +last_page.title=Buka Halaman Terakhir +last_page_label=Buka Halaman Terakhir +page_rotate_cw.title=Putar Searah Jarum Jam +page_rotate_cw_label=Putar Searah Jarum Jam +page_rotate_ccw.title=Putar Berlawanan Arah Jarum Jam +page_rotate_ccw_label=Putar Berlawanan Arah Jarum Jam + +cursor_text_select_tool.title=Aktifkan Alat Seleksi Teks +cursor_text_select_tool_label=Alat Seleksi Teks +cursor_hand_tool.title=Aktifkan Alat Tangan +cursor_hand_tool_label=Alat Tangan + +scroll_page.title=Gunakan Pengguliran Laman +scroll_page_label=Pengguliran Laman +scroll_vertical.title=Gunakan Penggeseran Vertikal +scroll_vertical_label=Penggeseran Vertikal +scroll_horizontal.title=Gunakan Penggeseran Horizontal +scroll_horizontal_label=Penggeseran Horizontal +scroll_wrapped.title=Gunakan Penggeseran Terapit +scroll_wrapped_label=Penggeseran Terapit + +spread_none.title=Jangan gabungkan lembar halaman +spread_none_label=Tidak Ada Lembaran +spread_odd.title=Gabungkan lembar lamanan mulai dengan halaman ganjil +spread_odd_label=Lembaran Ganjil +spread_even.title=Gabungkan lembar halaman dimulai dengan halaman genap +spread_even_label=Lembaran Genap + +# Document properties dialog box +document_properties.title=Properti Dokumen… +document_properties_label=Properti Dokumen… +document_properties_file_name=Nama berkas: +document_properties_file_size=Ukuran berkas: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} byte) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} byte) +document_properties_title=Judul: +document_properties_author=Penyusun: +document_properties_subject=Subjek: +document_properties_keywords=Kata Kunci: +document_properties_creation_date=Tanggal Dibuat: +document_properties_modification_date=Tanggal Dimodifikasi: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Pembuat: +document_properties_producer=Pemroduksi PDF: +document_properties_version=Versi PDF: +document_properties_page_count=Jumlah Halaman: +document_properties_page_size=Ukuran Laman: +document_properties_page_size_unit_inches=inci +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=tegak +document_properties_page_size_orientation_landscape=mendatar +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Tampilan Web Kilat: +document_properties_linearized_yes=Ya +document_properties_linearized_no=Tidak +document_properties_close=Tutup + +print_progress_message=Menyiapkan dokumen untuk pencetakan… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Batalkan + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Aktif/Nonaktifkan Bilah Samping +toggle_sidebar_notification2.title=Aktif/Nonaktifkan Bilah Samping (dokumen berisi kerangka/lampiran/lapisan) +toggle_sidebar_label=Aktif/Nonaktifkan Bilah Samping +document_outline.title=Tampilkan Kerangka Dokumen (klik ganda untuk membentangkan/menciutkan semua item) +document_outline_label=Kerangka Dokumen +attachments.title=Tampilkan Lampiran +attachments_label=Lampiran +layers.title=Tampilkan Lapisan (klik ganda untuk mengatur ulang semua lapisan ke keadaan baku) +layers_label=Lapisan +thumbs.title=Tampilkan Miniatur +thumbs_label=Miniatur +current_outline_item.title=Cari Butir Ikhtisar Saat Ini +current_outline_item_label=Butir Ikhtisar Saat Ini +findbar.title=Temukan di Dokumen +findbar_label=Temukan + +additional_layers=Lapisan Tambahan +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Halaman {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Laman {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatur Laman {{page}} + +# Find panel button title and messages +find_input.title=Temukan +find_input.placeholder=Temukan di dokumen… +find_previous.title=Temukan kata sebelumnya +find_previous_label=Sebelumnya +find_next.title=Temukan lebih lanjut +find_next_label=Selanjutnya +find_highlight=Sorot semuanya +find_match_case_label=Cocokkan BESAR/kecil +find_entire_word_label=Seluruh teks +find_reached_top=Sampai di awal dokumen, dilanjutkan dari bawah +find_reached_bottom=Sampai di akhir dokumen, dilanjutkan dari atas +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} dari {{total}} hasil +find_match_count[two]={{current}} dari {{total}} hasil +find_match_count[few]={{current}} dari {{total}} hasil +find_match_count[many]={{current}} dari {{total}} hasil +find_match_count[other]={{current}} dari {{total}} hasil +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Ditemukan lebih dari {{limit}} +find_match_count_limit[one]=Ditemukan lebih dari {{limit}} +find_match_count_limit[two]=Ditemukan lebih dari {{limit}} +find_match_count_limit[few]=Ditemukan lebih dari {{limit}} +find_match_count_limit[many]=Ditemukan lebih dari {{limit}} +find_match_count_limit[other]=Ditemukan lebih dari {{limit}} +find_not_found=Frasa tidak ditemukan + +# Error panel labels +error_more_info=Lebih Banyak Informasi +error_less_info=Lebih Sedikit Informasi +error_close=Tutup +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Pesan: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Berkas: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Baris: {{line}} +rendering_error=Galat terjadi saat merender laman. + +# Predefined zoom values +page_scale_width=Lebar Laman +page_scale_fit=Muat Laman +page_scale_auto=Perbesaran Otomatis +page_scale_actual=Ukuran Asli +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Memuat… +loading_error=Galat terjadi saat memuat PDF. +invalid_file_error=Berkas PDF tidak valid atau rusak. +missing_file_error=Berkas PDF tidak ada. +unexpected_response_error=Balasan server yang tidak diharapkan. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anotasi {{type}}] +password_label=Masukkan sandi untuk membuka berkas PDF ini. +password_invalid=Sandi tidak valid. Silakan coba lagi. +password_ok=Oke +password_cancel=Batal + +printing_not_supported=Peringatan: Pencetakan tidak didukung secara lengkap pada peramban ini. +printing_not_ready=Peringatan: Berkas PDF masih belum dimuat secara lengkap untuk dapat dicetak. +web_fonts_disabled=Font web dinonaktifkan: tidak dapat menggunakan font PDF yang tersemat. diff --git a/app/assets/javascripts/publications/locale/is/viewer.properties b/app/assets/javascripts/publications/locale/is/viewer.properties new file mode 100644 index 0000000..0d1dea8 --- /dev/null +++ b/app/assets/javascripts/publications/locale/is/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Fyrri síða +previous_label=Fyrri +next.title=Næsta síða +next_label=Næsti + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Síða +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=af {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} af {{pagesCount}}) + +zoom_out.title=Minnka aðdrátt +zoom_out_label=Minnka aðdrátt +zoom_in.title=Auka aðdrátt +zoom_in_label=Auka aðdrátt +zoom.title=Aðdráttur +presentation_mode.title=Skipta yfir á kynningarham +presentation_mode_label=Kynningarhamur +open_file.title=Opna skrá +open_file_label=Opna +print.title=Prenta +print_label=Prenta +download.title=Hala niður +download_label=Hala niður +bookmark.title=Núverandi sýn (afritaðu eða opnaðu í nýjum glugga) +bookmark_label=Núverandi sýn + +# Secondary toolbar and context menu +tools.title=Verkfæri +tools_label=Verkfæri +first_page.title=Fara á fyrstu síðu +first_page_label=Fara á fyrstu síðu +last_page.title=Fara á síðustu síðu +last_page_label=Fara á síðustu síðu +page_rotate_cw.title=Snúa réttsælis +page_rotate_cw_label=Snúa réttsælis +page_rotate_ccw.title=Snúa rangsælis +page_rotate_ccw_label=Snúa rangsælis + +cursor_text_select_tool.title=Virkja textavalsáhald +cursor_text_select_tool_label=Textavalsáhald +cursor_hand_tool.title=Virkja handarverkfæri +cursor_hand_tool_label=Handarverkfæri + +scroll_page.title=Nota síðuskrun +scroll_page_label=Síðuskrun +scroll_vertical.title=Nota lóðrétt skrun +scroll_vertical_label=Lóðrétt skrun +scroll_horizontal.title=Nota lárétt skrun +scroll_horizontal_label=Lárétt skrun +scroll_wrapped.title=Nota línuskipt síðuskrun +scroll_wrapped_label=Línuskipt síðuskrun + +spread_none.title=Ekki taka þátt í dreifingu síðna +spread_none_label=Engin dreifing +spread_odd.title=Taka þátt í dreifingu síðna með oddatölum +spread_odd_label=Oddatöludreifing +spread_even.title=Taktu þátt í dreifingu síðna með jöfnuntölum +spread_even_label=Jafnatöludreifing + +# Document properties dialog box +document_properties.title=Eiginleikar skjals… +document_properties_label=Eiginleikar skjals… +document_properties_file_name=Skráarnafn: +document_properties_file_size=Skrárstærð: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Titill: +document_properties_author=Hönnuður: +document_properties_subject=Efni: +document_properties_keywords=Stikkorð: +document_properties_creation_date=Búið til: +document_properties_modification_date=Dags breytingar: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Höfundur: +document_properties_producer=PDF framleiðandi: +document_properties_version=PDF útgáfa: +document_properties_page_count=Blaðsíðufjöldi: +document_properties_page_size=Stærð síðu: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=skammsnið +document_properties_page_size_orientation_landscape=langsnið +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Fljótleg vefskoðun: +document_properties_linearized_yes=Já +document_properties_linearized_no=Nei +document_properties_close=Loka + +print_progress_message=Undirbý skjal fyrir prentun… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Hætta við + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Víxla hliðarspjaldi af/á +toggle_sidebar_notification2.title=Víxla hliðarslá (skjal inniheldur yfirlit/viðhengi/lög) +toggle_sidebar_label=Víxla hliðarspjaldi af/á +document_outline.title=Sýna yfirlit skjals (tvísmelltu til að opna/loka öllum hlutum) +document_outline_label=Efnisskipan skjals +attachments.title=Sýna viðhengi +attachments_label=Viðhengi +layers.title=Birta lög (tvísmelltu til að endurstilla öll lög í sjálfgefna stöðu) +layers_label=Lög +thumbs.title=Sýna smámyndir +thumbs_label=Smámyndir +current_outline_item.title=Finna núverandi atriði efnisskipunar +current_outline_item_label=Núverandi atriði efnisskipunar +findbar.title=Leita í skjali +findbar_label=Leita + +additional_layers=Viðbótarlög +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Síða {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Síða {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Smámynd af síðu {{page}} + +# Find panel button title and messages +find_input.title=Leita +find_input.placeholder=Leita í skjali… +find_previous.title=Leita að fyrra tilfelli þessara orða +find_previous_label=Fyrri +find_next.title=Leita að næsta tilfelli þessara orða +find_next_label=Næsti +find_highlight=Lita allt +find_match_case_label=Passa við stafstöðu +find_match_diacritics_label=Passa við broddstafi +find_entire_word_label=Heil orð +find_reached_top=Náði efst í skjal, held áfram neðst +find_reached_bottom=Náði enda skjals, held áfram efst +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} af {{total}} niðurstöðu +find_match_count[two]={{current}} af {{total}} niðurstöðum +find_match_count[few]={{current}} af {{total}} niðurstöðum +find_match_count[many]={{current}} af {{total}} niðurstöðum +find_match_count[other]={{current}} af {{total}} niðurstöðum +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Fleiri en {{limit}} niðurstöður +find_match_count_limit[one]=Fleiri en {{limit}} niðurstaða +find_match_count_limit[two]=Fleiri en {{limit}} niðurstöður +find_match_count_limit[few]=Fleiri en {{limit}} niðurstöður +find_match_count_limit[many]=Fleiri en {{limit}} niðurstöður +find_match_count_limit[other]=Fleiri en {{limit}} niðurstöður +find_not_found=Fann ekki orðið + +# Error panel labels +error_more_info=Meiri upplýsingar +error_less_info=Minni upplýsingar +error_close=Loka +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Skilaboð: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stafli: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Skrá: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Lína: {{line}} +rendering_error=Upp kom villa við að birta síðuna. + +# Predefined zoom values +page_scale_width=Síðubreidd +page_scale_fit=Passa á síðu +page_scale_auto=Sjálfvirkur aðdráttur +page_scale_actual=Raunstærð +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Hleður… +loading_error=Villa kom upp við að hlaða inn PDF. +invalid_file_error=Ógild eða skemmd PDF skrá. +missing_file_error=Vantar PDF skrá. +unexpected_response_error=Óvænt svar frá netþjóni. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Skýring] +password_label=Sláðu inn lykilorð til að opna þessa PDF skrá. +password_invalid=Ógilt lykilorð. Reyndu aftur. +password_ok=Í lagi +password_cancel=Hætta við + +printing_not_supported=Aðvörun: Prentun er ekki með fyllilegan stuðning á þessum vafra. +printing_not_ready=Aðvörun: Ekki er búið að hlaða inn allri PDF skránni fyrir prentun. +web_fonts_disabled=Vef leturgerðir eru óvirkar: get ekki notað innbyggðar PDF leturgerðir. diff --git a/app/assets/javascripts/publications/locale/it/viewer.properties b/app/assets/javascripts/publications/locale/it/viewer.properties new file mode 100644 index 0000000..6db5f12 --- /dev/null +++ b/app/assets/javascripts/publications/locale/it/viewer.properties @@ -0,0 +1,193 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +previous.title = Pagina precedente +previous_label = Precedente +next.title = Pagina successiva +next_label = Successiva + +page.title = Pagina +of_pages = di {{pagesCount}} +page_of_pages = ({{pageNumber}} di {{pagesCount}}) + +zoom_out.title = Riduci zoom +zoom_out_label = Riduci zoom +zoom_in.title = Aumenta zoom +zoom_in_label = Aumenta zoom +zoom.title = Zoom +presentation_mode.title = Passa alla modalità presentazione +presentation_mode_label = Modalità presentazione +open_file.title = Apri file +open_file_label = Apri +print.title = Stampa +print_label = Stampa +download.title = Scarica questo documento +download_label = Download +bookmark.title = Visualizzazione corrente (copia o apri in una nuova finestra) +bookmark_label = Visualizzazione corrente + +tools.title = Strumenti +tools_label = Strumenti +first_page.title = Vai alla prima pagina +first_page_label = Vai alla prima pagina +last_page.title = Vai all’ultima pagina +last_page_label = Vai all’ultima pagina +page_rotate_cw.title = Ruota in senso orario +page_rotate_cw_label = Ruota in senso orario +page_rotate_ccw.title = Ruota in senso antiorario +page_rotate_ccw_label = Ruota in senso antiorario + +cursor_text_select_tool.title = Attiva strumento di selezione testo +cursor_text_select_tool_label = Strumento di selezione testo +cursor_hand_tool.title = Attiva strumento mano +cursor_hand_tool_label = Strumento mano + +scroll_page.title = Utilizza scorrimento pagine +scroll_page_label = Scorrimento pagine +scroll_vertical.title = Scorri le pagine in verticale +scroll_vertical_label = Scorrimento verticale +scroll_horizontal.title = Scorri le pagine in orizzontale +scroll_horizontal_label = Scorrimento orizzontale +scroll_wrapped.title = Scorri le pagine in verticale, disponendole da sinistra a destra e andando a capo automaticamente +scroll_wrapped_label = Scorrimento con a capo automatico + +spread_none.title = Non raggruppare pagine +spread_none_label = Nessun raggruppamento +spread_odd.title = Crea gruppi di pagine che iniziano con numeri di pagina dispari +spread_odd_label = Raggruppamento dispari +spread_even.title = Crea gruppi di pagine che iniziano con numeri di pagina pari +spread_even_label = Raggruppamento pari + +document_properties.title = Proprietà del documento… +document_properties_label = Proprietà del documento… +document_properties_file_name = Nome file: +document_properties_file_size = Dimensione file: +document_properties_kb = {{size_kb}} kB ({{size_b}} byte) +document_properties_mb = {{size_mb}} MB ({{size_b}} byte) +document_properties_title = Titolo: +document_properties_author = Autore: +document_properties_subject = Oggetto: +document_properties_keywords = Parole chiave: +document_properties_creation_date = Data creazione: +document_properties_modification_date = Data modifica: +document_properties_date_string = {{date}}, {{time}} +document_properties_creator = Autore originale: +document_properties_producer = Produttore PDF: +document_properties_version = Versione PDF: +document_properties_page_count = Conteggio pagine: +document_properties_page_size = Dimensioni pagina: +document_properties_page_size_unit_inches = in +document_properties_page_size_unit_millimeters = mm +document_properties_page_size_orientation_portrait = verticale +document_properties_page_size_orientation_landscape = orizzontale +document_properties_page_size_name_a3 = A3 +document_properties_page_size_name_a4 = A4 +document_properties_page_size_name_letter = Lettera +document_properties_page_size_name_legal = Legale +document_properties_page_size_dimension_string = {{width}} × {{height}} {{unit}} ({{orientation}}) +document_properties_page_size_dimension_name_string = {{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +document_properties_linearized = Visualizzazione web veloce: +document_properties_linearized_yes = Sì +document_properties_linearized_no = No +document_properties_close = Chiudi + +print_progress_message = Preparazione documento per la stampa… +print_progress_percent = {{progress}}% +print_progress_close = Annulla + +toggle_sidebar.title = Attiva/disattiva barra laterale +toggle_sidebar_notification2.title = Attiva/disattiva barra laterale (il documento contiene struttura/allegati/livelli) +toggle_sidebar_label = Attiva/disattiva barra laterale +document_outline.title = Visualizza la struttura del documento (doppio clic per visualizzare/comprimere tutti gli elementi) +document_outline_label = Struttura documento +attachments.title = Visualizza allegati +attachments_label = Allegati +layers.title = Visualizza livelli (doppio clic per ripristinare tutti i livelli allo stato predefinito) +layers_label = Livelli +thumbs.title = Mostra le miniature +thumbs_label = Miniature +current_outline_item.title = Trova elemento struttura corrente +current_outline_item_label = Elemento struttura corrente +findbar.title = Trova nel documento +findbar_label = Trova + +additional_layers = Livelli aggiuntivi +page_landmark = Pagina {{page}} +thumb_page_title = Pagina {{page}} +thumb_page_canvas = Miniatura della pagina {{page}} + +find_input.title = Trova +find_input.placeholder = Trova nel documento… +find_previous.title = Trova l’occorrenza precedente del testo da cercare +find_previous_label = Precedente +find_next.title = Trova l’occorrenza successiva del testo da cercare +find_next_label = Successivo +find_highlight = Evidenzia +find_match_case_label = Maiuscole/minuscole +find_entire_word_label = Parole intere +find_match_diacritics_label = Segni diacritici +find_reached_top = Raggiunto l’inizio della pagina, continua dalla fine +find_reached_bottom = Raggiunta la fine della pagina, continua dall’inizio +find_match_count = {[ plural(total) ]} +find_match_count[one] = {{current}} di {{total}} corrispondenza +find_match_count[two] = {{current}} di {{total}} corrispondenze +find_match_count[few] = {{current}} di {{total}} corrispondenze +find_match_count[many] = {{current}} di {{total}} corrispondenze +find_match_count[other] = {{current}} di {{total}} corrispondenze +find_match_count_limit = {[ plural(limit) ]} +find_match_count_limit[zero] = Più di {{limit}} corrispondenze +find_match_count_limit[one] = Più di {{limit}} corrispondenza +find_match_count_limit[two] = Più di {{limit}} corrispondenze +find_match_count_limit[few] = Più di {{limit}} corrispondenze +find_match_count_limit[many] = Più di {{limit}} corrispondenze +find_match_count_limit[other] = Più di {{limit}} corrispondenze +find_not_found = Testo non trovato + +error_more_info = Ulteriori informazioni +error_less_info = Nascondi dettagli +error_close = Chiudi +error_version_info = PDF.js v{{version}} (build: {{build}}) +error_message = Messaggio: {{message}} +error_stack = Stack: {{stack}} +error_file = File: {{file}} +error_line = Riga: {{line}} +rendering_error = Si è verificato un errore durante il rendering della pagina. + +page_scale_width = Larghezza pagina +page_scale_fit = Adatta a una pagina +page_scale_auto = Zoom automatico +page_scale_actual = Dimensioni effettive +page_scale_percent = {{scale}}% + +loading = Caricamento in corso… +loading_error = Si è verificato un errore durante il caricamento del PDF. +invalid_file_error = File PDF non valido o danneggiato. +missing_file_error = File PDF non disponibile. +unexpected_response_error = Risposta imprevista del server + +annotation_date_string = {{date}}, {{time}} + +text_annotation_type.alt = [Annotazione: {{type}}] +password_label = Inserire la password per aprire questo file PDF. +password_invalid = Password non corretta. Riprovare. +password_ok = OK +password_cancel = Annulla + +printing_not_supported = Attenzione: la stampa non è completamente supportata da questo browser. +printing_not_ready = Attenzione: il PDF non è ancora stato caricato completamente per la stampa. +web_fonts_disabled = I web font risultano disattivati: impossibile utilizzare i caratteri incorporati nel PDF. diff --git a/app/assets/javascripts/publications/locale/ja/viewer.properties b/app/assets/javascripts/publications/locale/ja/viewer.properties new file mode 100644 index 0000000..6fbabca --- /dev/null +++ b/app/assets/javascripts/publications/locale/ja/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=前のページへ戻ります +previous_label=前へ +next.title=次のページへ進みます +next_label=次へ + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=ページ +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=/ {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} / {{pagesCount}}) + +zoom_out.title=表示を縮小します +zoom_out_label=縮小 +zoom_in.title=表示を拡大します +zoom_in_label=拡大 +zoom.title=拡大/縮小 +presentation_mode.title=プレゼンテーションモードに切り替えます +presentation_mode_label=プレゼンテーションモード +open_file.title=ファイルを開きます +open_file_label=開く +print.title=印刷します +print_label=印刷 +download.title=ダウンロードします +download_label=ダウンロード +bookmark.title=現在のビューの URL です (コピーまたは新しいウィンドウに開く) +bookmark_label=現在のビュー + +# Secondary toolbar and context menu +tools.title=ツール +tools_label=ツール +first_page.title=最初のページへ移動します +first_page_label=最初のページへ移動 +last_page.title=最後のページへ移動します +last_page_label=最後のページへ移動 +page_rotate_cw.title=ページを右へ回転します +page_rotate_cw_label=右回転 +page_rotate_ccw.title=ページを左へ回転します +page_rotate_ccw_label=左回転 + +cursor_text_select_tool.title=テキスト選択ツールを有効にします +cursor_text_select_tool_label=テキスト選択ツール +cursor_hand_tool.title=手のひらツールを有効にします +cursor_hand_tool_label=手のひらツール + +scroll_page.title=ページ単位でスクロールします +scroll_page_label=ページ単位でスクロール +scroll_vertical.title=縦スクロールにします +scroll_vertical_label=縦スクロール +scroll_horizontal.title=横スクロールにします +scroll_horizontal_label=横スクロール +scroll_wrapped.title=折り返しスクロールにします +scroll_wrapped_label=折り返しスクロール + +spread_none.title=見開きにしません +spread_none_label=見開きにしない +spread_odd.title=奇数ページ開始で見開きにします +spread_odd_label=奇数ページ見開き +spread_even.title=偶数ページ開始で見開きにします +spread_even_label=偶数ページ見開き + +# Document properties dialog box +document_properties.title=文書のプロパティ... +document_properties_label=文書のプロパティ... +document_properties_file_name=ファイル名: +document_properties_file_size=ファイルサイズ: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} バイト) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} バイト) +document_properties_title=タイトル: +document_properties_author=作成者: +document_properties_subject=件名: +document_properties_keywords=キーワード: +document_properties_creation_date=作成日: +document_properties_modification_date=更新日: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=アプリケーション: +document_properties_producer=PDF 作成: +document_properties_version=PDF のバージョン: +document_properties_page_count=ページ数: +document_properties_page_size=ページサイズ: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=縦 +document_properties_page_size_orientation_landscape=横 +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=レター +document_properties_page_size_name_legal=リーガル +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=ウェブ表示用に最適化: +document_properties_linearized_yes=はい +document_properties_linearized_no=いいえ +document_properties_close=閉じる + +print_progress_message=文書の印刷を準備しています... +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=キャンセル + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=サイドバー表示を切り替えます +toggle_sidebar_notification2.title=サイドバー表示を切り替えます (文書に含まれるアウトライン / 添付 / レイヤー) +toggle_sidebar_label=サイドバーの切り替え +document_outline.title=文書の目次を表示します (ダブルクリックで項目を開閉します) +document_outline_label=文書の目次 +attachments.title=添付ファイルを表示します +attachments_label=添付ファイル +layers.title=レイヤーを表示します (ダブルクリックですべてのレイヤーが初期状態に戻ります) +layers_label=レイヤー +thumbs.title=縮小版を表示します +thumbs_label=縮小版 +current_outline_item.title=現在のアウトライン項目を検索 +current_outline_item_label=現在のアウトライン項目 +findbar.title=文書内を検索します +findbar_label=検索 + +additional_layers=追加レイヤー +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark={{page}} ページ +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title={{page}} ページ +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}} ページの縮小版 + +# Find panel button title and messages +find_input.title=検索 +find_input.placeholder=文書内を検索... +find_previous.title=現在より前の位置で指定文字列が現れる部分を検索します +find_previous_label=前へ +find_next.title=現在より後の位置で指定文字列が現れる部分を検索します +find_next_label=次へ +find_highlight=すべて強調表示 +find_match_case_label=大文字/小文字を区別 +find_entire_word_label=単語一致 +find_reached_top=文書先頭に到達したので末尾から続けて検索します +find_reached_bottom=文書末尾に到達したので先頭から続けて検索します +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{total}} 件中 {{current}} 件目 +find_match_count[two]={{total}} 件中 {{current}} 件目 +find_match_count[few]={{total}} 件中 {{current}} 件目 +find_match_count[many]={{total}} 件中 {{current}} 件目 +find_match_count[other]={{total}} 件中 {{current}} 件目 +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]={{limit}} 件以上一致 +find_match_count_limit[one]={{limit}} 件以上一致 +find_match_count_limit[two]={{limit}} 件以上一致 +find_match_count_limit[few]={{limit}} 件以上一致 +find_match_count_limit[many]={{limit}} 件以上一致 +find_match_count_limit[other]={{limit}} 件以上一致 +find_not_found=見つかりませんでした + +# Error panel labels +error_more_info=詳細情報 +error_less_info=詳細情報を隠す +error_close=閉じる +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (ビルド: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=メッセージ: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=スタック: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=ファイル: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=行: {{line}} +rendering_error=ページのレンダリング中にエラーが発生しました。 + +# Predefined zoom values +page_scale_width=幅に合わせる +page_scale_fit=ページのサイズに合わせる +page_scale_auto=自動ズーム +page_scale_actual=実際のサイズ +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=読み込み中... +loading_error=PDF の読み込み中にエラーが発生しました。 +invalid_file_error=無効または破損した PDF ファイル。 +missing_file_error=PDF ファイルが見つかりません。 +unexpected_response_error=サーバーから予期せぬ応答がありました。 + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} 注釈] +password_label=この PDF ファイルを開くためのパスワードを入力してください。 +password_invalid=無効なパスワードです。もう一度やり直してください。 +password_ok=OK +password_cancel=キャンセル + +printing_not_supported=警告: このブラウザーでは印刷が完全にサポートされていません。 +printing_not_ready=警告: PDF を印刷するための読み込みが終了していません。 +web_fonts_disabled=ウェブフォントが無効になっています: 埋め込まれた PDF のフォントを使用できません。 diff --git a/app/assets/javascripts/publications/locale/ka/viewer.properties b/app/assets/javascripts/publications/locale/ka/viewer.properties new file mode 100644 index 0000000..2144a11 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ka/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=წინა გვერდი +previous_label=წინა +next.title=შემდეგი გვერდი +next_label=შემდეგი + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=გვერდი +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages={{pagesCount}}-დან +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} {{pagesCount}}-დან) + +zoom_out.title=ზომის შემცირება +zoom_out_label=დაშორება +zoom_in.title=ზომის გაზრდა +zoom_in_label=მოახლოება +zoom.title=ზომა +presentation_mode.title=ჩვენების რეჟიმზე გადართვა +presentation_mode_label=ჩვენების რეჟიმი +open_file.title=ფაილის გახსნა +open_file_label=გახსნა +print.title=ამობეჭდვა +print_label=ამობეჭდვა +download.title=ჩამოტვირთვა +download_label=ჩამოტვირთვა +bookmark.title=მიმდინარე ხედი (ასლის აღება ან გახსნა ახალ ფანჯარაში) +bookmark_label=მიმდინარე ხედი + +# Secondary toolbar and context menu +tools.title=ხელსაწყოები +tools_label=ხელსაწყოები +first_page.title=პირველ გვერდზე გადასვლა +first_page_label=პირველ გვერდზე გადასვლა +last_page.title=ბოლო გვერდზე გადასვლა +last_page_label=ბოლო გვერდზე გადასვლა +page_rotate_cw.title=საათის ისრის მიმართულებით შებრუნება +page_rotate_cw_label=მარჯვნივ გადაბრუნება +page_rotate_ccw.title=საათის ისრის საპირისპიროდ შებრუნება +page_rotate_ccw_label=მარცხნივ გადაბრუნება + +cursor_text_select_tool.title=მოსანიშნი მაჩვენებლის გამოყენება +cursor_text_select_tool_label=მოსანიშნი მაჩვენებელი +cursor_hand_tool.title=გადასაადგილებელი მაჩვენებლის გამოყენება +cursor_hand_tool_label=გადასაადგილებელი + +scroll_page.title=გვერდზე გადაადგილების გამოყენება +scroll_page_label=გვერდზე გადაადგილება +scroll_vertical.title=გვერდების შვეულად ჩვენება +scroll_vertical_label=შვეული გადაადგილება +scroll_horizontal.title=გვერდების თარაზულად ჩვენება +scroll_horizontal_label=განივი გადაადგილება +scroll_wrapped.title=გვერდების ცხრილურად ჩვენება +scroll_wrapped_label=ცხრილური გადაადგილება + +spread_none.title=ორ გვერდზე გაშლის გარეშე +spread_none_label=ცალგვერდიანი ჩვენება +spread_odd.title=ორ გვერდზე გაშლა, კენტი გვერდიდან დაწყებული +spread_odd_label=ორ გვერდზე კენტიდან +spread_even.title=ორ გვერდზე გაშლა, ლუწი გვერდიდან დაწყებული +spread_even_label=ორ გვერდზე ლუწიდან + +# Document properties dialog box +document_properties.title=დოკუმენტის შესახებ… +document_properties_label=დოკუმენტის შესახებ… +document_properties_file_name=ფაილის სახელი: +document_properties_file_size=ფაილის მოცულობა: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} კბ ({{size_b}} ბაიტი) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} მბ ({{size_b}} ბაიტი) +document_properties_title=სათაური: +document_properties_author=შემქმნელი: +document_properties_subject=თემა: +document_properties_keywords=საკვანძო სიტყვები: +document_properties_creation_date=შექმნის დრო: +document_properties_modification_date=ჩასწორების დრო: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=გამომშვები: +document_properties_producer=PDF-გამომშვები: +document_properties_version=PDF-ვერსია: +document_properties_page_count=გვერდები: +document_properties_page_size=გვერდის ზომა: +document_properties_page_size_unit_inches=დუიმი +document_properties_page_size_unit_millimeters=მმ +document_properties_page_size_orientation_portrait=შვეულად +document_properties_page_size_orientation_landscape=თარაზულად +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=მსუბუქი ვებჩვენება: +document_properties_linearized_yes=დიახ +document_properties_linearized_no=არა +document_properties_close=დახურვა + +print_progress_message=დოკუმენტი მზადდება ამოსაბეჭდად… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=გაუქმება + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=გვერდითა ზოლის გამოჩენა/დამალვა +toggle_sidebar_notification2.title=გვერდითი ზოლის გამოჩენა (შეიცავს სარჩევს/დანართს/ფენებს) +toggle_sidebar_label=გვერდითა ზოლის გამოჩენა/დამალვა +document_outline.title=დოკუმენტის სარჩევის ჩვენება (ორმაგი წკაპით თითოეულის ჩამოშლა/აკეცვა) +document_outline_label=დოკუმენტის სარჩევი +attachments.title=დანართების ჩვენება +attachments_label=დანართები +layers.title=ფენების გამოჩენა (ორმაგი წკაპით ყველა ფენის ნაგულისხმევზე დაბრუნება) +layers_label=ფენები +thumbs.title=შეთვალიერება +thumbs_label=ესკიზები +current_outline_item.title=მიმდინარე გვერდის მონახვა სარჩევში +current_outline_item_label=მიმდინარე გვერდი სარჩევში +findbar.title=პოვნა დოკუმენტში +findbar_label=ძიება + +additional_layers=დამატებითი ფენები +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=გვერდი {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=გვერდი {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=გვერდის შეთვალიერება {{page}} + +# Find panel button title and messages +find_input.title=ძიება +find_input.placeholder=პოვნა დოკუმენტში… +find_previous.title=ფრაზის წინა კონტექსტის პოვნა +find_previous_label=წინა +find_next.title=ფრაზის შემდეგი კონტექსტის პოვნა +find_next_label=შემდეგი +find_highlight=ყველას მონიშვნა +find_match_case_label=ემთხვევა მთავრული +find_entire_word_label=მთლიანი სიტყვები +find_reached_top=მიღწეულია დოკუმენტის დასაწყისი, გრძელდება ბოლოდან +find_reached_bottom=მიღწეულია დოკუმენტის ბოლო, გრძელდება დასაწყისიდან +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} / {{total}} თანხვედრიდან +find_match_count[two]={{current}} / {{total}} თანხვედრიდან +find_match_count[few]={{current}} / {{total}} თანხვედრიდან +find_match_count[many]={{current}} / {{total}} თანხვედრიდან +find_match_count[other]={{current}} / {{total}} თანხვედრიდან +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]={{limit}}-ზე მეტი თანხვედრა +find_match_count_limit[one]={{limit}}-ზე მეტი თანხვედრა +find_match_count_limit[two]={{limit}}-ზე მეტი თანხვედრა +find_match_count_limit[few]={{limit}}-ზე მეტი თანხვედრა +find_match_count_limit[many]={{limit}}-ზე მეტი თანხვედრა +find_match_count_limit[other]={{limit}}-ზე მეტი თანხვედრა +find_not_found=ფრაზა ვერ მოიძებნა + +# Error panel labels +error_more_info=ვრცლად +error_less_info=შემოკლებულად +error_close=დახურვა +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=შეტყობინება: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=სტეკი: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=ფაილი: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=ხაზი: {{line}} +rendering_error=შეცდომა, გვერდის ჩვენებისას. + +# Predefined zoom values +page_scale_width=გვერდის სიგანეზე +page_scale_fit=მთლიანი გვერდი +page_scale_auto=ავტომატური +page_scale_actual=საწყისი ზომა +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=ჩატვირთვა… +loading_error=შეცდომა, PDF-ფაილის ჩატვირთვისას. +invalid_file_error=არამართებული ან დაზიანებული PDF-ფაილი. +missing_file_error=ნაკლული PDF-ფაილი. +unexpected_response_error=სერვერის მოულოდნელი პასუხი. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} შენიშვნა] +password_label=შეიყვანეთ პაროლი PDF-ფაილის გასახსნელად. +password_invalid=არასწორი პაროლი. გთხოვთ, სცადოთ ხელახლა. +password_ok=კარგი +password_cancel=გაუქმება + +printing_not_supported=გაფრთხილება: ამობეჭდვა ამ ბრაუზერში არაა სრულად მხარდაჭერილი. +printing_not_ready=გაფრთხილება: PDF სრულად ჩატვირთული არაა, ამობეჭდვის დასაწყებად. +web_fonts_disabled=ვებშრიფტები გამორთულია: ჩაშენებული PDF-შრიფტების გამოყენება ვერ ხერხდება. diff --git a/app/assets/javascripts/publications/locale/kab/viewer.properties b/app/assets/javascripts/publications/locale/kab/viewer.properties new file mode 100644 index 0000000..bb249d0 --- /dev/null +++ b/app/assets/javascripts/publications/locale/kab/viewer.properties @@ -0,0 +1,248 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Asebter azewwar +previous_label=Azewwar +next.title=Asebter d-iteddun +next_label=Ddu ɣer zdat + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Asebter +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=ɣef {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} n {{pagesCount}}) + +zoom_out.title=Semẓi +zoom_out_label=Semẓi +zoom_in.title=Semɣeṛ +zoom_in_label=Semɣeṛ +zoom.title=Semɣeṛ/Semẓi +presentation_mode.title=Uɣal ɣer Uskar Tihawt +presentation_mode_label=Askar Tihawt +open_file.title=Ldi Afaylu +open_file_label=Ldi +print.title=Siggez +print_label=Siggez +download.title=Sader +download_label=Azdam +bookmark.title=Timeẓri tamirant (nɣel neɣ ldi ɣef usfaylu amaynut) +bookmark_label=Askan amiran + +# Secondary toolbar and context menu +tools.title=Ifecka +tools_label=Ifecka +first_page.title=Ddu ɣer usebter amezwaru +first_page_label=Ddu ɣer usebter amezwaru +last_page.title=Ddu ɣer usebter aneggaru +last_page_label=Ddu ɣer usebter aneggaru +page_rotate_cw.title=Tuzzya tusrigt +page_rotate_cw_label=Tuzzya tusrigt +page_rotate_ccw.title=Tuzzya amgal-usrig +page_rotate_ccw_label=Tuzzya amgal-usrig + +cursor_text_select_tool.title=Rmed afecku n tefrant n uḍris +cursor_text_select_tool_label=Afecku n tefrant n uḍris +cursor_hand_tool.title=Rmed afecku afus +cursor_hand_tool_label=Afecku afus + +scroll_vertical.title=Seqdec adrurem ubdid +scroll_vertical_label=Adrurem ubdid +scroll_horizontal.title=Seqdec adrurem aglawan +scroll_horizontal_label=Adrurem aglawan +scroll_wrapped.title=Seqdec adrurem yuẓen +scroll_wrapped_label=Adrurem yuẓen + +spread_none.title=Ur sedday ara isiɣzaf n usebter +spread_none_label=Ulac isiɣzaf +spread_odd.title=Seddu isiɣzaf n usebter ibeddun s yisebtar irayuganen +spread_odd_label=Isiɣzaf irayuganen +spread_even.title=Seddu isiɣzaf n usebter ibeddun s yisebtar iyuganen +spread_even_label=Isiɣzaf iyuganen + +# Document properties dialog box +document_properties.title=Taɣaṛa n isemli… +document_properties_label=Taɣaṛa n isemli… +document_properties_file_name=Isem n ufaylu: +document_properties_file_size=Teɣzi n ufaylu: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KAṬ ({{size_b}} ibiten) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MAṬ ({{size_b}} iṭamḍanen) +document_properties_title=Azwel: +document_properties_author=Ameskar: +document_properties_subject=Amgay: +document_properties_keywords=Awalen n tsaruţ +document_properties_creation_date=Azemz n tmerna: +document_properties_modification_date=Azemz n usnifel: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Yerna-t: +document_properties_producer=Afecku n uselket PDF: +document_properties_version=Lqem PDF: +document_properties_page_count=Amḍan n yisebtar: +document_properties_page_size=Tuγzi n usebter: +document_properties_page_size_unit_inches=deg +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=s teɣzi +document_properties_page_size_orientation_landscape=s tehri +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Asekkil +document_properties_page_size_name_legal=Usḍif +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Taskant Web taruradt: +document_properties_linearized_yes=Ih +document_properties_linearized_no=Ala +document_properties_close=Mdel + +print_progress_message=Aheggi i usiggez n isemli… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Sefsex + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Sken/Fer agalis adisan +toggle_sidebar_notification2.title=Ffer/Sekn agalis adisan (isemli yegber aɣawas/ticeqqufin yeddan/tissiwin) +toggle_sidebar_label=Sken/Fer agalis adisan +document_outline.title=Sken isemli (Senned snat tikal i wesemɣer/Afneẓ n iferdisen meṛṛa) +document_outline_label=Isɣalen n isebtar +attachments.title=Sken ticeqqufin yeddan +attachments_label=Ticeqqufin yeddan +layers.title=Skeen tissiwin (sit sin yiberdan i uwennez n meṛṛa tissiwin ɣer waddad amezwer) +layers_label=Tissiwin +thumbs.title=Sken tanfult. +thumbs_label=Tinfulin +current_outline_item.title=Af-d aferdis n uɣawas amiran +current_outline_item_label=Aferdis n uɣawas amiran +findbar.title=Nadi deg isemli +findbar_label=Nadi + +additional_layers=Tissiwin-nniḍen +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Asebter {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Asebter {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Tanfult n usebter {{page}} + +# Find panel button title and messages +find_input.title=Nadi +find_input.placeholder=Nadi deg isemli… +find_previous.title=Aff-d tamseḍriwt n twinest n deffir +find_previous_label=Azewwar +find_next.title=Aff-d timseḍriwt n twinest d-iteddun +find_next_label=Ddu ɣer zdat +find_highlight=Err izirig imaṛṛa +find_match_case_label=Qadeṛ amasal n isekkilen +find_entire_word_label=Awalen iččuranen +find_reached_top=Yabbeḍ s afella n usebter, tuɣalin s wadda +find_reached_bottom=Tebḍeḍ s adda n usebter, tuɣalin s afella +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} seg {{total}} n tmeɣṛuḍin +find_match_count[two]={{current}} seg {{total}} n tmeɣṛuḍin +find_match_count[few]={{current}} seg {{total}} n tmeɣṛuḍin +find_match_count[many]={{current}} seg {{total}} n tmeɣṛuḍin +find_match_count[other]={{current}} seg {{total}} n tmeɣṛuḍin +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Ugar n {{limit}} n tmeɣṛuḍin +find_match_count_limit[one]=Ugar n {{limit}} n tmeɣṛuḍin +find_match_count_limit[two]=Ugar n {{limit}} n tmeɣṛuḍin +find_match_count_limit[few]=Ugar n {{limit}} n tmeɣṛuḍin +find_match_count_limit[many]=Ugar n {{limit}} n tmeɣṛuḍin +find_match_count_limit[other]=Ugar n {{limit}} n tmeɣṛuḍin +find_not_found=Ulac tawinest + +# Error panel labels +error_more_info=Ugar n telɣut +error_less_info=Drus n isalen +error_close=Mdel +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Izen: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Tanebdant: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Afaylu: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Izirig: {{line}} +rendering_error=Teḍra-d tuccḍa deg uskan n usebter. + +# Predefined zoom values +page_scale_width=Tehri n usebter +page_scale_fit=Asebter imaṛṛa +page_scale_auto=Asemɣeṛ/Asemẓi awurman +page_scale_actual=Teɣzi tilawt +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Asali… +loading_error=Teḍra-d tuccḍa deg alluy n PDF: +invalid_file_error=Afaylu PDF arameɣtu neɣ yexṣeṛ. +missing_file_error=Ulac afaylu PDF. +unexpected_response_error=Aqeddac yerra-d yir tiririt ur nettwaṛǧi ara. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Tabzimt {{type}}] +password_label=Sekcem awal uffir akken ad ldiḍ afaylu-yagi PDF +password_invalid=Awal uffir mačči d ameɣtu, Ɛreḍ tikelt-nniḍen. +password_ok=IH +password_cancel=Sefsex + +printing_not_supported=Ɣuṛ-k: Asiggez ur ittusefrak ara yakan imaṛṛa deg iminig-a. +printing_not_ready=Ɣuṛ-k: Afaylu PDF ur d-yuli ara imeṛṛa akken ad ittusiggez. +web_fonts_disabled=Tisefsiyin web ttwassensent; D awezɣi useqdec n tsefsiyin yettwarnan ɣer PDF. diff --git a/app/assets/javascripts/publications/locale/kk/viewer.properties b/app/assets/javascripts/publications/locale/kk/viewer.properties new file mode 100644 index 0000000..4565044 --- /dev/null +++ b/app/assets/javascripts/publications/locale/kk/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Алдыңғы парақ +previous_label=Алдыңғысы +next.title=Келесі парақ +next_label=Келесі + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Парақ +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages={{pagesCount}} ішінен +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=(парақ {{pageNumber}}, {{pagesCount}} ішінен) + +zoom_out.title=Кішірейту +zoom_out_label=Кішірейту +zoom_in.title=Үлкейту +zoom_in_label=Үлкейту +zoom.title=Масштаб +presentation_mode.title=Презентация режиміне ауысу +presentation_mode_label=Презентация режимі +open_file.title=Файлды ашу +open_file_label=Ашу +print.title=Баспаға шығару +print_label=Баспаға шығару +download.title=Жүктеп алу +download_label=Жүктеп алу +bookmark.title=Ағымдағы көрініс (көшіру не жаңа терезеде ашу) +bookmark_label=Ағымдағы көрініс + +# Secondary toolbar and context menu +tools.title=Құралдар +tools_label=Құралдар +first_page.title=Алғашқы параққа өту +first_page_label=Алғашқы параққа өту +last_page.title=Соңғы параққа өту +last_page_label=Соңғы параққа өту +page_rotate_cw.title=Сағат тілі бағытымен айналдыру +page_rotate_cw_label=Сағат тілі бағытымен бұру +page_rotate_ccw.title=Сағат тілі бағытына қарсы бұру +page_rotate_ccw_label=Сағат тілі бағытына қарсы бұру + +cursor_text_select_tool.title=Мәтінді таңдау құралын іске қосу +cursor_text_select_tool_label=Мәтінді таңдау құралы +cursor_hand_tool.title=Қол құралын іске қосу +cursor_hand_tool_label=Қол құралы + +scroll_page.title=Беттерді айналдыруды пайдалану +scroll_page_label=Беттерді айналдыру +scroll_vertical.title=Вертикалды айналдыруды қолдану +scroll_vertical_label=Вертикалды айналдыру +scroll_horizontal.title=Горизонталды айналдыруды қолдану +scroll_horizontal_label=Горизонталды айналдыру +scroll_wrapped.title=Масштабталатын айналдыруды қолдану +scroll_wrapped_label=Масштабталатын айналдыру + +spread_none.title=Жазық беттер режимін қолданбау +spread_none_label=Жазық беттер режимсіз +spread_odd.title=Жазық беттер тақ нөмірлі беттерден басталады +spread_odd_label=Тақ нөмірлі беттер сол жақтан +spread_even.title=Жазық беттер жұп нөмірлі беттерден басталады +spread_even_label=Жұп нөмірлі беттер сол жақтан + +# Document properties dialog box +document_properties.title=Құжат қасиеттері… +document_properties_label=Құжат қасиеттері… +document_properties_file_name=Файл аты: +document_properties_file_size=Файл өлшемі: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} КБ ({{size_b}} байт) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} МБ ({{size_b}} байт) +document_properties_title=Тақырыбы: +document_properties_author=Авторы: +document_properties_subject=Тақырыбы: +document_properties_keywords=Кілт сөздер: +document_properties_creation_date=Жасалған күні: +document_properties_modification_date=Түзету күні: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Жасаған: +document_properties_producer=PDF өндірген: +document_properties_version=PDF нұсқасы: +document_properties_page_count=Беттер саны: +document_properties_page_size=Бет өлшемі: +document_properties_page_size_unit_inches=дюйм +document_properties_page_size_unit_millimeters=мм +document_properties_page_size_orientation_portrait=тік +document_properties_page_size_orientation_landscape=жатық +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Жылдам Web көрінісі: +document_properties_linearized_yes=Иә +document_properties_linearized_no=Жоқ +document_properties_close=Жабу + +print_progress_message=Құжатты баспаға шығару үшін дайындау… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Бас тарту + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Бүйір панелін көрсету/жасыру +toggle_sidebar_notification2.title=Бүйір панелін көрсету/жасыру (құжатта құрылымы/салынымдар/қабаттар бар) +toggle_sidebar_label=Бүйір панелін көрсету/жасыру +document_outline.title=Құжат құрылымын көрсету (барлық нәрселерді жазық қылу/жинау үшін қос шерту керек) +document_outline_label=Құжат құрамасы +attachments.title=Салынымдарды көрсету +attachments_label=Салынымдар +layers.title=Қабаттарды көрсету (барлық қабаттарды бастапқы күйге келтіру үшін екі рет шертіңіз) +layers_label=Қабаттар +thumbs.title=Кіші көріністерді көрсету +thumbs_label=Кіші көріністер +current_outline_item.title=Құрылымның ағымдағы элементін табу +current_outline_item_label=Құрылымның ағымдағы элементі +findbar.title=Құжаттан табу +findbar_label=Табу + +additional_layers=Қосымша қабаттар +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Бет {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title={{page}} парағы +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}} парағы үшін кіші көрінісі + +# Find panel button title and messages +find_input.title=Табу +find_input.placeholder=Құжаттан табу… +find_previous.title=Осы сөздердің мәтіннен алдыңғы кездесуін табу +find_previous_label=Алдыңғысы +find_next.title=Осы сөздердің мәтіннен келесі кездесуін табу +find_next_label=Келесі +find_highlight=Барлығын түспен ерекшелеу +find_match_case_label=Регистрді ескеру +find_entire_word_label=Сөздер толығымен +find_reached_top=Құжаттың басына жеттік, соңынан бастап жалғастырамыз +find_reached_bottom=Құжаттың соңына жеттік, басынан бастап жалғастырамыз +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} / {{total}} сәйкестік +find_match_count[two]={{current}} / {{total}} сәйкестік +find_match_count[few]={{current}} / {{total}} сәйкестік +find_match_count[many]={{current}} / {{total}} сәйкестік +find_match_count[other]={{current}} / {{total}} сәйкестік +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]={{limit}} сәйкестіктен көп +find_match_count_limit[one]={{limit}} сәйкестіктен көп +find_match_count_limit[two]={{limit}} сәйкестіктен көп +find_match_count_limit[few]={{limit}} сәйкестіктен көп +find_match_count_limit[many]={{limit}} сәйкестіктен көп +find_match_count_limit[other]={{limit}} сәйкестіктен көп +find_not_found=Сөз(дер) табылмады + +# Error panel labels +error_more_info=Көбірек ақпарат +error_less_info=Азырақ ақпарат +error_close=Жабу +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (жинақ: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Хабарлама: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Стек: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Файл: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Жол: {{line}} +rendering_error=Парақты өңдеу кезінде қате кетті. + +# Predefined zoom values +page_scale_width=Парақ ені +page_scale_fit=Парақты сыйдыру +page_scale_auto=Автомасштабтау +page_scale_actual=Нақты өлшемі +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Жүктелуде… +loading_error=PDF жүктеу кезінде қате кетті. +invalid_file_error=Зақымдалған немесе қате PDF файл. +missing_file_error=PDF файлы жоқ. +unexpected_response_error=Сервердің күтпеген жауабы. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} аңдатпасы] +password_label=Бұл PDF файлын ашу үшін парольді енгізіңіз. +password_invalid=Пароль дұрыс емес. Қайталап көріңіз. +password_ok=ОК +password_cancel=Бас тарту + +printing_not_supported=Ескерту: Баспаға шығаруды бұл браузер толығымен қолдамайды. +printing_not_ready=Ескерту: Баспаға шығару үшін, бұл PDF толығымен жүктеліп алынбады. +web_fonts_disabled=Веб қаріптері сөндірілген: құрамына енгізілген PDF қаріптерін қолдану мүмкін емес. diff --git a/app/assets/javascripts/publications/locale/km/viewer.properties b/app/assets/javascripts/publications/locale/km/viewer.properties new file mode 100644 index 0000000..3dcac78 --- /dev/null +++ b/app/assets/javascripts/publications/locale/km/viewer.properties @@ -0,0 +1,209 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=ទំព័រ​មុន +previous_label=មុន +next.title=ទំព័រ​បន្ទាប់ +next_label=បន្ទាប់ + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=ទំព័រ +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=នៃ {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} នៃ {{pagesCount}}) + +zoom_out.title=​បង្រួម +zoom_out_label=​បង្រួម +zoom_in.title=​ពង្រីក +zoom_in_label=​ពង្រីក +zoom.title=ពង្រីក +presentation_mode.title=ប្ដូរ​ទៅ​របៀប​បទ​បង្ហាញ +presentation_mode_label=របៀប​បទ​បង្ហាញ +open_file.title=បើក​ឯកសារ +open_file_label=បើក +print.title=បោះពុម្ព +print_label=បោះពុម្ព +download.title=ទាញ​យក +download_label=ទាញ​យក +bookmark.title=ទិដ្ឋភាព​បច្ចុប្បន្ន (ចម្លង ឬ​បើក​នៅ​ក្នុង​បង្អួច​ថ្មី) +bookmark_label=ទិដ្ឋភាព​បច្ចុប្បន្ន + +# Secondary toolbar and context menu +tools.title=ឧបករណ៍ +tools_label=ឧបករណ៍ +first_page.title=ទៅកាន់​ទំព័រ​ដំបូង​ +first_page_label=ទៅកាន់​ទំព័រ​ដំបូង​ +last_page.title=ទៅកាន់​ទំព័រ​ចុងក្រោយ​ +last_page_label=ទៅកាន់​ទំព័រ​ចុងក្រោយ +page_rotate_cw.title=បង្វិល​ស្រប​ទ្រនិច​នាឡិកា +page_rotate_cw_label=បង្វិល​ស្រប​ទ្រនិច​នាឡិកា +page_rotate_ccw.title=បង្វិល​ច្រាស​ទ្រនិច​នាឡិកា​​ +page_rotate_ccw_label=បង្វិល​ច្រាស​ទ្រនិច​នាឡិកា​​ + +cursor_text_select_tool.title=បើក​ឧបករណ៍​ជ្រើស​អត្ថបទ +cursor_text_select_tool_label=ឧបករណ៍​ជ្រើស​អត្ថបទ +cursor_hand_tool.title=បើក​ឧបករណ៍​ដៃ +cursor_hand_tool_label=ឧបករណ៍​ដៃ + + + +# Document properties dialog box +document_properties.title=លក្ខណ​សម្បត្តិ​ឯកសារ… +document_properties_label=លក្ខណ​សម្បត្តិ​ឯកសារ… +document_properties_file_name=ឈ្មោះ​ឯកសារ៖ +document_properties_file_size=ទំហំ​ឯកសារ៖ +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} បៃ) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} បៃ) +document_properties_title=ចំណងជើង៖ +document_properties_author=អ្នក​និពន្ធ៖ +document_properties_subject=ប្រធានបទ៖ +document_properties_keywords=ពាក្យ​គន្លឹះ៖ +document_properties_creation_date=កាលបរិច្ឆេទ​បង្កើត៖ +document_properties_modification_date=កាលបរិច្ឆេទ​កែប្រែ៖ +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=អ្នក​បង្កើត៖ +document_properties_producer=កម្មវិធី​បង្កើត PDF ៖ +document_properties_version=កំណែ PDF ៖ +document_properties_page_count=ចំនួន​ទំព័រ៖ +document_properties_page_size_unit_inches=អ៊ីញ +document_properties_page_size_unit_millimeters=មម +document_properties_page_size_orientation_portrait=បញ្ឈរ +document_properties_page_size_orientation_landscape=ផ្តេក +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=សំបុត្រ +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized_yes=បាទ/ចាស +document_properties_linearized_no=ទេ +document_properties_close=បិទ + +print_progress_message=កំពុង​រៀបចំ​ឯកសារ​សម្រាប់​បោះពុម្ព… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=បោះបង់ + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=បិទ/បើក​គ្រាប់​រំកិល +toggle_sidebar_label=បិទ/បើក​គ្រាប់​រំកិល +document_outline.title=បង្ហាញ​គ្រោង​ឯកសារ (ចុច​ទ្វេ​ដង​ដើម្បី​ពង្រីក/បង្រួម​ធាតុ​ទាំងអស់) +document_outline_label=គ្រោង​ឯកសារ +attachments.title=បង្ហាញ​ឯកសារ​ភ្ជាប់ +attachments_label=ឯកសារ​ភ្ជាប់ +thumbs.title=បង្ហាញ​រូបភាព​តូចៗ +thumbs_label=រួបភាព​តូចៗ +findbar.title=រក​នៅ​ក្នុង​ឯកសារ +findbar_label=រក + +# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number. +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=ទំព័រ {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=រូបភាព​តូច​របស់​ទំព័រ {{page}} + +# Find panel button title and messages +find_input.title=រក +find_input.placeholder=រក​នៅ​ក្នុង​ឯកសារ... +find_previous.title=រក​ពាក្យ ឬ​ឃ្លា​ដែល​បាន​ជួប​មុន +find_previous_label=មុន +find_next.title=រក​ពាក្យ ឬ​ឃ្លា​ដែល​បាន​ជួប​បន្ទាប់ +find_next_label=បន្ទាប់ +find_highlight=បន្លិច​ទាំងអស់ +find_match_case_label=ករណី​ដំណូច +find_reached_top=បាន​បន្ត​ពី​ខាង​ក្រោម ទៅ​ដល់​ខាង​​លើ​នៃ​ឯកសារ +find_reached_bottom=បាន​បន្ត​ពី​ខាងលើ ទៅដល់​ចុង​​នៃ​ឯកសារ +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_not_found=រក​មិន​ឃើញ​ពាក្យ ឬ​ឃ្លា + +# Error panel labels +error_more_info=ព័ត៌មាន​បន្ថែម +error_less_info=ព័ត៌មាន​តិចតួច +error_close=បិទ +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=សារ ៖ {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=ជង់ ៖ {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=ឯកសារ ៖ {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=ជួរ ៖ {{line}} +rendering_error=មាន​កំហុស​បាន​កើតឡើង​ពេល​បង្ហាញ​ទំព័រ ។ + +# Predefined zoom values +page_scale_width=ទទឹង​ទំព័រ +page_scale_fit=សម​ទំព័រ +page_scale_auto=ពង្រីក​ស្វ័យប្រវត្តិ +page_scale_actual=ទំហំ​ជាក់ស្ដែង +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=មាន​កំហុស​បាន​កើតឡើង​ពេល​កំពុង​ផ្ទុក PDF ។ +invalid_file_error=ឯកសារ PDF ខូច ឬ​មិន​ត្រឹមត្រូវ ។ +missing_file_error=បាត់​ឯកសារ PDF +unexpected_response_error=ការ​ឆ្លើយ​តម​ម៉ាស៊ីន​មេ​ដែល​មិន​បាន​រំពឹង។ + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} ចំណារ​ពន្យល់] +password_label=បញ្ចូល​ពាក្យសម្ងាត់​ដើម្បី​បើក​ឯកសារ PDF នេះ។ +password_invalid=ពាក្យសម្ងាត់​មិន​ត្រឹមត្រូវ។ សូម​ព្យាយាម​ម្ដងទៀត។ +password_ok=យល់​ព្រម +password_cancel=បោះបង់ + +printing_not_supported=ការ​ព្រមាន ៖ កា​រ​បោះពុម្ព​មិន​ត្រូវ​បាន​គាំទ្រ​ពេញលេញ​ដោយ​កម្មវិធី​រុករក​នេះ​ទេ ។ +printing_not_ready=ព្រមាន៖ PDF មិន​ត្រូវ​បាន​ផ្ទុក​ទាំងស្រុង​ដើម្បី​បោះពុម្ព​ទេ។ +web_fonts_disabled=បាន​បិទ​ពុម្ពអក្សរ​បណ្ដាញ ៖ មិន​អាច​ប្រើ​ពុម្ពអក្សរ PDF ដែល​បាន​បង្កប់​បាន​ទេ ។ diff --git a/app/assets/javascripts/publications/locale/kn/viewer.properties b/app/assets/javascripts/publications/locale/kn/viewer.properties new file mode 100644 index 0000000..79c0437 --- /dev/null +++ b/app/assets/javascripts/publications/locale/kn/viewer.properties @@ -0,0 +1,186 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=ಹಿಂದಿನ ಪುಟ +previous_label=ಹಿಂದಿನ +next.title=ಮುಂದಿನ ಪುಟ +next_label=ಮುಂದಿನ + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=ಪುಟ +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages={{pagesCount}} ರಲ್ಲಿ +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pagesCount}} ರಲ್ಲಿ {{pageNumber}}) + +zoom_out.title=ಕಿರಿದಾಗಿಸು +zoom_out_label=ಕಿರಿದಾಗಿಸಿ +zoom_in.title=ಹಿರಿದಾಗಿಸು +zoom_in_label=ಹಿರಿದಾಗಿಸಿ +zoom.title=ಗಾತ್ರಬದಲಿಸು +presentation_mode.title=ಪ್ರಸ್ತುತಿ (ಪ್ರಸೆಂಟೇಶನ್) ಕ್ರಮಕ್ಕೆ ಬದಲಾಯಿಸು +presentation_mode_label=ಪ್ರಸ್ತುತಿ (ಪ್ರಸೆಂಟೇಶನ್) ಕ್ರಮ +open_file.title=ಕಡತವನ್ನು ತೆರೆ +open_file_label=ತೆರೆಯಿರಿ +print.title=ಮುದ್ರಿಸು +print_label=ಮುದ್ರಿಸಿ +download.title=ಇಳಿಸು +download_label=ಇಳಿಸಿಕೊಳ್ಳಿ +bookmark.title=ಪ್ರಸಕ್ತ ನೋಟ (ಪ್ರತಿ ಮಾಡು ಅಥವ ಹೊಸ ಕಿಟಕಿಯಲ್ಲಿ ತೆರೆ) +bookmark_label=ಪ್ರಸಕ್ತ ನೋಟ + +# Secondary toolbar and context menu +tools.title=ಉಪಕರಣಗಳು +tools_label=ಉಪಕರಣಗಳು +first_page.title=ಮೊದಲ ಪುಟಕ್ಕೆ ತೆರಳು +first_page_label=ಮೊದಲ ಪುಟಕ್ಕೆ ತೆರಳು +last_page.title=ಕೊನೆಯ ಪುಟಕ್ಕೆ ತೆರಳು +last_page_label=ಕೊನೆಯ ಪುಟಕ್ಕೆ ತೆರಳು +page_rotate_cw.title=ಪ್ರದಕ್ಷಿಣೆಯಲ್ಲಿ ತಿರುಗಿಸು +page_rotate_cw_label=ಪ್ರದಕ್ಷಿಣೆಯಲ್ಲಿ ತಿರುಗಿಸು +page_rotate_ccw.title=ಅಪ್ರದಕ್ಷಿಣೆಯಲ್ಲಿ ತಿರುಗಿಸು +page_rotate_ccw_label=ಅಪ್ರದಕ್ಷಿಣೆಯಲ್ಲಿ ತಿರುಗಿಸು + +cursor_text_select_tool.title=ಪಠ್ಯ ಆಯ್ಕೆ ಉಪಕರಣವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ +cursor_text_select_tool_label=ಪಠ್ಯ ಆಯ್ಕೆಯ ಉಪಕರಣ +cursor_hand_tool.title=ಕೈ ಉಪಕರಣವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ +cursor_hand_tool_label=ಕೈ ಉಪಕರಣ + + + +# Document properties dialog box +document_properties.title=ಡಾಕ್ಯುಮೆಂಟ್‌ ಗುಣಗಳು... +document_properties_label=ಡಾಕ್ಯುಮೆಂಟ್‌ ಗುಣಗಳು... +document_properties_file_name=ಕಡತದ ಹೆಸರು: +document_properties_file_size=ಕಡತದ ಗಾತ್ರ: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} ಬೈಟ್‍ಗಳು) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} ಬೈಟ್‍ಗಳು) +document_properties_title=ಶೀರ್ಷಿಕೆ: +document_properties_author=ಕರ್ತೃ: +document_properties_subject=ವಿಷಯ: +document_properties_keywords=ಮುಖ್ಯಪದಗಳು: +document_properties_creation_date=ರಚಿಸಿದ ದಿನಾಂಕ: +document_properties_modification_date=ಮಾರ್ಪಡಿಸಲಾದ ದಿನಾಂಕ: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=ರಚಿಸಿದವರು: +document_properties_producer=PDF ಉತ್ಪಾದಕ: +document_properties_version=PDF ಆವೃತ್ತಿ: +document_properties_page_count=ಪುಟದ ಎಣಿಕೆ: +document_properties_page_size_unit_inches=ಇದರಲ್ಲಿ +document_properties_page_size_orientation_portrait=ಭಾವಚಿತ್ರ +document_properties_page_size_orientation_landscape=ಪ್ರಕೃತಿ ಚಿತ್ರ +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_close=ಮುಚ್ಚು + +print_progress_message=ಮುದ್ರಿಸುವುದಕ್ಕಾಗಿ ದಸ್ತಾವೇಜನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗುತ್ತಿದೆ… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=ರದ್ದು ಮಾಡು + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=ಬದಿಪಟ್ಟಿಯನ್ನು ಹೊರಳಿಸು +toggle_sidebar_label=ಬದಿಪಟ್ಟಿಯನ್ನು ಹೊರಳಿಸು +document_outline_label=ದಸ್ತಾವೇಜಿನ ಹೊರರೇಖೆ +attachments.title=ಲಗತ್ತುಗಳನ್ನು ತೋರಿಸು +attachments_label=ಲಗತ್ತುಗಳು +thumbs.title=ಚಿಕ್ಕಚಿತ್ರದಂತೆ ತೋರಿಸು +thumbs_label=ಚಿಕ್ಕಚಿತ್ರಗಳು +findbar.title=ದಸ್ತಾವೇಜಿನಲ್ಲಿ ಹುಡುಕು +findbar_label=ಹುಡುಕು + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=ಪುಟ {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=ಪುಟವನ್ನು ಚಿಕ್ಕಚಿತ್ರದಂತೆ ತೋರಿಸು {{page}} + +# Find panel button title and messages +find_input.title=ಹುಡುಕು +find_input.placeholder=ದಸ್ತಾವೇಜಿನಲ್ಲಿ ಹುಡುಕು… +find_previous.title=ವಾಕ್ಯದ ಹಿಂದಿನ ಇರುವಿಕೆಯನ್ನು ಹುಡುಕು +find_previous_label=ಹಿಂದಿನ +find_next.title=ವಾಕ್ಯದ ಮುಂದಿನ ಇರುವಿಕೆಯನ್ನು ಹುಡುಕು +find_next_label=ಮುಂದಿನ +find_highlight=ಎಲ್ಲವನ್ನು ಹೈಲೈಟ್ ಮಾಡು +find_match_case_label=ಕೇಸನ್ನು ಹೊಂದಿಸು +find_reached_top=ದಸ್ತಾವೇಜಿನ ಮೇಲ್ಭಾಗವನ್ನು ತಲುಪಿದೆ, ಕೆಳಗಿನಿಂದ ಆರಂಭಿಸು +find_reached_bottom=ದಸ್ತಾವೇಜಿನ ಕೊನೆಯನ್ನು ತಲುಪಿದೆ, ಮೇಲಿನಿಂದ ಆರಂಭಿಸು +find_not_found=ವಾಕ್ಯವು ಕಂಡು ಬಂದಿಲ್ಲ + +# Error panel labels +error_more_info=ಹೆಚ್ಚಿನ ಮಾಹಿತಿ +error_less_info=ಕಡಿಮೆ ಮಾಹಿತಿ +error_close=ಮುಚ್ಚು +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=ಸಂದೇಶ: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=ರಾಶಿ: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=ಕಡತ: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=ಸಾಲು: {{line}} +rendering_error=ಪುಟವನ್ನು ನಿರೂಪಿಸುವಾಗ ಒಂದು ದೋಷ ಎದುರಾಗಿದೆ. + +# Predefined zoom values +page_scale_width=ಪುಟದ ಅಗಲ +page_scale_fit=ಪುಟದ ಸರಿಹೊಂದಿಕೆ +page_scale_auto=ಸ್ವಯಂಚಾಲಿತ ಗಾತ್ರಬದಲಾವಣೆ +page_scale_actual=ನಿಜವಾದ ಗಾತ್ರ +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=PDF ಅನ್ನು ಲೋಡ್ ಮಾಡುವಾಗ ಒಂದು ದೋಷ ಎದುರಾಗಿದೆ. +invalid_file_error=ಅಮಾನ್ಯವಾದ ಅಥವ ಹಾಳಾದ PDF ಕಡತ. +missing_file_error=PDF ಕಡತ ಇಲ್ಲ. +unexpected_response_error=ಅನಿರೀಕ್ಷಿತವಾದ ಪೂರೈಕೆಗಣಕದ ಪ್ರತಿಕ್ರಿಯೆ. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} ಟಿಪ್ಪಣಿ] +password_label=PDF ಅನ್ನು ತೆರೆಯಲು ಗುಪ್ತಪದವನ್ನು ನಮೂದಿಸಿ. +password_invalid=ಅಮಾನ್ಯವಾದ ಗುಪ್ತಪದ, ದಯವಿಟ್ಟು ಇನ್ನೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ. +password_ok=OK +password_cancel=ರದ್ದು ಮಾಡು + +printing_not_supported=ಎಚ್ಚರಿಕೆ: ಈ ಜಾಲವೀಕ್ಷಕದಲ್ಲಿ ಮುದ್ರಣಕ್ಕೆ ಸಂಪೂರ್ಣ ಬೆಂಬಲವಿಲ್ಲ. +printing_not_ready=ಎಚ್ಚರಿಕೆ: PDF ಕಡತವು ಮುದ್ರಿಸಲು ಸಂಪೂರ್ಣವಾಗಿ ಲೋಡ್ ಆಗಿಲ್ಲ. +web_fonts_disabled=ಜಾಲ ಅಕ್ಷರಶೈಲಿಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ: ಅಡಕಗೊಳಿಸಿದ PDF ಅಕ್ಷರಶೈಲಿಗಳನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ. diff --git a/app/assets/javascripts/publications/locale/ko/viewer.properties b/app/assets/javascripts/publications/locale/ko/viewer.properties new file mode 100644 index 0000000..6812ae6 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ko/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=이전 페이지 +previous_label=이전 +next.title=다음 페이지 +next_label=다음 + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=페이지 +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=/ {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} / {{pagesCount}}) + +zoom_out.title=축소 +zoom_out_label=축소 +zoom_in.title=확대 +zoom_in_label=확대 +zoom.title=확대/축소 +presentation_mode.title=프레젠테이션 모드로 전환 +presentation_mode_label=프레젠테이션 모드 +open_file.title=파일 열기 +open_file_label=열기 +print.title=인쇄 +print_label=인쇄 +download.title=다운로드 +download_label=다운로드 +bookmark.title=현재 보기 (복사 또는 새 창에서 열기) +bookmark_label=현재 보기 + +# Secondary toolbar and context menu +tools.title=도구 +tools_label=도구 +first_page.title=첫 페이지로 이동 +first_page_label=첫 페이지로 이동 +last_page.title=마지막 페이지로 이동 +last_page_label=마지막 페이지로 이동 +page_rotate_cw.title=시계방향으로 회전 +page_rotate_cw_label=시계방향으로 회전 +page_rotate_ccw.title=시계 반대방향으로 회전 +page_rotate_ccw_label=시계 반대방향으로 회전 + +cursor_text_select_tool.title=텍스트 선택 도구 활성화 +cursor_text_select_tool_label=텍스트 선택 도구 +cursor_hand_tool.title=손 도구 활성화 +cursor_hand_tool_label=손 도구 + +scroll_page.title=페이지 스크롤 사용 +scroll_page_label=페이지 스크롤 +scroll_vertical.title=세로 스크롤 사용 +scroll_vertical_label=세로 스크롤 +scroll_horizontal.title=가로 스크롤 사용 +scroll_horizontal_label=가로 스크롤 +scroll_wrapped.title=래핑(자동 줄 바꿈) 스크롤 사용 +scroll_wrapped_label=래핑 스크롤 + +spread_none.title=한 페이지 보기 +spread_none_label=펼쳐짐 없음 +spread_odd.title=홀수 페이지로 시작하는 두 페이지 보기 +spread_odd_label=홀수 펼쳐짐 +spread_even.title=짝수 페이지로 시작하는 두 페이지 보기 +spread_even_label=짝수 펼쳐짐 + +# Document properties dialog box +document_properties.title=문서 속성… +document_properties_label=문서 속성… +document_properties_file_name=파일 이름: +document_properties_file_size=파일 크기: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}}바이트) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}}바이트) +document_properties_title=제목: +document_properties_author=작성자: +document_properties_subject=주제: +document_properties_keywords=키워드: +document_properties_creation_date=작성 날짜: +document_properties_modification_date=수정 날짜: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=작성 프로그램: +document_properties_producer=PDF 변환 소프트웨어: +document_properties_version=PDF 버전: +document_properties_page_count=페이지 수: +document_properties_page_size=페이지 크기: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=세로 방향 +document_properties_page_size_orientation_landscape=가로 방향 +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=레터 +document_properties_page_size_name_legal=리걸 +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=빠른 웹 보기: +document_properties_linearized_yes=예 +document_properties_linearized_no=아니오 +document_properties_close=닫기 + +print_progress_message=인쇄 문서 준비 중… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=취소 + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=탐색창 표시/숨기기 +toggle_sidebar_notification2.title=탐색창 표시/숨기기 (문서에 아웃라인/첨부파일/레이어 포함됨) +toggle_sidebar_label=탐색창 표시/숨기기 +document_outline.title=문서 아웃라인 보기 (더블 클릭해서 모든 항목 펼치기/접기) +document_outline_label=문서 아웃라인 +attachments.title=첨부파일 보기 +attachments_label=첨부파일 +layers.title=레이어 보기 (더블 클릭해서 모든 레이어를 기본 상태로 재설정) +layers_label=레이어 +thumbs.title=미리보기 +thumbs_label=미리보기 +current_outline_item.title=현재 아웃라인 항목 찾기 +current_outline_item_label=현재 아웃라인 항목 +findbar.title=검색 +findbar_label=검색 + +additional_layers=추가 레이어 +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark={{page}} 페이지 +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title={{page}} 페이지 +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}} 페이지 미리보기 + +# Find panel button title and messages +find_input.title=찾기 +find_input.placeholder=문서에서 찾기… +find_previous.title=지정 문자열에 일치하는 1개 부분을 검색 +find_previous_label=이전 +find_next.title=지정 문자열에 일치하는 다음 부분을 검색 +find_next_label=다음 +find_highlight=모두 강조 표시 +find_match_case_label=대/소문자 구분 +find_match_diacritics_label=분음 부호 일치 +find_entire_word_label=단어 단위로 +find_reached_top=문서 처음까지 검색하고 끝으로 돌아와 검색했습니다. +find_reached_bottom=문서 끝까지 검색하고 앞으로 돌아와 검색했습니다. +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{total}} 중 {{current}} 일치 +find_match_count[two]={{total}} 중 {{current}} 일치 +find_match_count[few]={{total}} 중 {{current}} 일치 +find_match_count[many]={{total}} 중 {{current}} 일치 +find_match_count[other]={{total}} 중 {{current}} 일치 +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]={{limit}} 이상 일치 +find_match_count_limit[one]={{limit}} 이상 일치 +find_match_count_limit[two]={{limit}} 이상 일치 +find_match_count_limit[few]={{limit}} 이상 일치 +find_match_count_limit[many]={{limit}} 이상 일치 +find_match_count_limit[other]={{limit}} 이상 일치 +find_not_found=검색 결과 없음 + +# Error panel labels +error_more_info=자세한 정보 +error_less_info=정보 간단히 보기 +error_close=닫기 +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (빌드: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=메시지: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=스택: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=파일: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=줄 번호: {{line}} +rendering_error=페이지를 렌더링하는 동안 오류가 발생했습니다. + +# Predefined zoom values +page_scale_width=페이지 너비에 맞추기 +page_scale_fit=페이지에 맞추기 +page_scale_auto=자동 +page_scale_actual=실제 크기 +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=로드 중… +loading_error=PDF를 로드하는 동안 오류가 발생했습니다. +invalid_file_error=잘못되었거나 손상된 PDF 파일. +missing_file_error=PDF 파일 없음. +unexpected_response_error=예상치 못한 서버 응답입니다. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}} {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} 주석] +password_label=이 PDF 파일을 열 수 있는 비밀번호를 입력하세요. +password_invalid=잘못된 비밀번호입니다. 다시 시도하세요. +password_ok=확인 +password_cancel=취소 + +printing_not_supported=경고: 이 브라우저는 인쇄를 완전히 지원하지 않습니다. +printing_not_ready=경고: 이 PDF를 인쇄를 할 수 있을 정도로 읽어들이지 못했습니다. +web_fonts_disabled=웹 폰트가 비활성화됨: 내장된 PDF 글꼴을 사용할 수 없습니다. diff --git a/app/assets/javascripts/publications/locale/lij/viewer.properties b/app/assets/javascripts/publications/locale/lij/viewer.properties new file mode 100644 index 0000000..b89981c --- /dev/null +++ b/app/assets/javascripts/publications/locale/lij/viewer.properties @@ -0,0 +1,234 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Pagina primma +previous_label=Precedente +next.title=Pagina dòppo +next_label=Pròscima + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pagina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=de {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} de {{pagesCount}}) + +zoom_out.title=Diminoisci zoom +zoom_out_label=Diminoisci zoom +zoom_in.title=Aomenta zoom +zoom_in_label=Aomenta zoom +zoom.title=Zoom +presentation_mode.title=Vanni into mòddo de prezentaçion +presentation_mode_label=Mòddo de prezentaçion +open_file.title=Arvi file +open_file_label=Arvi +print.title=Stanpa +print_label=Stanpa +download.title=Descaregamento +download_label=Descaregamento +bookmark.title=Vixon corente (còpia ò arvi inte 'n neuvo barcon) +bookmark_label=Vixon corente + +# Secondary toolbar and context menu +tools.title=Atressi +tools_label=Atressi +first_page.title=Vanni a-a primma pagina +first_page_label=Vanni a-a primma pagina +last_page.title=Vanni a l'urtima pagina +last_page_label=Vanni a l'urtima pagina +page_rotate_cw.title=Gia into verso oraio +page_rotate_cw_label=Gia into verso oraio +page_rotate_ccw.title=Gia into verso antioraio +page_rotate_ccw_label=Gia into verso antioraio + +cursor_text_select_tool.title=Abilita strumento de seleçion do testo +cursor_text_select_tool_label=Strumento de seleçion do testo +cursor_hand_tool.title=Abilita strumento man +cursor_hand_tool_label=Strumento man + +scroll_vertical.title=Deuvia rebelamento verticale +scroll_vertical_label=Rebelamento verticale +scroll_horizontal.title=Deuvia rebelamento orizontâ +scroll_horizontal_label=Rebelamento orizontâ +scroll_wrapped.title=Deuvia rebelamento incapsolou +scroll_wrapped_label=Rebelamento incapsolou + +spread_none.title=No unite a-a difuxon de pagina +spread_none_label=No difuxon +spread_odd.title=Uniscite a-a difuxon de pagina co-o numero dèspa +spread_odd_label=Difuxon dèspa +spread_even.title=Uniscite a-a difuxon de pagina co-o numero pari +spread_even_label=Difuxon pari + +# Document properties dialog box +document_properties.title=Propietæ do documento… +document_properties_label=Propietæ do documento… +document_properties_file_name=Nomme schedaio: +document_properties_file_size=Dimenscion schedaio: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} kB ({{size_b}} byte) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} byte) +document_properties_title=Titolo: +document_properties_author=Aoto: +document_properties_subject=Ogetto: +document_properties_keywords=Paròlle ciave: +document_properties_creation_date=Dæta creaçion: +document_properties_modification_date=Dæta cangiamento: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Aotô originale: +document_properties_producer=Produtô PDF: +document_properties_version=Verscion PDF: +document_properties_page_count=Contezzo pagine: +document_properties_page_size=Dimenscion da pagina: +document_properties_page_size_unit_inches=dii gròsci +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=drito +document_properties_page_size_orientation_landscape=desteizo +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letia +document_properties_page_size_name_legal=Lezze +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Vista veloce do Web: +document_properties_linearized_yes=Sci +document_properties_linearized_no=No +document_properties_close=Særa + +print_progress_message=Praparo o documento pe-a stanpa… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Anulla + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Ativa/dizativa bara de scianco +toggle_sidebar_label=Ativa/dizativa bara de scianco +document_outline.title=Fanni vedde o contorno do documento (scicca doggio pe espande/ridue tutti i elementi) +document_outline_label=Contorno do documento +attachments.title=Fanni vedde alegæ +attachments_label=Alegæ +thumbs.title=Mostra miniatue +thumbs_label=Miniatue +findbar.title=Treuva into documento +findbar_label=Treuva + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Pagina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatua da pagina {{page}} + +# Find panel button title and messages +find_input.title=Treuva +find_input.placeholder=Treuva into documento… +find_previous.title=Treuva a ripetiçion precedente do testo da çercâ +find_previous_label=Precedente +find_next.title=Treuva a ripetiçion dòppo do testo da çercâ +find_next_label=Segoente +find_highlight=Evidençia +find_match_case_label=Maioscole/minoscole +find_entire_word_label=Poula intrega +find_reached_top=Razonto a fin da pagina, continoa da l'iniçio +find_reached_bottom=Razonto l'iniçio da pagina, continoa da-a fin +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} de {{total}} corispondensa +find_match_count[two]={{current}} de {{total}} corispondense +find_match_count[few]={{current}} de {{total}} corispondense +find_match_count[many]={{current}} de {{total}} corispondense +find_match_count[other]={{current}} de {{total}} corispondense +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Ciù de {{limit}} corispondense +find_match_count_limit[one]=Ciù de {{limit}} corispondensa +find_match_count_limit[two]=Ciù de {{limit}} corispondense +find_match_count_limit[few]=Ciù de {{limit}} corispondense +find_match_count_limit[many]=Ciù de {{limit}} corispondense +find_match_count_limit[other]=Ciù de {{limit}} corispondense +find_not_found=Testo no trovou + +# Error panel labels +error_more_info=Ciù informaçioin +error_less_info=Meno informaçioin +error_close=Særa +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mesaggio: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Schedaio: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linia: {{line}} +rendering_error=Gh'é stæto 'n'erô itno rendering da pagina. + +# Predefined zoom values +page_scale_width=Larghessa pagina +page_scale_fit=Adatta a una pagina +page_scale_auto=Zoom aotomatico +page_scale_actual=Dimenscioin efetive +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=S'é verificou 'n'erô itno caregamento do PDF. +invalid_file_error=O schedaio PDF o l'é no valido ò aroinou. +missing_file_error=O schedaio PDF o no gh'é. +unexpected_response_error=Risposta inprevista do-u server + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anotaçion: {{type}}] +password_label=Dimme a paròlla segreta pe arvî sto schedaio PDF. +password_invalid=Paròlla segreta sbalia. Preuva torna. +password_ok=Va ben +password_cancel=Anulla + +printing_not_supported=Atençion: a stanpa a no l'é conpletamente soportâ da sto navegatô. +printing_not_ready=Atençion: o PDF o no l'é ancon caregou conpletamente pe-a stanpa. +web_fonts_disabled=I font do web en dizativæ: inposcibile adeuviâ i carateri do PDF. diff --git a/app/assets/javascripts/publications/locale/lo/viewer.properties b/app/assets/javascripts/publications/locale/lo/viewer.properties new file mode 100644 index 0000000..8b877d0 --- /dev/null +++ b/app/assets/javascripts/publications/locale/lo/viewer.properties @@ -0,0 +1,145 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=ຫນ້າກ່ອນຫນ້າ +previous_label=ກ່ອນຫນ້າ +next.title=ຫນ້າຖັດໄປ +next_label=ຖັດໄປ + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=ຫນ້າ +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=ຈາກ {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} ຈາກ {{pagesCount}}) + +zoom_out.title=ຂະຫຍາຍອອກ +zoom_out_label=ຂະຫຍາຍອອກ +zoom_in.title=ຂະຫຍາຍເຂົ້າ +zoom_in_label=ຂະຫຍາຍເຂົ້າ +zoom.title=ຂະຫຍາຍ +presentation_mode.title=ສັບປ່ຽນເປັນໂຫມດການນຳສະເຫນີ +presentation_mode_label=ໂຫມດການນຳສະເຫນີ +open_file.title=ເປີດໄຟລ໌ +open_file_label=ເປີດ +print.title=ພິມ +print_label=ພິມ +download.title=ດາວໂຫລດ +download_label=ດາວໂຫລດ +bookmark.title=ມຸມມອງປະຈຸບັນ (ສຳເນົາ ຫລື ເປີດໃນວິນໂດໃຫມ່) +bookmark_label=ມຸມມອງປະຈຸບັນ + +# Secondary toolbar and context menu +tools.title=ເຄື່ອງມື +tools_label=ເຄື່ອງມື +first_page.title=ໄປທີ່ຫນ້າທຳອິດ +first_page_label=ໄປທີ່ຫນ້າທຳອິດ +last_page.title=ໄປທີ່ຫນ້າສຸດທ້າຍ +last_page_label=ໄປທີ່ຫນ້າສຸດທ້າຍ +page_rotate_cw.title=ຫມູນຕາມເຂັມໂມງ +page_rotate_cw_label=ຫມູນຕາມເຂັມໂມງ +page_rotate_ccw.title=ຫມູນທວນເຂັມໂມງ +page_rotate_ccw_label=ຫມູນທວນເຂັມໂມງ + + + + +# Document properties dialog box +document_properties_file_name=ຊື່ໄຟລ໌: +document_properties_file_size=ຂະຫນາດໄຟລ໌: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=ລວງຕັ້ງ +document_properties_page_size_orientation_landscape=ລວງນອນ +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=ຈົດໝາຍ +document_properties_page_size_name_legal=ຂໍ້ກົດຫມາຍ +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_close=ປິດ + +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_close=ຍົກເລີກ + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=ເປີດ/ປິດແຖບຂ້າງ +toggle_sidebar_label=ເປີດ/ປິດແຖບຂ້າງ +document_outline_label=ເຄົ້າຮ່າງເອກະສານ +findbar_label=ຄົ້ນຫາ + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. + +# Find panel button title and messages +find_input.title=ຄົ້ນຫາ +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. + +# Error panel labels +error_more_info=ຂໍ້ມູນເພີ່ມເຕີມ +error_less_info=ຂໍ້ມູນນ້ອຍລົງ +error_close=ປິດ +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +rendering_error=ມີຂໍ້ຜິດພາດເກີດຂື້ນຂະນະທີ່ກຳລັງເຣັນເດີຫນ້າ. + +# Predefined zoom values +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. + +loading_error=ມີຂໍ້ຜິດພາດເກີດຂື້ນຂະນະທີ່ກຳລັງໂຫລດ PDF. +invalid_file_error=ໄຟລ໌ PDF ບໍ່ຖືກຕ້ອງຫລືເສຍຫາຍ. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +password_ok=ຕົກລົງ +password_cancel=ຍົກເລີກ + diff --git a/app/assets/javascripts/publications/locale/locale.properties b/app/assets/javascripts/publications/locale/locale.properties new file mode 100644 index 0000000..ae79f47 --- /dev/null +++ b/app/assets/javascripts/publications/locale/locale.properties @@ -0,0 +1,327 @@ +[ach] +@import url(ach/viewer.properties) + +[af] +@import url(af/viewer.properties) + +[an] +@import url(an/viewer.properties) + +[ar] +@import url(ar/viewer.properties) + +[ast] +@import url(ast/viewer.properties) + +[az] +@import url(az/viewer.properties) + +[be] +@import url(be/viewer.properties) + +[bg] +@import url(bg/viewer.properties) + +[bn] +@import url(bn/viewer.properties) + +[bo] +@import url(bo/viewer.properties) + +[br] +@import url(br/viewer.properties) + +[brx] +@import url(brx/viewer.properties) + +[bs] +@import url(bs/viewer.properties) + +[ca] +@import url(ca/viewer.properties) + +[cak] +@import url(cak/viewer.properties) + +[ckb] +@import url(ckb/viewer.properties) + +[cs] +@import url(cs/viewer.properties) + +[cy] +@import url(cy/viewer.properties) + +[da] +@import url(da/viewer.properties) + +[de] +@import url(de/viewer.properties) + +[dsb] +@import url(dsb/viewer.properties) + +[el] +@import url(el/viewer.properties) + +[en-CA] +@import url(en-CA/viewer.properties) + +[en-GB] +@import url(en-GB/viewer.properties) + +[en-US] +@import url(en-US/viewer.properties) + +[eo] +@import url(eo/viewer.properties) + +[es-AR] +@import url(es-AR/viewer.properties) + +[es-CL] +@import url(es-CL/viewer.properties) + +[es-ES] +@import url(es-ES/viewer.properties) + +[es-MX] +@import url(es-MX/viewer.properties) + +[et] +@import url(et/viewer.properties) + +[eu] +@import url(eu/viewer.properties) + +[fa] +@import url(fa/viewer.properties) + +[ff] +@import url(ff/viewer.properties) + +[fi] +@import url(fi/viewer.properties) + +[fr] +@import url(fr/viewer.properties) + +[fy-NL] +@import url(fy-NL/viewer.properties) + +[ga-IE] +@import url(ga-IE/viewer.properties) + +[gd] +@import url(gd/viewer.properties) + +[gl] +@import url(gl/viewer.properties) + +[gn] +@import url(gn/viewer.properties) + +[gu-IN] +@import url(gu-IN/viewer.properties) + +[he] +@import url(he/viewer.properties) + +[hi-IN] +@import url(hi-IN/viewer.properties) + +[hr] +@import url(hr/viewer.properties) + +[hsb] +@import url(hsb/viewer.properties) + +[hu] +@import url(hu/viewer.properties) + +[hy-AM] +@import url(hy-AM/viewer.properties) + +[hye] +@import url(hye/viewer.properties) + +[ia] +@import url(ia/viewer.properties) + +[id] +@import url(id/viewer.properties) + +[is] +@import url(is/viewer.properties) + +[it] +@import url(it/viewer.properties) + +[ja] +@import url(ja/viewer.properties) + +[ka] +@import url(ka/viewer.properties) + +[kab] +@import url(kab/viewer.properties) + +[kk] +@import url(kk/viewer.properties) + +[km] +@import url(km/viewer.properties) + +[kn] +@import url(kn/viewer.properties) + +[ko] +@import url(ko/viewer.properties) + +[lij] +@import url(lij/viewer.properties) + +[lo] +@import url(lo/viewer.properties) + +[lt] +@import url(lt/viewer.properties) + +[ltg] +@import url(ltg/viewer.properties) + +[lv] +@import url(lv/viewer.properties) + +[meh] +@import url(meh/viewer.properties) + +[mk] +@import url(mk/viewer.properties) + +[mr] +@import url(mr/viewer.properties) + +[ms] +@import url(ms/viewer.properties) + +[my] +@import url(my/viewer.properties) + +[nb-NO] +@import url(nb-NO/viewer.properties) + +[ne-NP] +@import url(ne-NP/viewer.properties) + +[nl] +@import url(nl/viewer.properties) + +[nn-NO] +@import url(nn-NO/viewer.properties) + +[oc] +@import url(oc/viewer.properties) + +[pa-IN] +@import url(pa-IN/viewer.properties) + +[pl] +@import url(pl/viewer.properties) + +[pt-BR] +@import url(pt-BR/viewer.properties) + +[pt-PT] +@import url(pt-PT/viewer.properties) + +[rm] +@import url(rm/viewer.properties) + +[ro] +@import url(ro/viewer.properties) + +[ru] +@import url(ru/viewer.properties) + +[sat] +@import url(sat/viewer.properties) + +[sc] +@import url(sc/viewer.properties) + +[scn] +@import url(scn/viewer.properties) + +[sco] +@import url(sco/viewer.properties) + +[si] +@import url(si/viewer.properties) + +[sk] +@import url(sk/viewer.properties) + +[sl] +@import url(sl/viewer.properties) + +[son] +@import url(son/viewer.properties) + +[sq] +@import url(sq/viewer.properties) + +[sr] +@import url(sr/viewer.properties) + +[sv-SE] +@import url(sv-SE/viewer.properties) + +[szl] +@import url(szl/viewer.properties) + +[ta] +@import url(ta/viewer.properties) + +[te] +@import url(te/viewer.properties) + +[tg] +@import url(tg/viewer.properties) + +[th] +@import url(th/viewer.properties) + +[tl] +@import url(tl/viewer.properties) + +[tr] +@import url(tr/viewer.properties) + +[trs] +@import url(trs/viewer.properties) + +[uk] +@import url(uk/viewer.properties) + +[ur] +@import url(ur/viewer.properties) + +[uz] +@import url(uz/viewer.properties) + +[vi] +@import url(vi/viewer.properties) + +[wo] +@import url(wo/viewer.properties) + +[xh] +@import url(xh/viewer.properties) + +[zh-CN] +@import url(zh-CN/viewer.properties) + +[zh-TW] +@import url(zh-TW/viewer.properties) + diff --git a/app/assets/javascripts/publications/locale/lt/viewer.properties b/app/assets/javascripts/publications/locale/lt/viewer.properties new file mode 100644 index 0000000..6188a92 --- /dev/null +++ b/app/assets/javascripts/publications/locale/lt/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Ankstesnis puslapis +previous_label=Ankstesnis +next.title=Kitas puslapis +next_label=Kitas + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Puslapis +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=iš {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} iš {{pagesCount}}) + +zoom_out.title=Sumažinti +zoom_out_label=Sumažinti +zoom_in.title=Padidinti +zoom_in_label=Padidinti +zoom.title=Mastelis +presentation_mode.title=Pereiti į pateikties veikseną +presentation_mode_label=Pateikties veiksena +open_file.title=Atverti failą +open_file_label=Atverti +print.title=Spausdinti +print_label=Spausdinti +download.title=Parsiųsti +download_label=Parsiųsti +bookmark.title=Esamojo rodinio saitas (kopijavimui ar atvėrimui kitame lange) +bookmark_label=Esamasis rodinys + +# Secondary toolbar and context menu +tools.title=Priemonės +tools_label=Priemonės +first_page.title=Eiti į pirmą puslapį +first_page_label=Eiti į pirmą puslapį +last_page.title=Eiti į paskutinį puslapį +last_page_label=Eiti į paskutinį puslapį +page_rotate_cw.title=Pasukti pagal laikrodžio rodyklę +page_rotate_cw_label=Pasukti pagal laikrodžio rodyklę +page_rotate_ccw.title=Pasukti prieš laikrodžio rodyklę +page_rotate_ccw_label=Pasukti prieš laikrodžio rodyklę + +cursor_text_select_tool.title=Įjungti teksto žymėjimo įrankį +cursor_text_select_tool_label=Teksto žymėjimo įrankis +cursor_hand_tool.title=Įjungti vilkimo įrankį +cursor_hand_tool_label=Vilkimo įrankis + +scroll_page.title=Naudoti puslapio slinkimą +scroll_page_label=Puslapio slinkimas +scroll_vertical.title=Naudoti vertikalų slinkimą +scroll_vertical_label=Vertikalus slinkimas +scroll_horizontal.title=Naudoti horizontalų slinkimą +scroll_horizontal_label=Horizontalus slinkimas +scroll_wrapped.title=Naudoti išklotą slinkimą +scroll_wrapped_label=Išklotas slinkimas + +spread_none.title=Nejungti puslapių į dvilapius +spread_none_label=Be dvilapių +spread_odd.title=Sujungti į dvilapius pradedant nelyginiais puslapiais +spread_odd_label=Nelyginiai dvilapiai +spread_even.title=Sujungti į dvilapius pradedant lyginiais puslapiais +spread_even_label=Lyginiai dvilapiai + +# Document properties dialog box +document_properties.title=Dokumento savybės… +document_properties_label=Dokumento savybės… +document_properties_file_name=Failo vardas: +document_properties_file_size=Failo dydis: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} B) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} B) +document_properties_title=Antraštė: +document_properties_author=Autorius: +document_properties_subject=Tema: +document_properties_keywords=Reikšminiai žodžiai: +document_properties_creation_date=Sukūrimo data: +document_properties_modification_date=Modifikavimo data: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Kūrėjas: +document_properties_producer=PDF generatorius: +document_properties_version=PDF versija: +document_properties_page_count=Puslapių skaičius: +document_properties_page_size=Puslapio dydis: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=stačias +document_properties_page_size_orientation_landscape=gulsčias +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Laiškas +document_properties_page_size_name_legal=Dokumentas +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Spartus žiniatinklio rodinys: +document_properties_linearized_yes=Taip +document_properties_linearized_no=Ne +document_properties_close=Užverti + +print_progress_message=Dokumentas ruošiamas spausdinimui… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Atsisakyti + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Rodyti / slėpti šoninį polangį +toggle_sidebar_notification2.title=Parankinė (dokumentas turi struktūrą / priedų / sluoksnių) +toggle_sidebar_label=Šoninis polangis +document_outline.title=Rodyti dokumento struktūrą (spustelėkite dukart norėdami išplėsti/suskleisti visus elementus) +document_outline_label=Dokumento struktūra +attachments.title=Rodyti priedus +attachments_label=Priedai +layers.title=Rodyti sluoksnius (spustelėkite dukart, norėdami atstatyti visus sluoksnius į numatytąją būseną) +layers_label=Sluoksniai +thumbs.title=Rodyti puslapių miniatiūras +thumbs_label=Miniatiūros +current_outline_item.title=Rasti dabartinį struktūros elementą +current_outline_item_label=Dabartinis struktūros elementas +findbar.title=Ieškoti dokumente +findbar_label=Rasti + +additional_layers=Papildomi sluoksniai +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark={{page}} puslapis +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title={{page}} puslapis +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}} puslapio miniatiūra + +# Find panel button title and messages +find_input.title=Rasti +find_input.placeholder=Rasti dokumente… +find_previous.title=Ieškoti ankstesnio frazės egzemplioriaus +find_previous_label=Ankstesnis +find_next.title=Ieškoti tolesnio frazės egzemplioriaus +find_next_label=Tolesnis +find_highlight=Viską paryškinti +find_match_case_label=Skirti didžiąsias ir mažąsias raides +find_entire_word_label=Ištisi žodžiai +find_reached_top=Pasiekus dokumento pradžią, paieška pratęsta nuo pabaigos +find_reached_bottom=Pasiekus dokumento pabaigą, paieška pratęsta nuo pradžios +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} iš {{total}} atitikmens +find_match_count[two]={{current}} iš {{total}} atitikmenų +find_match_count[few]={{current}} iš {{total}} atitikmenų +find_match_count[many]={{current}} iš {{total}} atitikmenų +find_match_count[other]={{current}} iš {{total}} atitikmens +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Daugiau nei {{limit}} atitikmenų +find_match_count_limit[one]=Daugiau nei {{limit}} atitikmuo +find_match_count_limit[two]=Daugiau nei {{limit}} atitikmenys +find_match_count_limit[few]=Daugiau nei {{limit}} atitikmenys +find_match_count_limit[many]=Daugiau nei {{limit}} atitikmenų +find_match_count_limit[other]=Daugiau nei {{limit}} atitikmuo +find_not_found=Ieškoma frazė nerasta + +# Error panel labels +error_more_info=Išsamiau +error_less_info=Glausčiau +error_close=Užverti +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v. {{version}} (darinys: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Pranešimas: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Dėklas: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Failas: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Eilutė: {{line}} +rendering_error=Atvaizduojant puslapį įvyko klaida. + +# Predefined zoom values +page_scale_width=Priderinti prie lapo pločio +page_scale_fit=Pritaikyti prie lapo dydžio +page_scale_auto=Automatinis mastelis +page_scale_actual=Tikras dydis +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Įkeliama… +loading_error=Įkeliant PDF failą įvyko klaida. +invalid_file_error=Tai nėra PDF failas arba jis yra sugadintas. +missing_file_error=PDF failas nerastas. +unexpected_response_error=Netikėtas serverio atsakas. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[„{{type}}“ tipo anotacija] +password_label=Įveskite slaptažodį šiam PDF failui atverti. +password_invalid=Slaptažodis neteisingas. Bandykite dar kartą. +password_ok=Gerai +password_cancel=Atsisakyti + +printing_not_supported=Dėmesio! Spausdinimas šioje naršyklėje nėra pilnai realizuotas. +printing_not_ready=Dėmesio! PDF failas dar nėra pilnai įkeltas spausdinimui. +web_fonts_disabled=Saityno šriftai išjungti – PDF faile esančių šriftų naudoti negalima. diff --git a/app/assets/javascripts/publications/locale/ltg/viewer.properties b/app/assets/javascripts/publications/locale/ltg/viewer.properties new file mode 100644 index 0000000..b0e202d --- /dev/null +++ b/app/assets/javascripts/publications/locale/ltg/viewer.properties @@ -0,0 +1,212 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Īprīkšejā lopa +previous_label=Īprīkšejā +next.title=Nuokomuo lopa +next_label=Nuokomuo + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Lopa +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=nu {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} nu {{pagesCount}}) + +zoom_out.title=Attuolynuot +zoom_out_label=Attuolynuot +zoom_in.title=Pītuvynuot +zoom_in_label=Pītuvynuot +zoom.title=Palelynuojums +presentation_mode.title=Puorslēgtīs iz Prezentacejis režymu +presentation_mode_label=Prezentacejis režyms +open_file.title=Attaiseit failu +open_file_label=Attaiseit +print.title=Drukuošona +print_label=Drukōt +download.title=Lejupīluode +download_label=Lejupīluodeit +bookmark.title=Pošreizejais skots (kopēt voi attaiseit jaunā lūgā) +bookmark_label=Pošreizejais skots + +# Secondary toolbar and context menu +tools.title=Reiki +tools_label=Reiki +first_page.title=Īt iz pyrmū lopu +first_page_label=Īt iz pyrmū lopu +last_page.title=Īt iz piedejū lopu +last_page_label=Īt iz piedejū lopu +page_rotate_cw.title=Pagrīzt pa pulksteni +page_rotate_cw_label=Pagrīzt pa pulksteni +page_rotate_ccw.title=Pagrīzt pret pulksteni +page_rotate_ccw_label=Pagrīzt pret pulksteni + +cursor_text_select_tool.title=Aktivizēt teksta izvieles reiku +cursor_text_select_tool_label=Teksta izvieles reiks +cursor_hand_tool.title=Aktivēt rūkys reiku +cursor_hand_tool_label=Rūkys reiks + +scroll_vertical.title=Izmontōt vertikalū ritinōšonu +scroll_vertical_label=Vertikalō ritinōšona +scroll_horizontal.title=Izmontōt horizontalū ritinōšonu +scroll_horizontal_label=Horizontalō ritinōšona +scroll_wrapped.title=Izmontōt mārūgojamū ritinōšonu +scroll_wrapped_label=Mārūgojamō ritinōšona + +spread_none.title=Naizmontōt lopu atvāruma režimu +spread_none_label=Bez atvārumim +spread_odd.title=Izmontōt lopu atvārumus sōkut nu napōra numeru lopom +spread_odd_label=Napōra lopys pa kreisi +spread_even.title=Izmontōt lopu atvārumus sōkut nu pōra numeru lopom +spread_even_label=Pōra lopys pa kreisi + +# Document properties dialog box +document_properties.title=Dokumenta īstatiejumi… +document_properties_label=Dokumenta īstatiejumi… +document_properties_file_name=Faila nūsaukums: +document_properties_file_size=Faila izmārs: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} biti) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} biti) +document_properties_title=Nūsaukums: +document_properties_author=Autors: +document_properties_subject=Tema: +document_properties_keywords=Atslāgi vuordi: +document_properties_creation_date=Izveides datums: +document_properties_modification_date=lobuošonys datums: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Radeituojs: +document_properties_producer=PDF producents: +document_properties_version=PDF verseja: +document_properties_page_count=Lopu skaits: +document_properties_page_size=Lopas izmārs: +document_properties_page_size_unit_inches=collas +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=portreta orientaceja +document_properties_page_size_orientation_landscape=ainovys orientaceja +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Fast Web View: +document_properties_linearized_yes=Jā +document_properties_linearized_no=Nā +document_properties_close=Aiztaiseit + +print_progress_message=Preparing document for printing… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Atceļt + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Puorslēgt suonu jūslu +toggle_sidebar_label=Puorslēgt suonu jūslu +document_outline.title=Show Document Outline (double-click to expand/collapse all items) +document_outline_label=Dokumenta saturs +attachments.title=Show Attachments +attachments_label=Attachments +thumbs.title=Paruodeit seiktālus +thumbs_label=Seiktāli +findbar.title=Mekleit dokumentā +findbar_label=Mekleit + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Lopa {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Lopys {{page}} seiktāls + +# Find panel button title and messages +find_input.title=Mekleit +find_input.placeholder=Mekleit dokumentā… +find_previous.title=Atrast īprīkšejū +find_previous_label=Īprīkšejā +find_next.title=Atrast nuokamū +find_next_label=Nuokomuo +find_highlight=Īkruosuot vysys +find_match_case_label=Lelū, mozū burtu jiuteigs +find_reached_top=Sasnīgts dokumenta suokums, turpynojom nu beigom +find_reached_bottom=Sasnīgtys dokumenta beigys, turpynojom nu suokuma +find_not_found=Frāze nav atrosta + +# Error panel labels +error_more_info=Vairuok informacejis +error_less_info=mozuok informacejis +error_close=Close +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Ziņuojums: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Steks: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=File: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Ryndeņa: {{line}} +rendering_error=Attālojūt lopu rodās klaida + +# Predefined zoom values +page_scale_width=Lopys plotumā +page_scale_fit=Ītylpynūt lopu +page_scale_auto=Automatiskais izmārs +page_scale_actual=Patīsais izmārs +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=Īluodejūt PDF nūtyka klaida. +invalid_file_error=Nadereigs voi būjuots PDF fails. +missing_file_error=PDF fails nav atrosts. +unexpected_response_error=Unexpected server response. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Annotation] +password_label=Īvodit paroli, kab attaiseitu PDF failu. +password_invalid=Napareiza parole, raugit vēļreiz. +password_ok=Labi +password_cancel=Atceļt + +printing_not_supported=Uzmaneibu: Drukuošona nu itei puorlūka dorbojās tikai daleji. +printing_not_ready=Uzmaneibu: PDF nav pilneibā īluodeits drukuošonai. +web_fonts_disabled=Šķārsteikla fonti nav aktivizāti: Navar īgult PDF fontus. diff --git a/app/assets/javascripts/publications/locale/lv/viewer.properties b/app/assets/javascripts/publications/locale/lv/viewer.properties new file mode 100644 index 0000000..b9b5c03 --- /dev/null +++ b/app/assets/javascripts/publications/locale/lv/viewer.properties @@ -0,0 +1,234 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Iepriekšējā lapa +previous_label=Iepriekšējā +next.title=Nākamā lapa +next_label=Nākamā + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Lapa +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=no {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} no {{pagesCount}}) + +zoom_out.title=Attālināt\u0020 +zoom_out_label=Attālināt +zoom_in.title=Pietuvināt +zoom_in_label=Pietuvināt +zoom.title=Palielinājums +presentation_mode.title=Pārslēgties uz Prezentācijas režīmu +presentation_mode_label=Prezentācijas režīms +open_file.title=Atvērt failu +open_file_label=Atvērt +print.title=Drukāšana +print_label=Drukāt +download.title=Lejupielāde +download_label=Lejupielādēt +bookmark.title=Pašreizējais skats (kopēt vai atvērt jaunā logā) +bookmark_label=Pašreizējais skats + +# Secondary toolbar and context menu +tools.title=Rīki +tools_label=Rīki +first_page.title=Iet uz pirmo lapu +first_page_label=Iet uz pirmo lapu +last_page.title=Iet uz pēdējo lapu +last_page_label=Iet uz pēdējo lapu +page_rotate_cw.title=Pagriezt pa pulksteni +page_rotate_cw_label=Pagriezt pa pulksteni +page_rotate_ccw.title=Pagriezt pret pulksteni +page_rotate_ccw_label=Pagriezt pret pulksteni + +cursor_text_select_tool.title=Aktivizēt teksta izvēles rīku +cursor_text_select_tool_label=Teksta izvēles rīks +cursor_hand_tool.title=Aktivēt rokas rīku +cursor_hand_tool_label=Rokas rīks + +scroll_vertical.title=Izmantot vertikālo ritināšanu +scroll_vertical_label=Vertikālā ritināšana +scroll_horizontal.title=Izmantot horizontālo ritināšanu +scroll_horizontal_label=Horizontālā ritināšana +scroll_wrapped.title=Izmantot apkļauto ritināšanu +scroll_wrapped_label=Apkļautā ritināšana + +spread_none.title=Nepievienoties lapu izpletumiem +spread_none_label=Neizmantot izpletumus +spread_odd.title=Izmantot lapu izpletumus sākot ar nepāra numuru lapām +spread_odd_label=Nepāra izpletumi +spread_even.title=Izmantot lapu izpletumus sākot ar pāra numuru lapām +spread_even_label=Pāra izpletumi + +# Document properties dialog box +document_properties.title=Dokumenta iestatījumi… +document_properties_label=Dokumenta iestatījumi… +document_properties_file_name=Faila nosaukums: +document_properties_file_size=Faila izmērs: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} biti) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} biti) +document_properties_title=Nosaukums: +document_properties_author=Autors: +document_properties_subject=Tēma: +document_properties_keywords=Atslēgas vārdi: +document_properties_creation_date=Izveides datums: +document_properties_modification_date=LAbošanas datums: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Radītājs: +document_properties_producer=PDF producents: +document_properties_version=PDF versija: +document_properties_page_count=Lapu skaits: +document_properties_page_size=Papīra izmērs: +document_properties_page_size_unit_inches=collas +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=portretorientācija +document_properties_page_size_orientation_landscape=ainavorientācija +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Vēstule +document_properties_page_size_name_legal=Juridiskie teksti +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Ātrā tīmekļa skats: +document_properties_linearized_yes=Jā +document_properties_linearized_no=Nē +document_properties_close=Aizvērt + +print_progress_message=Gatavo dokumentu drukāšanai... +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Atcelt + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Pārslēgt sānu joslu +toggle_sidebar_label=Pārslēgt sānu joslu +document_outline.title=Rādīt dokumenta struktūru (veiciet dubultklikšķi lai izvērstu/sakļautu visus vienumus) +document_outline_label=Dokumenta saturs +attachments.title=Rādīt pielikumus +attachments_label=Pielikumi +thumbs.title=Parādīt sīktēlus +thumbs_label=Sīktēli +findbar.title=Meklēt dokumentā +findbar_label=Meklēt + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Lapa {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Lapas {{page}} sīktēls + +# Find panel button title and messages +find_input.title=Meklēt +find_input.placeholder=Meklēt dokumentā… +find_previous.title=Atrast iepriekšējo +find_previous_label=Iepriekšējā +find_next.title=Atrast nākamo +find_next_label=Nākamā +find_highlight=Iekrāsot visas +find_match_case_label=Lielo, mazo burtu jutīgs +find_entire_word_label=Veselus vārdus +find_reached_top=Sasniegts dokumenta sākums, turpinām no beigām +find_reached_bottom=Sasniegtas dokumenta beigas, turpinām no sākuma +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} no {{total}} rezultāta +find_match_count[two]={{current}} no {{total}} rezultātiem +find_match_count[few]={{current}} no {{total}} rezultātiem +find_match_count[many]={{current}} no {{total}} rezultātiem +find_match_count[other]={{current}} no {{total}} rezultātiem +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Vairāk nekā {{limit}} rezultāti +find_match_count_limit[one]=Vairāk nekā {{limit}} rezultāti +find_match_count_limit[two]=Vairāk nekā {{limit}} rezultāti +find_match_count_limit[few]=Vairāk nekā {{limit}} rezultāti +find_match_count_limit[many]=Vairāk nekā {{limit}} rezultāti +find_match_count_limit[other]=Vairāk nekā {{limit}} rezultāti +find_not_found=Frāze nav atrasta + +# Error panel labels +error_more_info=Vairāk informācijas +error_less_info=MAzāk informācijas +error_close=Close +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Ziņojums: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Steks: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=File: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Rindiņa: {{line}} +rendering_error=Attēlojot lapu radās kļūda + +# Predefined zoom values +page_scale_width=Lapas platumā +page_scale_fit=Ietilpinot lapu +page_scale_auto=Automātiskais izmērs +page_scale_actual=Patiesais izmērs +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=Ielādējot PDF notika kļūda. +invalid_file_error=Nederīgs vai bojāts PDF fails. +missing_file_error=PDF fails nav atrasts. +unexpected_response_error=Negaidīa servera atbilde. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} anotācija] +password_label=Ievadiet paroli, lai atvērtu PDF failu. +password_invalid=Nepareiza parole, mēģiniet vēlreiz. +password_ok=Labi +password_cancel=Atcelt + +printing_not_supported=Uzmanību: Drukāšana no šī pārlūka darbojas tikai daļēji. +printing_not_ready=Uzmanību: PDF nav pilnībā ielādēts drukāšanai. +web_fonts_disabled=Tīmekļa fonti nav aktivizēti: Nevar iegult PDF fontus. diff --git a/app/assets/javascripts/publications/locale/meh/viewer.properties b/app/assets/javascripts/publications/locale/meh/viewer.properties new file mode 100644 index 0000000..7a1bf04 --- /dev/null +++ b/app/assets/javascripts/publications/locale/meh/viewer.properties @@ -0,0 +1,111 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Página yata + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. + +zoom.title=Nasa´a ka´nu/Nasa´a luli +open_file_label=Síne + +# Secondary toolbar and context menu + + + + +# Document properties dialog box +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized_yes=Kuvi +document_properties_close=Nakasɨ + +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Nkuvi-ka + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +findbar_label=Nánuku + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. + +# Find panel button title and messages +find_input.title=Nánuku +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} + +# Error panel labels +error_close=Nakasɨ +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number + +# Predefined zoom values +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +password_cancel=Nkuvi-ka + diff --git a/app/assets/javascripts/publications/locale/mk/viewer.properties b/app/assets/javascripts/publications/locale/mk/viewer.properties new file mode 100644 index 0000000..24ff730 --- /dev/null +++ b/app/assets/javascripts/publications/locale/mk/viewer.properties @@ -0,0 +1,138 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Претходна страница +previous_label=Претходна +next.title=Следна страница +next_label=Следна + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. + +zoom_out.title=Намалување +zoom_out_label=Намали +zoom_in.title=Зголемување +zoom_in_label=Зголеми +zoom.title=Променување на големина +presentation_mode.title=Премини во презентациски режим +presentation_mode_label=Презентациски режим +open_file.title=Отворање датотека +open_file_label=Отвори +print.title=Печатење +print_label=Печати +download.title=Преземање +download_label=Преземи +bookmark.title=Овој преглед (копирај или отвори во нов прозорец) +bookmark_label=Овој преглед + +# Secondary toolbar and context menu +tools.title=Алатки + + + + +# Document properties dialog box +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. + +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_close=Откажи + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Вклучи странична лента +toggle_sidebar_label=Вклучи странична лента +thumbs.title=Прикажување на икони +thumbs_label=Икони +findbar.title=Најди во документот +findbar_label=Најди + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Страница {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Икона од страница {{page}} + +# Find panel button title and messages +find_previous.title=Најди ја предходната појава на фразата +find_previous_label=Претходно +find_next.title=Најди ја следната појава на фразата +find_next_label=Следно +find_highlight=Означи сѐ +find_match_case_label=Токму така +find_reached_top=Барањето стигна до почетокот на документот и почнува од крајот +find_reached_bottom=Барањето стигна до крајот на документот и почнува од почеток +find_not_found=Фразата не е пронајдена + +# Error panel labels +error_more_info=Повеќе информации +error_less_info=Помалку информации +error_close=Затвори +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Порака: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Датотека: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Линија: {{line}} +rendering_error=Настана грешка при прикажувањето на страницата. + +# Predefined zoom values +page_scale_width=Ширина на страница +page_scale_fit=Цела страница +page_scale_auto=Автоматска големина +page_scale_actual=Вистинска големина +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. + +loading_error=Настана грешка при вчитувањето на PDF-от. +invalid_file_error=Невалидна или корумпирана PDF датотека. +missing_file_error=Недостасува PDF документ. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +password_cancel=Откажи + +printing_not_supported=Предупредување: Печатењето не е целосно поддржано во овој прелистувач. +printing_not_ready=Предупредување: PDF документот не е целосно вчитан за печатење. +web_fonts_disabled=Интернет фонтовите се оневозможени: не може да се користат вградените PDF фонтови. diff --git a/app/assets/javascripts/publications/locale/mr/viewer.properties b/app/assets/javascripts/publications/locale/mr/viewer.properties new file mode 100644 index 0000000..697c2a3 --- /dev/null +++ b/app/assets/javascripts/publications/locale/mr/viewer.properties @@ -0,0 +1,230 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=मागील पृष्ठ +previous_label=मागील +next.title=पुढील पृष्ठ +next_label=पुढील + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=पृष्ठ +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages={{pagesCount}}पैकी +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pagesCount}} पैकी {{pageNumber}}) + +zoom_out.title=छोटे करा +zoom_out_label=छोटे करा +zoom_in.title=मोठे करा +zoom_in_label=मोठे करा +zoom.title=लहान किंवा मोठे करा +presentation_mode.title=प्रस्तुतिकरण मोडचा वापर करा +presentation_mode_label=प्रस्तुतिकरण मोड +open_file.title=फाइल उघडा +open_file_label=उघडा +print.title=छपाई करा +print_label=छपाई करा +download.title=डाउनलोड करा +download_label=डाउनलोड करा +bookmark.title=सध्याचे अवलोकन (नवीन पटलात प्रत बनवा किंवा उघडा) +bookmark_label=सध्याचे अवलोकन + +# Secondary toolbar and context menu +tools.title=साधने +tools_label=साधने +first_page.title=पहिल्या पृष्ठावर जा +first_page_label=पहिल्या पृष्ठावर जा +last_page.title=शेवटच्या पृष्ठावर जा +last_page_label=शेवटच्या पृष्ठावर जा +page_rotate_cw.title=घड्याळाच्या काट्याच्या दिशेने फिरवा +page_rotate_cw_label=घड्याळाच्या काट्याच्या दिशेने फिरवा +page_rotate_ccw.title=घड्याळाच्या काट्याच्या उलट दिशेने फिरवा +page_rotate_ccw_label=घड्याळाच्या काट्याच्या उलट दिशेने फिरवा + +cursor_text_select_tool.title=मजकूर निवड साधन कार्यान्वयीत करा +cursor_text_select_tool_label=मजकूर निवड साधन +cursor_hand_tool.title=हात साधन कार्यान्वित करा +cursor_hand_tool_label=हस्त साधन + +scroll_vertical.title=अनुलंब स्क्रोलिंग वापरा +scroll_vertical_label=अनुलंब स्क्रोलिंग +scroll_horizontal.title=क्षैतिज स्क्रोलिंग वापरा +scroll_horizontal_label=क्षैतिज स्क्रोलिंग + + +# Document properties dialog box +document_properties.title=दस्तऐवज गुणधर्म… +document_properties_label=दस्तऐवज गुणधर्म… +document_properties_file_name=फाइलचे नाव: +document_properties_file_size=फाइल आकार: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} बाइट्स) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} बाइट्स) +document_properties_title=शिर्षक: +document_properties_author=लेखक: +document_properties_subject=विषय: +document_properties_keywords=मुख्यशब्द: +document_properties_creation_date=निर्माण दिनांक: +document_properties_modification_date=दुरूस्ती दिनांक: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=निर्माता: +document_properties_producer=PDF निर्माता: +document_properties_version=PDF आवृत्ती: +document_properties_page_count=पृष्ठ संख्या: +document_properties_page_size=पृष्ठ आकार: +document_properties_page_size_unit_inches=इंच +document_properties_page_size_unit_millimeters=मीमी +document_properties_page_size_orientation_portrait=उभी मांडणी +document_properties_page_size_orientation_landscape=आडवे +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=जलद वेब दृष्य: +document_properties_linearized_yes=हो +document_properties_linearized_no=नाही +document_properties_close=बंद करा + +print_progress_message=छपाई करीता पृष्ठ तयार करीत आहे… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=रद्द करा + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=बाजूचीपट्टी टॉगल करा +toggle_sidebar_label=बाजूचीपट्टी टॉगल करा +document_outline.title=दस्तऐवज बाह्यरेखा दर्शवा (विस्तृत करण्यासाठी दोनवेळा क्लिक करा /सर्व घटक दाखवा) +document_outline_label=दस्तऐवज रूपरेषा +attachments.title=जोडपत्र दाखवा +attachments_label=जोडपत्र +thumbs.title=थंबनेल्स् दाखवा +thumbs_label=थंबनेल्स् +findbar.title=दस्तऐवजात शोधा +findbar_label=शोधा + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=पृष्ठ {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=पृष्ठाचे थंबनेल {{page}} + +# Find panel button title and messages +find_input.title=शोधा +find_input.placeholder=दस्तऐवजात शोधा… +find_previous.title=वाकप्रयोगची मागील घटना शोधा +find_previous_label=मागील +find_next.title=वाकप्रयोगची पुढील घटना शोधा +find_next_label=पुढील +find_highlight=सर्व ठळक करा +find_match_case_label=आकार जुळवा +find_entire_word_label=संपूर्ण शब्द +find_reached_top=दस्तऐवजाच्या शीर्षकास पोहचले, तळपासून पुढे +find_reached_bottom=दस्तऐवजाच्या तळाला पोहचले, शीर्षकापासून पुढे +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{total}} पैकी {{current}} सुसंगत +find_match_count[two]={{total}} पैकी {{current}} सुसंगत +find_match_count[few]={{total}} पैकी {{current}} सुसंगत +find_match_count[many]={{total}} पैकी {{current}} सुसंगत +find_match_count[other]={{total}} पैकी {{current}} सुसंगत +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]={{limit}} पेक्षा अधिक जुळण्या +find_match_count_limit[one]={{limit}} पेक्षा अधिक जुळण्या +find_match_count_limit[two]={{limit}} पेक्षा अधिक जुळण्या +find_match_count_limit[few]={{limit}} पेक्षा अधिक जुळण्या +find_match_count_limit[many]={{limit}} पेक्षा अधिक जुळण्या +find_match_count_limit[other]={{limit}} पेक्षा अधिक जुळण्या +find_not_found=वाकप्रयोग आढळले नाही + +# Error panel labels +error_more_info=आणखी माहिती +error_less_info=कमी माहिती +error_close=बंद करा +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=संदेश: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=स्टॅक: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=फाइल: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=रेष: {{line}} +rendering_error=पृष्ठ दाखवतेवेळी त्रुटी आढळली. + +# Predefined zoom values +page_scale_width=पृष्ठाची रूंदी +page_scale_fit=पृष्ठ बसवा +page_scale_auto=स्वयं लाहन किंवा मोठे करणे +page_scale_actual=प्रत्यक्ष आकार +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=PDF लोड करतेवेळी त्रुटी आढळली. +invalid_file_error=अवैध किंवा दोषीत PDF फाइल. +missing_file_error=न आढळणारी PDF फाइल. +unexpected_response_error=अनपेक्षित सर्व्हर प्रतिसाद. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} टिपण्णी] +password_label=ही PDF फाइल उघडण्याकरिता पासवर्ड द्या. +password_invalid=अवैध पासवर्ड. कृपया पुन्हा प्रयत्न करा. +password_ok=ठीक आहे +password_cancel=रद्द करा + +printing_not_supported=सावधानता: या ब्राउझरतर्फे छपाइ पूर्णपणे समर्थीत नाही. +printing_not_ready=सावधानता: छपाईकरिता PDF पूर्णतया लोड झाले नाही. +web_fonts_disabled=वेब टंक असमर्थीत आहेत: एम्बेडेड PDF टंक वापर अशक्य. diff --git a/app/assets/javascripts/publications/locale/ms/viewer.properties b/app/assets/javascripts/publications/locale/ms/viewer.properties new file mode 100644 index 0000000..a6d4ce8 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ms/viewer.properties @@ -0,0 +1,234 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Halaman Dahulu +previous_label=Dahulu +next.title=Halaman Berikut +next_label=Berikut + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Halaman +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=daripada {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} daripada {{pagesCount}}) + +zoom_out.title=Zum Keluar +zoom_out_label=Zum Keluar +zoom_in.title=Zum Masuk +zoom_in_label=Zum Masuk +zoom.title=Zum +presentation_mode.title=Tukar ke Mod Persembahan +presentation_mode_label=Mod Persembahan +open_file.title=Buka Fail +open_file_label=Buka +print.title=Cetak +print_label=Cetak +download.title=Muat turun +download_label=Muat turun +bookmark.title=Paparan semasa (salin atau buka dalam tetingkap baru) +bookmark_label=Paparan Semasa + +# Secondary toolbar and context menu +tools.title=Alatan +tools_label=Alatan +first_page.title=Pergi ke Halaman Pertama +first_page_label=Pergi ke Halaman Pertama +last_page.title=Pergi ke Halaman Terakhir +last_page_label=Pergi ke Halaman Terakhir +page_rotate_cw.title=Berputar ikut arah Jam +page_rotate_cw_label=Berputar ikut arah Jam +page_rotate_ccw.title=Pusing berlawan arah jam +page_rotate_ccw_label=Pusing berlawan arah jam + +cursor_text_select_tool.title=Dayakan Alatan Pilihan Teks +cursor_text_select_tool_label=Alatan Pilihan Teks +cursor_hand_tool.title=Dayakan Alatan Tangan +cursor_hand_tool_label=Alatan Tangan + +scroll_vertical.title=Guna Skrol Menegak +scroll_vertical_label=Skrol Menegak +scroll_horizontal.title=Guna Skrol Mengufuk +scroll_horizontal_label=Skrol Mengufuk +scroll_wrapped.title=Guna Skrol Berbalut +scroll_wrapped_label=Skrol Berbalut + +spread_none.title=Jangan hubungkan hamparan halaman +spread_none_label=Tanpa Hamparan +spread_odd.title=Hubungkan hamparan halaman dengan halaman nombor ganjil +spread_odd_label=Hamparan Ganjil +spread_even.title=Hubungkan hamparan halaman dengan halaman nombor genap +spread_even_label=Hamparan Seimbang + +# Document properties dialog box +document_properties.title=Sifat Dokumen… +document_properties_label=Sifat Dokumen… +document_properties_file_name=Nama fail: +document_properties_file_size=Saiz fail: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bait) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bait) +document_properties_title=Tajuk: +document_properties_author=Pengarang: +document_properties_subject=Subjek: +document_properties_keywords=Kata kunci: +document_properties_creation_date=Masa Dicipta: +document_properties_modification_date=Tarikh Ubahsuai: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Pencipta: +document_properties_producer=Pengeluar PDF: +document_properties_version=Versi PDF: +document_properties_page_count=Kiraan Laman: +document_properties_page_size=Saiz Halaman: +document_properties_page_size_unit_inches=dalam +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=potret +document_properties_page_size_orientation_landscape=landskap +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Paparan Web Pantas: +document_properties_linearized_yes=Ya +document_properties_linearized_no=Tidak +document_properties_close=Tutup + +print_progress_message=Menyediakan dokumen untuk dicetak… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Batal + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Togol Bar Sisi +toggle_sidebar_label=Togol Bar Sisi +document_outline.title=Papar Rangka Dokumen (klik-dua-kali untuk kembangkan/kolaps semua item) +document_outline_label=Rangka Dokumen +attachments.title=Papar Lampiran +attachments_label=Lampiran +thumbs.title=Papar Thumbnails +thumbs_label=Imej kecil +findbar.title=Cari didalam Dokumen +findbar_label=Cari + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Halaman {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Halaman Imej kecil {{page}} + +# Find panel button title and messages +find_input.title=Cari +find_input.placeholder=Cari dalam dokumen… +find_previous.title=Cari teks frasa berkenaan yang terdahulu +find_previous_label=Dahulu +find_next.title=Cari teks frasa berkenaan yang berikut +find_next_label=Berikut +find_highlight=Serlahkan semua +find_match_case_label=Huruf sepadan +find_entire_word_label=Seluruh perkataan +find_reached_top=Mencapai teratas daripada dokumen, sambungan daripada bawah +find_reached_bottom=Mencapai terakhir daripada dokumen, sambungan daripada atas +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} daripada {{total}} padanan +find_match_count[two]={{current}} daripada {{total}} padanan +find_match_count[few]={{current}} daripada {{total}} padanan +find_match_count[many]={{current}} daripada {{total}} padanan +find_match_count[other]={{current}} daripada {{total}} padanan +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Lebih daripada {{limit}} padanan +find_match_count_limit[one]=Lebih daripada {{limit}} padanan +find_match_count_limit[two]=Lebih daripada {{limit}} padanan +find_match_count_limit[few]=Lebih daripada {{limit}} padanan +find_match_count_limit[many]=Lebih daripada {{limit}} padanan +find_match_count_limit[other]=Lebih daripada {{limit}} padanan +find_not_found=Frasa tidak ditemui + +# Error panel labels +error_more_info=Maklumat Lanjut +error_less_info=Kurang Informasi +error_close=Tutup +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mesej: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Timbun: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fail: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Garis: {{line}} +rendering_error=Ralat berlaku ketika memberikan halaman. + +# Predefined zoom values +page_scale_width=Lebar Halaman +page_scale_fit=Muat Halaman +page_scale_auto=Zoom Automatik +page_scale_actual=Saiz Sebenar +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=Masalah berlaku semasa menuatkan sebuah PDF. +invalid_file_error=Tidak sah atau fail PDF rosak. +missing_file_error=Fail PDF Hilang. +unexpected_response_error=Respon pelayan yang tidak dijangka. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Anotasi] +password_label=Masukan kata kunci untuk membuka fail PDF ini. +password_invalid=Kata laluan salah. Cuba lagi. +password_ok=OK +password_cancel=Batal + +printing_not_supported=Amaran: Cetakan ini tidak sepenuhnya disokong oleh pelayar ini. +printing_not_ready=Amaran: PDF tidak sepenuhnya dimuatkan untuk dicetak. +web_fonts_disabled=Fon web dinyahdayakan: tidak dapat menggunakan fon terbenam PDF. diff --git a/app/assets/javascripts/publications/locale/my/viewer.properties b/app/assets/javascripts/publications/locale/my/viewer.properties new file mode 100644 index 0000000..39944cd --- /dev/null +++ b/app/assets/javascripts/publications/locale/my/viewer.properties @@ -0,0 +1,190 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=အရင် စာမျက်နှာ +previous_label=အရင်နေရာ +next.title=ရှေ့ စာမျက်နှာ +next_label=နောက်တခု + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=စာမျက်နှာ +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages={{pagesCount}} ၏ +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pagesCount}} ၏ {{pageNumber}}) + +zoom_out.title=ချုံ့ပါ +zoom_out_label=ချုံ့ပါ +zoom_in.title=ချဲ့ပါ +zoom_in_label=ချဲ့ပါ +zoom.title=ချုံ့/ချဲ့ပါ +presentation_mode.title=ဆွေးနွေးတင်ပြစနစ်သို့ ကူးပြောင်းပါ +presentation_mode_label=ဆွေးနွေးတင်ပြစနစ် +open_file.title=ဖိုင်အားဖွင့်ပါ။ +open_file_label=ဖွင့်ပါ +print.title=ပုံနှိုပ်ပါ +print_label=ပုံနှိုပ်ပါ +download.title=ကူးဆွဲ +download_label=ကူးဆွဲ +bookmark.title=လက်ရှိ မြင်ကွင်း (ဝင်းဒိုးအသစ်မှာ ကူးပါ သို့မဟုတ် ဖွင့်ပါ) +bookmark_label=လက်ရှိ မြင်ကွင်း + +# Secondary toolbar and context menu +tools.title=ကိရိယာများ +tools_label=ကိရိယာများ +first_page.title=ပထမ စာမျက်နှာသို့ +first_page_label=ပထမ စာမျက်နှာသို့ +last_page.title=နောက်ဆုံး စာမျက်နှာသို့ +last_page_label=နောက်ဆုံး စာမျက်နှာသို့ +page_rotate_cw.title=နာရီလက်တံ အတိုင်း +page_rotate_cw_label=နာရီလက်တံ အတိုင်း +page_rotate_ccw.title=နာရီလက်တံ ပြောင်းပြန် +page_rotate_ccw_label=နာရီလက်တံ ပြောင်းပြန် + + + + +# Document properties dialog box +document_properties.title=မှတ်တမ်းမှတ်ရာ ဂုဏ်သတ္တိများ +document_properties_label=မှတ်တမ်းမှတ်ရာ ဂုဏ်သတ္တိများ +document_properties_file_name=ဖိုင် : +document_properties_file_size=ဖိုင်ဆိုဒ် : +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} ကီလိုဘိုတ် ({{size_b}}ဘိုတ်) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=ခေါင်းစဉ်‌ - +document_properties_author=ရေးသားသူ: +document_properties_subject=အကြောင်းအရာ:\u0020 +document_properties_keywords=သော့ချက် စာလုံး: +document_properties_creation_date=ထုတ်လုပ်ရက်စွဲ: +document_properties_modification_date=ပြင်ဆင်ရက်စွဲ: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=ဖန်တီးသူ: +document_properties_producer=PDF ထုတ်လုပ်သူ: +document_properties_version=PDF ဗားရှင်း: +document_properties_page_count=စာမျက်နှာအရေအတွက်: +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_close=ပိတ် + +print_progress_message=Preparing document for printing… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=ပယ်​ဖျက်ပါ + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=ဘေးတန်းဖွင့်ပိတ် +toggle_sidebar_label=ဖွင့်ပိတ် ဆလိုက်ဒါ +document_outline.title=စာတမ်းအကျဉ်းချုပ်ကို ပြပါ (စာရင်းအားလုံးကို ချုံ့/ချဲ့ရန် ကလစ်နှစ်ချက်နှိပ်ပါ) +document_outline_label=စာတမ်းအကျဉ်းချုပ် +attachments.title=တွဲချက်များ ပြပါ +attachments_label=တွဲထားချက်များ +thumbs.title=ပုံရိပ်ငယ်များကို ပြပါ +thumbs_label=ပုံရိပ်ငယ်များ +findbar.title=Find in Document +findbar_label=ရှာဖွေပါ + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=စာမျက်နှာ {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=စာမျက်နှာရဲ့ ပုံရိပ်ငယ် {{page}} + +# Find panel button title and messages +find_input.title=ရှာဖွေပါ +find_input.placeholder=စာတမ်းထဲတွင် ရှာဖွေရန်… +find_previous.title=စကားစုရဲ့ အရင် ​ဖြစ်ပွားမှုကို ရှာဖွေပါ +find_previous_label=နောက်သို့ +find_next.title=စကားစုရဲ့ နောက်ထပ် ​ဖြစ်ပွားမှုကို ရှာဖွေပါ +find_next_label=ရှေ့သို့ +find_highlight=အားလုံးကို မျဉ်းသားပါ +find_match_case_label=စာလုံး တိုက်ဆိုင်ပါ +find_reached_top=စာမျက်နှာထိပ် ရောက်နေပြီ၊ အဆုံးကနေ ပြန်စပါ +find_reached_bottom=စာမျက်နှာအဆုံး ရောက်နေပြီ၊ ထိပ်ကနေ ပြန်စပါ +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_not_found=စကားစု မတွေ့ရဘူး + +# Error panel labels +error_more_info=နောက်ထပ်အချက်အလက်များ +error_less_info=အနည်းငယ်မျှသော သတင်းအချက်အလက် +error_close=ပိတ် +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=မက်ဆေ့ - {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=အထပ် - {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=ဖိုင် {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=လိုင်း - {{line}} +rendering_error=စာမျက်နှာကို ပုံဖော်နေချိန်မှာ အမှားတစ်ခုတွေ့ရပါတယ်။ + +# Predefined zoom values +page_scale_width=စာမျက်နှာ အကျယ် +page_scale_fit=စာမျက်နှာ ကွက်တိ +page_scale_auto=အလိုအလျောက် ချုံ့ချဲ့ +page_scale_actual=အမှန်တကယ်ရှိတဲ့ အရွယ် +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=PDF ဖိုင် ကိုဆွဲတင်နေချိန်မှာ အမှားတစ်ခုတွေ့ရပါတယ်။ +invalid_file_error=မရသော သို့ ပျက်နေသော PDF ဖိုင် +missing_file_error=PDF ပျောက်ဆုံး +unexpected_response_error=မမျှော်လင့်ထားသော ဆာဗာမှ ပြန်ကြားချက် + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} အဓိပ္ပာယ်ဖွင့်ဆိုချက်] +password_label=ယခု PDF ကို ဖွင့်ရန် စကားဝှက်ကို ရိုက်ပါ။ +password_invalid=စာဝှက် မှားသည်။ ထပ်ကြိုးစားကြည့်ပါ။ +password_ok=OK +password_cancel=ပယ်​ဖျက်ပါ + +printing_not_supported=သတိပေးချက်၊ပရင့်ထုတ်ခြင်းကိုဤဘယောက်ဆာသည် ပြည့်ဝစွာထောက်ပံ့မထားပါ ။ +printing_not_ready=သတိပေးချက်: ယခု PDF ဖိုင်သည် ပုံနှိပ်ရန် မပြည့်စုံပါ +web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts. diff --git a/app/assets/javascripts/publications/locale/nb-NO/viewer.properties b/app/assets/javascripts/publications/locale/nb-NO/viewer.properties new file mode 100644 index 0000000..0bb9958 --- /dev/null +++ b/app/assets/javascripts/publications/locale/nb-NO/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Forrige side +previous_label=Forrige +next.title=Neste side +next_label=Neste + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Side +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=av {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} av {{pagesCount}}) + +zoom_out.title=Zoom ut +zoom_out_label=Zoom ut +zoom_in.title=Zoom inn +zoom_in_label=Zoom inn +zoom.title=Zoom +presentation_mode.title=Bytt til presentasjonsmodus +presentation_mode_label=Presentasjonsmodus +open_file.title=Åpne fil +open_file_label=Åpne +print.title=Skriv ut +print_label=Skriv ut +download.title=Last ned +download_label=Last ned +bookmark.title=Nåværende visning (kopier eller åpne i et nytt vindu) +bookmark_label=Nåværende visning + +# Secondary toolbar and context menu +tools.title=Verktøy +tools_label=Verktøy +first_page.title=Gå til første side +first_page_label=Gå til første side +last_page.title=Gå til siste side +last_page_label=Gå til siste side +page_rotate_cw.title=Roter med klokken +page_rotate_cw_label=Roter med klokken +page_rotate_ccw.title=Roter mot klokken +page_rotate_ccw_label=Roter mot klokken + +cursor_text_select_tool.title=Aktiver tekstmarkeringsverktøy +cursor_text_select_tool_label=Tekstmarkeringsverktøy +cursor_hand_tool.title=Aktiver handverktøy +cursor_hand_tool_label=Handverktøy + +scroll_page.title=Bruk siderulling +scroll_page_label=Siderulling +scroll_vertical.title=Bruk vertikal rulling +scroll_vertical_label=Vertikal rulling +scroll_horizontal.title=Bruk horisontal rulling +scroll_horizontal_label=Horisontal rulling +scroll_wrapped.title=Bruk flersiderulling +scroll_wrapped_label=Flersiderulling + +spread_none.title=Vis enkeltsider +spread_none_label=Enkeltsider +spread_odd.title=Vis oppslag med ulike sidenumre til venstre +spread_odd_label=Oppslag med forside +spread_even.title=Vis oppslag med like sidenumre til venstre +spread_even_label=Oppslag uten forside + +# Document properties dialog box +document_properties.title=Dokumentegenskaper … +document_properties_label=Dokumentegenskaper … +document_properties_file_name=Filnavn: +document_properties_file_size=Filstørrelse: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Dokumentegenskaper … +document_properties_author=Forfatter: +document_properties_subject=Emne: +document_properties_keywords=Nøkkelord: +document_properties_creation_date=Opprettet dato: +document_properties_modification_date=Endret dato: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Opprettet av: +document_properties_producer=PDF-verktøy: +document_properties_version=PDF-versjon: +document_properties_page_count=Sideantall: +document_properties_page_size=Sidestørrelse: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=stående +document_properties_page_size_orientation_landscape=liggende +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Hurtig nettvisning: +document_properties_linearized_yes=Ja +document_properties_linearized_no=Nei +document_properties_close=Lukk + +print_progress_message=Forbereder dokument for utskrift … +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Avbryt + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Slå av/på sidestolpe +toggle_sidebar_notification2.title=Vis/gjem sidestolpe (dokumentet inneholder oversikt/vedlegg/lag) +toggle_sidebar_label=Slå av/på sidestolpe +document_outline.title=Vis dokumentdisposisjonen (dobbeltklikk for å utvide/skjule alle elementer) +document_outline_label=Dokumentdisposisjon +attachments.title=Vis vedlegg +attachments_label=Vedlegg +layers.title=Vis lag (dobbeltklikk for å tilbakestille alle lag til standardtilstand) +layers_label=Lag +thumbs.title=Vis miniatyrbilde +thumbs_label=Miniatyrbilde +current_outline_item.title=Finn gjeldende disposisjonselement +current_outline_item_label=Gjeldende disposisjonselement +findbar.title=Finn i dokumentet +findbar_label=Finn + +additional_layers=Ytterligere lag +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Side {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Side {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatyrbilde av side {{page}} + +# Find panel button title and messages +find_input.title=Søk +find_input.placeholder=Søk i dokument… +find_previous.title=Finn forrige forekomst av frasen +find_previous_label=Forrige +find_next.title=Finn neste forekomst av frasen +find_next_label=Neste +find_highlight=Uthev alle +find_match_case_label=Skill store/små bokstaver +find_entire_word_label=Hele ord +find_reached_top=Nådde toppen av dokumentet, fortsetter fra bunnen +find_reached_bottom=Nådde bunnen av dokumentet, fortsetter fra toppen +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} av {{total}} treff +find_match_count[two]={{current}} av {{total}} treff +find_match_count[few]={{current}} av {{total}} treff +find_match_count[many]={{current}} av {{total}} treff +find_match_count[other]={{current}} av {{total}} treff +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Mer enn {{limit}} treff +find_match_count_limit[one]=Mer enn {{limit}} treff +find_match_count_limit[two]=Mer enn {{limit}} treff +find_match_count_limit[few]=Mer enn {{limit}} treff +find_match_count_limit[many]=Mer enn {{limit}} treff +find_match_count_limit[other]=Mer enn {{limit}} treff +find_not_found=Fant ikke teksten + +# Error panel labels +error_more_info=Mer info +error_less_info=Mindre info +error_close=Lukk +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (bygg: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Melding: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stakk: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fil: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linje: {{line}} +rendering_error=En feil oppstod ved opptegning av siden. + +# Predefined zoom values +page_scale_width=Sidebredde +page_scale_fit=Tilpass til siden +page_scale_auto=Automatisk zoom +page_scale_actual=Virkelig størrelse +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}} % + +# Loading indicator messages +loading=Laster… +loading_error=En feil oppstod ved lasting av PDF. +invalid_file_error=Ugyldig eller skadet PDF-fil. +missing_file_error=Manglende PDF-fil. +unexpected_response_error=Uventet serverrespons. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} annotasjon] +password_label=Skriv inn passordet for å åpne denne PDF-filen. +password_invalid=Ugyldig passord. Prøv igjen. +password_ok=OK +password_cancel=Avbryt + +printing_not_supported=Advarsel: Utskrift er ikke fullstendig støttet av denne nettleseren. +printing_not_ready=Advarsel: PDF er ikke fullstendig innlastet for utskrift. +web_fonts_disabled=Web-fonter er avslått: Kan ikke bruke innbundne PDF-fonter. diff --git a/app/assets/javascripts/publications/locale/ne-NP/viewer.properties b/app/assets/javascripts/publications/locale/ne-NP/viewer.properties new file mode 100644 index 0000000..0044167 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ne-NP/viewer.properties @@ -0,0 +1,217 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=अघिल्लो पृष्ठ +previous_label=अघिल्लो +next.title=पछिल्लो पृष्ठ +next_label=पछिल्लो + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=पृष्ठ +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages={{pagesCount}} मध्ये +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pagesCount}} को {{pageNumber}}) + +zoom_out.title=जुम घटाउनुहोस् +zoom_out_label=जुम घटाउनुहोस् +zoom_in.title=जुम बढाउनुहोस् +zoom_in_label=जुम बढाउनुहोस् +zoom.title=जुम गर्नुहोस् +presentation_mode.title=प्रस्तुति मोडमा जानुहोस् +presentation_mode_label=प्रस्तुति मोड +open_file.title=फाइल खोल्नुहोस् +open_file_label=खोल्नुहोस् +print.title=मुद्रण गर्नुहोस् +print_label=मुद्रण गर्नुहोस् +download.title=डाउनलोडहरू +download_label=डाउनलोडहरू +bookmark.title=वर्तमान दृश्य (प्रतिलिपि गर्नुहोस् वा नयाँ सञ्झ्यालमा खुल्नुहोस्) +bookmark_label=हालको दृश्य + +# Secondary toolbar and context menu +tools.title=औजारहरू +tools_label=औजारहरू +first_page.title=पहिलो पृष्ठमा जानुहोस् +first_page_label=पहिलो पृष्ठमा जानुहोस् +last_page.title=पछिल्लो पृष्ठमा जानुहोस् +last_page_label=पछिल्लो पृष्ठमा जानुहोस् +page_rotate_cw.title=घडीको दिशामा घुमाउनुहोस् +page_rotate_cw_label=घडीको दिशामा घुमाउनुहोस् +page_rotate_ccw.title=घडीको विपरित दिशामा घुमाउनुहोस् +page_rotate_ccw_label=घडीको विपरित दिशामा घुमाउनुहोस् + +cursor_text_select_tool.title=पाठ चयन उपकरण सक्षम गर्नुहोस् +cursor_text_select_tool_label=पाठ चयन उपकरण +cursor_hand_tool.title=हाते उपकरण सक्षम गर्नुहोस् +cursor_hand_tool_label=हाते उपकरण + +scroll_vertical.title=ठाडो स्क्रोलिङ्ग प्रयोग गर्नुहोस् +scroll_vertical_label=ठाडो स्क्र्रोलिङ्ग +scroll_horizontal.title=तेर्सो स्क्रोलिङ्ग प्रयोग गर्नुहोस् +scroll_horizontal_label=तेर्सो स्क्रोलिङ्ग +scroll_wrapped.title=लिपि स्क्रोलिङ्ग प्रयोग गर्नुहोस् +scroll_wrapped_label=लिपि स्क्रोलिङ्ग + +spread_none.title=पृष्ठ स्प्रेडमा सामेल हुनुहुन्न +spread_none_label=स्प्रेड छैन + +# Document properties dialog box +document_properties.title=कागजात विशेषताहरू... +document_properties_label=कागजात विशेषताहरू... +document_properties_file_name=फाइल नाम: +document_properties_file_size=फाइल आकार: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=शीर्षक: +document_properties_author=लेखक: +document_properties_subject=विषयः +document_properties_keywords=शब्दकुञ्जीः +document_properties_creation_date=सिर्जना गरिएको मिति: +document_properties_modification_date=परिमार्जित मिति: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=सर्जक: +document_properties_producer=PDF निर्माता: +document_properties_version=PDF संस्करण +document_properties_page_count=पृष्ठ गणना: +document_properties_page_size=पृष्ठ आकार: +document_properties_page_size_unit_inches=इन्च +document_properties_page_size_unit_millimeters=मि.मि. +document_properties_page_size_orientation_portrait=पोट्रेट +document_properties_page_size_orientation_landscape=परिदृश्य +document_properties_page_size_name_letter=अक्षर +document_properties_page_size_name_legal=कानूनी +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized_yes=हो +document_properties_linearized_no=होइन +document_properties_close=बन्द गर्नुहोस् + +print_progress_message=मुद्रणका लागि कागजात तयारी गरिदै… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=रद्द गर्नुहोस् + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=टगल साइडबार +toggle_sidebar_label=टगल साइडबार +document_outline.title=कागजातको रूपरेखा देखाउनुहोस् (सबै वस्तुहरू विस्तार/पतन गर्न डबल-क्लिक गर्नुहोस्) +document_outline_label=दस्तावेजको रूपरेखा +attachments.title=संलग्नहरू देखाउनुहोस् +attachments_label=संलग्नकहरू +thumbs.title=थम्बनेलहरू देखाउनुहोस् +thumbs_label=थम्बनेलहरू +findbar.title=कागजातमा फेला पार्नुहोस् +findbar_label=फेला पार्नुहोस् + +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=पृष्ठ {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}} पृष्ठको थम्बनेल + +# Find panel button title and messages +find_input.title=फेला पार्नुहोस् +find_input.placeholder=कागजातमा फेला पार्नुहोस्… +find_previous.title=यस वाक्यांशको अघिल्लो घटना फेला पार्नुहोस् +find_previous_label=अघिल्लो +find_next.title=यस वाक्यांशको पछिल्लो घटना फेला पार्नुहोस् +find_next_label=अर्को +find_highlight=सबै हाइलाइट गर्ने +find_match_case_label=केस जोडा मिलाउनुहोस् +find_entire_word_label=पुरा शब्दहरु +find_reached_top=पृष्ठको शिर्षमा पुगीयो, तलबाट जारी गरिएको थियो +find_reached_bottom=पृष्ठको अन्त्यमा पुगीयो, शिर्षबाट जारी गरिएको थियो +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_not_found=वाक्यांश फेला परेन + +# Error panel labels +error_more_info=थप जानकारी +error_less_info=कम जानकारी +error_close=बन्द गर्नुहोस् +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=सन्देश: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=स्ट्याक: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=फाइल: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=लाइन: {{line}} +rendering_error=पृष्ठ प्रतिपादन गर्दा एउटा त्रुटि देखापर्‍यो। + +# Predefined zoom values +page_scale_width=पृष्ठ चौडाइ +page_scale_fit=पृष्ठ ठिक्क मिल्ने +page_scale_auto=स्वचालित जुम +page_scale_actual=वास्तविक आकार +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading_error=यो PDF लोड गर्दा एउटा त्रुटि देखापर्‍यो। +invalid_file_error=अवैध वा दुषित PDF फाइल। +missing_file_error=हराईरहेको PDF फाइल। +unexpected_response_error=अप्रत्याशित सर्भर प्रतिक्रिया। + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Annotation] +password_label=यस PDF फाइललाई खोल्न गोप्यशब्द प्रविष्ट गर्नुहोस्। +password_invalid=अवैध गोप्यशब्द। पुनः प्रयास गर्नुहोस्। +password_ok=ठिक छ +password_cancel=रद्द गर्नुहोस् + +printing_not_supported=चेतावनी: यो ब्राउजरमा मुद्रण पूर्णतया समर्थित छैन। +printing_not_ready=चेतावनी: PDF मुद्रणका लागि पूर्णतया लोड भएको छैन। +web_fonts_disabled=वेब फन्ट असक्षम छन्: एम्बेडेड PDF फन्ट प्रयोग गर्न असमर्थ। diff --git a/app/assets/javascripts/publications/locale/nl/viewer.properties b/app/assets/javascripts/publications/locale/nl/viewer.properties new file mode 100644 index 0000000..028b498 --- /dev/null +++ b/app/assets/javascripts/publications/locale/nl/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Vorige pagina +previous_label=Vorige +next.title=Volgende pagina +next_label=Volgende + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pagina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=van {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} van {{pagesCount}}) + +zoom_out.title=Uitzoomen +zoom_out_label=Uitzoomen +zoom_in.title=Inzoomen +zoom_in_label=Inzoomen +zoom.title=Zoomen +presentation_mode.title=Wisselen naar presentatiemodus +presentation_mode_label=Presentatiemodus +open_file.title=Bestand openen +open_file_label=Openen +print.title=Afdrukken +print_label=Afdrukken +download.title=Downloaden +download_label=Downloaden +bookmark.title=Huidige weergave (kopiëren of openen in nieuw venster) +bookmark_label=Huidige weergave + +# Secondary toolbar and context menu +tools.title=Hulpmiddelen +tools_label=Hulpmiddelen +first_page.title=Naar eerste pagina gaan +first_page_label=Naar eerste pagina gaan +last_page.title=Naar laatste pagina gaan +last_page_label=Naar laatste pagina gaan +page_rotate_cw.title=Rechtsom draaien +page_rotate_cw_label=Rechtsom draaien +page_rotate_ccw.title=Linksom draaien +page_rotate_ccw_label=Linksom draaien + +cursor_text_select_tool.title=Tekstselectiehulpmiddel inschakelen +cursor_text_select_tool_label=Tekstselectiehulpmiddel +cursor_hand_tool.title=Handhulpmiddel inschakelen +cursor_hand_tool_label=Handhulpmiddel + +scroll_page.title=Paginascrollen gebruiken +scroll_page_label=Paginascrollen +scroll_vertical.title=Verticaal scrollen gebruiken +scroll_vertical_label=Verticaal scrollen +scroll_horizontal.title=Horizontaal scrollen gebruiken +scroll_horizontal_label=Horizontaal scrollen +scroll_wrapped.title=Scrollen met terugloop gebruiken +scroll_wrapped_label=Scrollen met terugloop + +spread_none.title=Dubbele pagina’s niet samenvoegen +spread_none_label=Geen dubbele pagina’s +spread_odd.title=Dubbele pagina’s samenvoegen vanaf oneven pagina’s +spread_odd_label=Oneven dubbele pagina’s +spread_even.title=Dubbele pagina’s samenvoegen vanaf even pagina’s +spread_even_label=Even dubbele pagina’s + +# Document properties dialog box +document_properties.title=Documenteigenschappen… +document_properties_label=Documenteigenschappen… +document_properties_file_name=Bestandsnaam: +document_properties_file_size=Bestandsgrootte: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Titel: +document_properties_author=Auteur: +document_properties_subject=Onderwerp: +document_properties_keywords=Sleutelwoorden: +document_properties_creation_date=Aanmaakdatum: +document_properties_modification_date=Wijzigingsdatum: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Maker: +document_properties_producer=PDF-producent: +document_properties_version=PDF-versie: +document_properties_page_count=Aantal pagina’s: +document_properties_page_size=Paginagrootte: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=staand +document_properties_page_size_orientation_landscape=liggend +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Snelle webweergave: +document_properties_linearized_yes=Ja +document_properties_linearized_no=Nee +document_properties_close=Sluiten + +print_progress_message=Document voorbereiden voor afdrukken… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Annuleren + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Zijbalk in-/uitschakelen +toggle_sidebar_notification2.title=Zijbalk in-/uitschakelen (document bevat overzicht/bijlagen/lagen) +toggle_sidebar_label=Zijbalk in-/uitschakelen +document_outline.title=Documentoverzicht tonen (dubbelklik om alle items uit/samen te vouwen) +document_outline_label=Documentoverzicht +attachments.title=Bijlagen tonen +attachments_label=Bijlagen +layers.title=Lagen tonen (dubbelklik om alle lagen naar de standaardstatus terug te zetten) +layers_label=Lagen +thumbs.title=Miniaturen tonen +thumbs_label=Miniaturen +current_outline_item.title=Huidig item in inhoudsopgave zoeken +current_outline_item_label=Huidig item in inhoudsopgave +findbar.title=Zoeken in document +findbar_label=Zoeken + +additional_layers=Aanvullende lagen +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Pagina {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Pagina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatuur van pagina {{page}} + +# Find panel button title and messages +find_input.title=Zoeken +find_input.placeholder=Zoeken in document… +find_previous.title=De vorige overeenkomst van de tekst zoeken +find_previous_label=Vorige +find_next.title=De volgende overeenkomst van de tekst zoeken +find_next_label=Volgende +find_highlight=Alles markeren +find_match_case_label=Hoofdlettergevoelig +find_match_diacritics_label=Diakritische tekens gebruiken +find_entire_word_label=Hele woorden +find_reached_top=Bovenkant van document bereikt, doorgegaan vanaf onderkant +find_reached_bottom=Onderkant van document bereikt, doorgegaan vanaf bovenkant +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} van {{total}} overeenkomst +find_match_count[two]={{current}} van {{total}} overeenkomsten +find_match_count[few]={{current}} van {{total}} overeenkomsten +find_match_count[many]={{current}} van {{total}} overeenkomsten +find_match_count[other]={{current}} van {{total}} overeenkomsten +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Meer dan {{limit}} overeenkomsten +find_match_count_limit[one]=Meer dan {{limit}} overeenkomst +find_match_count_limit[two]=Meer dan {{limit}} overeenkomsten +find_match_count_limit[few]=Meer dan {{limit}} overeenkomsten +find_match_count_limit[many]=Meer dan {{limit}} overeenkomsten +find_match_count_limit[other]=Meer dan {{limit}} overeenkomsten +find_not_found=Tekst niet gevonden + +# Error panel labels +error_more_info=Meer informatie +error_less_info=Minder informatie +error_close=Sluiten +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Bericht: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Bestand: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Regel: {{line}} +rendering_error=Er is een fout opgetreden bij het weergeven van de pagina. + +# Predefined zoom values +page_scale_width=Paginabreedte +page_scale_fit=Hele pagina +page_scale_auto=Automatisch zoomen +page_scale_actual=Werkelijke grootte +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Laden… +loading_error=Er is een fout opgetreden bij het laden van de PDF. +invalid_file_error=Ongeldig of beschadigd PDF-bestand. +missing_file_error=PDF-bestand ontbreekt. +unexpected_response_error=Onverwacht serverantwoord. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}}-aantekening] +password_label=Voer het wachtwoord in om dit PDF-bestand te openen. +password_invalid=Ongeldig wachtwoord. Probeer het opnieuw. +password_ok=OK +password_cancel=Annuleren + +printing_not_supported=Waarschuwing: afdrukken wordt niet volledig ondersteund door deze browser. +printing_not_ready=Waarschuwing: de PDF is niet volledig geladen voor afdrukken. +web_fonts_disabled=Weblettertypen zijn uitgeschakeld: gebruik van ingebedde PDF-lettertypen is niet mogelijk. diff --git a/app/assets/javascripts/publications/locale/nn-NO/viewer.properties b/app/assets/javascripts/publications/locale/nn-NO/viewer.properties new file mode 100644 index 0000000..2feff78 --- /dev/null +++ b/app/assets/javascripts/publications/locale/nn-NO/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Føregåande side +previous_label=Føregåande +next.title=Neste side +next_label=Neste + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Side +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=av {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} av {{pagesCount}}) + +zoom_out.title=Zoom ut +zoom_out_label=Zoom ut +zoom_in.title=Zoom inn +zoom_in_label=Zoom inn +zoom.title=Zoom +presentation_mode.title=Byt til presentasjonsmodus +presentation_mode_label=Presentasjonsmodus +open_file.title=Opne fil +open_file_label=Opne +print.title=Skriv ut +print_label=Skriv ut +download.title=Last ned +download_label=Last ned +bookmark.title=Gjeldande vising (kopier eller opne i nytt vindauge) +bookmark_label=Gjeldande vising + +# Secondary toolbar and context menu +tools.title=Verktøy +tools_label=Verktøy +first_page.title=Gå til første side +first_page_label=Gå til første side +last_page.title=Gå til siste side +last_page_label=Gå til siste side +page_rotate_cw.title=Roter med klokka +page_rotate_cw_label=Roter med klokka +page_rotate_ccw.title=Roter mot klokka +page_rotate_ccw_label=Roter mot klokka + +cursor_text_select_tool.title=Aktiver tekstmarkeringsverktøy +cursor_text_select_tool_label=Tekstmarkeringsverktøy +cursor_hand_tool.title=Aktiver handverktøy +cursor_hand_tool_label=Handverktøy + +scroll_page.title=Bruk siderulling +scroll_page_label=Siderulling +scroll_vertical.title=Bruk vertikal rulling +scroll_vertical_label=Vertikal rulling +scroll_horizontal.title=Bruk horisontal rulling +scroll_horizontal_label=Horisontal rulling +scroll_wrapped.title=Bruk fleirsiderulling +scroll_wrapped_label=Fleirsiderulling + +spread_none.title=Vis enkeltsider +spread_none_label=Enkeltside +spread_odd.title=Vis oppslag med ulike sidenummer til venstre +spread_odd_label=Oppslag med framside +spread_even.title=Vis oppslag med like sidenummmer til venstre +spread_even_label=Oppslag utan framside + +# Document properties dialog box +document_properties.title=Dokumenteigenskapar… +document_properties_label=Dokumenteigenskapar… +document_properties_file_name=Filnamn: +document_properties_file_size=Filstorleik: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Tittel: +document_properties_author=Forfattar: +document_properties_subject=Emne: +document_properties_keywords=Stikkord: +document_properties_creation_date=Dato oppretta: +document_properties_modification_date=Dato endra: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Oppretta av: +document_properties_producer=PDF-verktøy: +document_properties_version=PDF-versjon: +document_properties_page_count=Sidetal: +document_properties_page_size=Sidestørrelse: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=ståande +document_properties_page_size_orientation_landscape=liggande +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Brev +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Rask nettvising: +document_properties_linearized_yes=Ja +document_properties_linearized_no=Nei +document_properties_close=Lat att + +print_progress_message=Førebur dokumentet for utskrift… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Avbryt + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Slå av/på sidestolpe +toggle_sidebar_notification2.title=Vis/gøym sidestolpe (dokumentet inneheld oversikt/vedlegg/lag) +toggle_sidebar_label=Slå av/på sidestolpe +document_outline.title=Vis dokumentdisposisjonen (dobbelklikk for å utvide/gøyme alle elementa) +document_outline_label=Dokumentdisposisjon +attachments.title=Vis vedlegg +attachments_label=Vedlegg +layers.title=Vis lag (dobbeltklikk for å tilbakestille alle lag til standardtilstand) +layers_label=Lag +thumbs.title=Vis miniatyrbilde +thumbs_label=Miniatyrbilde +current_outline_item.title=Finn gjeldande disposisjonselement +current_outline_item_label=Gjeldande disposisjonselement +findbar.title=Finn i dokumentet +findbar_label=Finn + +additional_layers=Ytterlegare lag +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Side {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Side {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatyrbilde av side {{page}} + +# Find panel button title and messages +find_input.title=Søk +find_input.placeholder=Søk i dokument… +find_previous.title=Finn førre førekomst av frasen +find_previous_label=Førre +find_next.title=Finn neste førekomst av frasen +find_next_label=Neste +find_highlight=Uthev alle +find_match_case_label=Skil store/små bokstavar +find_entire_word_label=Heile ord +find_reached_top=Nådde toppen av dokumentet, fortset frå botnen +find_reached_bottom=Nådde botnen av dokumentet, fortset frå toppen +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} av {{total}} treff +find_match_count[two]={{current}} av {{total}} treff +find_match_count[few]={{current}} av {{total}} treff +find_match_count[many]={{current}} av {{total}} treff +find_match_count[other]={{current}} av {{total}} treff +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Meir enn {{limit}} treff +find_match_count_limit[one]=Meir enn {{limit}} treff +find_match_count_limit[two]=Meir enn {{limit}} treff +find_match_count_limit[few]=Meir enn {{limit}} treff +find_match_count_limit[many]=Meir enn {{limit}} treff +find_match_count_limit[other]=Meir enn {{limit}} treff +find_not_found=Fann ikkje teksten + +# Error panel labels +error_more_info=Meir info +error_less_info=Mindre info +error_close=Lat att +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (bygg: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Melding: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stakk: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fil: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linje: {{line}} +rendering_error=Ein feil oppstod under vising av sida. + +# Predefined zoom values +page_scale_width=Sidebreidde +page_scale_fit=Tilpass til sida +page_scale_auto=Automatisk skalering +page_scale_actual=Verkeleg storleik +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Lastar… +loading_error=Ein feil oppstod ved lasting av PDF. +invalid_file_error=Ugyldig eller korrupt PDF-fil. +missing_file_error=Manglande PDF-fil. +unexpected_response_error=Uventa tenarrespons. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}} {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} annotasjon] +password_label=Skriv inn passordet for å opne denne PDF-fila. +password_invalid=Ugyldig passord. Prøv igjen. +password_ok=OK +password_cancel=Avbryt + +printing_not_supported=Åtvaring: Utskrift er ikkje fullstendig støtta av denne nettlesaren. +printing_not_ready=Åtvaring: PDF ikkje fullstendig innlasta for utskrift. +web_fonts_disabled=Web-skrifter er slått av: Kan ikkje bruke innbundne PDF-skrifter. diff --git a/app/assets/javascripts/publications/locale/oc/viewer.properties b/app/assets/javascripts/publications/locale/oc/viewer.properties new file mode 100644 index 0000000..219de4d --- /dev/null +++ b/app/assets/javascripts/publications/locale/oc/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Pagina precedenta +previous_label=Precedent +next.title=Pagina seguenta +next_label=Seguent + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pagina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=sus {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} de {{pagesCount}}) + +zoom_out.title=Zoom arrièr +zoom_out_label=Zoom arrièr +zoom_in.title=Zoom avant +zoom_in_label=Zoom avant +zoom.title=Zoom +presentation_mode.title=Bascular en mòde presentacion +presentation_mode_label=Mòde Presentacion +open_file.title=Dobrir lo fichièr +open_file_label=Dobrir +print.title=Imprimir +print_label=Imprimir +download.title=Telecargar +download_label=Telecargar +bookmark.title=Afichatge corrent (copiar o dobrir dins una fenèstra novèla) +bookmark_label=Afichatge actual + +# Secondary toolbar and context menu +tools.title=Aisinas +tools_label=Aisinas +first_page.title=Anar a la primièra pagina +first_page_label=Anar a la primièra pagina +last_page.title=Anar a la darrièra pagina +last_page_label=Anar a la darrièra pagina +page_rotate_cw.title=Rotacion orària +page_rotate_cw_label=Rotacion orària +page_rotate_ccw.title=Rotacion antiorària +page_rotate_ccw_label=Rotacion antiorària + +cursor_text_select_tool.title=Activar l'aisina de seleccion de tèxte +cursor_text_select_tool_label=Aisina de seleccion de tèxte +cursor_hand_tool.title=Activar l’aisina man +cursor_hand_tool_label=Aisina man + +scroll_page.title=Activar lo desfilament per pagina +scroll_page_label=Desfilament per pagina +scroll_vertical.title=Utilizar lo desfilament vertical +scroll_vertical_label=Desfilament vertical +scroll_horizontal.title=Utilizar lo desfilament orizontal +scroll_horizontal_label=Desfilament orizontal +scroll_wrapped.title=Activar lo desfilament continú +scroll_wrapped_label=Desfilament continú + +spread_none.title=Agropar pas las paginas doas a doas +spread_none_label=Una sola pagina +spread_odd.title=Mostrar doas paginas en començant per las paginas imparas a esquèrra +spread_odd_label=Dobla pagina, impara a drecha +spread_even.title=Mostrar doas paginas en començant per las paginas paras a esquèrra +spread_even_label=Dobla pagina, para a drecha + +# Document properties dialog box +document_properties.title=Proprietats del document… +document_properties_label=Proprietats del document… +document_properties_file_name=Nom del fichièr : +document_properties_file_size=Talha del fichièr : +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} Ko ({{size_b}} octets) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} Mo ({{size_b}} octets) +document_properties_title=Títol : +document_properties_author=Autor : +document_properties_subject=Subjècte : +document_properties_keywords=Mots claus : +document_properties_creation_date=Data de creacion : +document_properties_modification_date=Data de modificacion : +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, a {{time}} +document_properties_creator=Creator : +document_properties_producer=Aisina de conversion PDF : +document_properties_version=Version PDF : +document_properties_page_count=Nombre de paginas : +document_properties_page_size=Talha de la pagina : +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=retrach +document_properties_page_size_orientation_landscape=païsatge +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letra +document_properties_page_size_name_legal=Document juridic +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Vista web rapida : +document_properties_linearized_yes=Òc +document_properties_linearized_no=Non +document_properties_close=Tampar + +print_progress_message=Preparacion del document per l’impression… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Anullar + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Afichar/amagar lo panèl lateral +toggle_sidebar_notification2.title=Afichar/amagar lo panèl lateral (lo document conten esquèmas/pèças juntas/calques) +toggle_sidebar_label=Afichar/amagar lo panèl lateral +document_outline.title=Mostrar los esquèmas del document (dobleclicar per espandre/reduire totes los elements) +document_outline_label=Marcapaginas del document +attachments.title=Visualizar las pèças juntas +attachments_label=Pèças juntas +layers.title=Afichar los calques (doble-clicar per reïnicializar totes los calques a l’estat per defaut) +layers_label=Calques +thumbs.title=Afichar las vinhetas +thumbs_label=Vinhetas +current_outline_item.title=Trobar l’element de plan actual +current_outline_item_label=Element de plan actual +findbar.title=Cercar dins lo document +findbar_label=Recercar + +additional_layers=Calques suplementaris +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Pagina {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Pagina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Vinheta de la pagina {{page}} + +# Find panel button title and messages +find_input.title=Recercar +find_input.placeholder=Cercar dins lo document… +find_previous.title=Tròba l'ocurréncia precedenta de la frasa +find_previous_label=Precedent +find_next.title=Tròba l'ocurréncia venenta de la frasa +find_next_label=Seguent +find_highlight=Suslinhar tot +find_match_case_label=Respectar la cassa +find_entire_word_label=Mots entièrs +find_reached_top=Naut de la pagina atenh, perseguida del bas +find_reached_bottom=Bas de la pagina atench, perseguida al començament +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]=Ocuréncia {{current}} sus {{total}} +find_match_count[two]=Ocuréncia {{current}} sus {{total}} +find_match_count[few]=Ocuréncia {{current}} sus {{total}} +find_match_count[many]=Ocuréncia {{current}} sus {{total}} +find_match_count[other]=Ocuréncia {{current}} sus {{total}} +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Mai de {{limit}} ocuréncias +find_match_count_limit[one]=Mai de {{limit}} ocuréncia +find_match_count_limit[two]=Mai de {{limit}} ocuréncias +find_match_count_limit[few]=Mai de {{limit}} ocuréncias +find_match_count_limit[many]=Mai de {{limit}} ocuréncias +find_match_count_limit[other]=Mai de {{limit}} ocuréncias +find_not_found=Frasa pas trobada + +# Error panel labels +error_more_info=Mai de detalhs +error_less_info=Mens d'informacions +error_close=Tampar +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (identificant de compilacion : {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Messatge : {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila : {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fichièr : {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linha : {{line}} +rendering_error=Una error s'es producha pendent l'afichatge de la pagina. + +# Predefined zoom values +page_scale_width=Largor plena +page_scale_fit=Pagina entièra +page_scale_auto=Zoom automatic +page_scale_actual=Talha vertadièra +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Cargament… +loading_error=Una error s'es producha pendent lo cargament del fichièr PDF. +invalid_file_error=Fichièr PDF invalid o corromput. +missing_file_error=Fichièr PDF mancant. +unexpected_response_error=Responsa de servidor imprevista. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}} a {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anotacion {{type}}] +password_label=Picatz lo senhal per dobrir aqueste fichièr PDF. +password_invalid=Senhal incorrècte. Tornatz ensajar. +password_ok=D'acòrdi +password_cancel=Anullar + +printing_not_supported=Atencion : l'impression es pas completament gerida per aqueste navegador. +printing_not_ready=Atencion : lo PDF es pas entièrament cargat per lo poder imprimir. +web_fonts_disabled=Las poliças web son desactivadas : impossible d'utilizar las poliças integradas al PDF. diff --git a/app/assets/javascripts/publications/locale/pa-IN/viewer.properties b/app/assets/javascripts/publications/locale/pa-IN/viewer.properties new file mode 100644 index 0000000..61215db --- /dev/null +++ b/app/assets/javascripts/publications/locale/pa-IN/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=ਪਿਛਲਾ ਸਫ਼ਾ +previous_label=ਪਿੱਛੇ +next.title=ਅਗਲਾ ਸਫ਼ਾ +next_label=ਅੱਗੇ + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=ਸਫ਼ਾ +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages={{pagesCount}} ਵਿੱਚੋਂ +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages={{pagesCount}}) ਵਿੱਚੋਂ ({{pageNumber}} + +zoom_out.title=ਜ਼ੂਮ ਆਉਟ +zoom_out_label=ਜ਼ੂਮ ਆਉਟ +zoom_in.title=ਜ਼ੂਮ ਇਨ +zoom_in_label=ਜ਼ੂਮ ਇਨ +zoom.title=ਜ਼ੂਨ +presentation_mode.title=ਪਰਿਜੈਂਟੇਸ਼ਨ ਮੋਡ ਵਿੱਚ ਜਾਓ +presentation_mode_label=ਪਰਿਜੈਂਟੇਸ਼ਨ ਮੋਡ +open_file.title=ਫਾਈਲ ਨੂੰ ਖੋਲ੍ਹੋ +open_file_label=ਖੋਲ੍ਹੋ +print.title=ਪਰਿੰਟ +print_label=ਪਰਿੰਟ +download.title=ਡਾਊਨਲੋਡ +download_label=ਡਾਊਨਲੋਡ +bookmark.title=ਮੌਜੂਦਾ ਝਲਕ (ਨਵੀਂ ਵਿੰਡੋ ਵਿੱਚ ਕਾਪੀ ਕਰੋ ਜਾਂ ਖੋਲ੍ਹੋ) +bookmark_label=ਮੌਜੂਦਾ ਝਲਕ + +# Secondary toolbar and context menu +tools.title=ਟੂਲ +tools_label=ਟੂਲ +first_page.title=ਪਹਿਲੇ ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ +first_page_label=ਪਹਿਲੇ ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ +last_page.title=ਆਖਰੀ ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ +last_page_label=ਆਖਰੀ ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ +page_rotate_cw.title=ਸੱਜੇ ਦਾਅ ਘੁੰਮਾਓ +page_rotate_cw_label=ਸੱਜੇ ਦਾਅ ਘੁੰਮਾਓ +page_rotate_ccw.title=ਖੱਬੇ ਦਾਅ ਘੁੰਮਾਓ +page_rotate_ccw_label=ਖੱਬੇ ਦਾਅ ਘੁੰਮਾਓ + +cursor_text_select_tool.title=ਲਿਖਤ ਚੋਣ ਟੂਲ ਸਮਰੱਥ ਕਰੋ +cursor_text_select_tool_label=ਲਿਖਤ ਚੋਣ ਟੂਲ +cursor_hand_tool.title=ਹੱਥ ਟੂਲ ਸਮਰੱਥ ਕਰੋ +cursor_hand_tool_label=ਹੱਥ ਟੂਲ + +scroll_page.title=ਸਫ਼ਾ ਖਿਸਕਾਉਣ ਨੂੰ ਵਰਤੋਂ +scroll_page_label=ਸਫ਼ਾ ਖਿਸਕਾਉਣਾ +scroll_vertical.title=ਖੜ੍ਹਵੇਂ ਸਕਰਾਉਣ ਨੂੰ ਵਰਤੋਂ +scroll_vertical_label=ਖੜ੍ਹਵਾਂ ਸਰਕਾਉਣਾ +scroll_horizontal.title=ਲੇਟਵੇਂ ਸਰਕਾਉਣ ਨੂੰ ਵਰਤੋਂ +scroll_horizontal_label=ਲੇਟਵਾਂ ਸਰਕਾਉਣਾ +scroll_wrapped.title=ਸਮੇਟੇ ਸਰਕਾਉਣ ਨੂੰ ਵਰਤੋਂ +scroll_wrapped_label=ਸਮੇਟਿਆ ਸਰਕਾਉਣਾ + +spread_none.title=ਸਫ਼ਾ ਫੈਲਾਅ ਵਿੱਚ ਸ਼ਾਮਲ ਨਾ ਹੋਵੋ +spread_none_label=ਕੋਈ ਫੈਲਾਅ ਨਹੀਂ +spread_odd.title=ਟਾਂਕ ਅੰਕ ਵਾਲੇ ਸਫ਼ਿਆਂ ਨਾਲ ਸ਼ੁਰੂ ਹੋਣ ਵਾਲੇ ਸਫਿਆਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ +spread_odd_label=ਟਾਂਕ ਫੈਲਾਅ +spread_even.title=ਜਿਸਤ ਅੰਕ ਵਾਲੇ ਸਫ਼ਿਆਂ ਨਾਲ ਸ਼ੁਰੂ ਹੋਣ ਵਾਲੇ ਸਫਿਆਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ +spread_even_label=ਜਿਸਤ ਫੈਲਾਅ + +# Document properties dialog box +document_properties.title=…ਦਸਤਾਵੇਜ਼ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ +document_properties_label=…ਦਸਤਾਵੇਜ਼ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ +document_properties_file_name=ਫਾਈਲ ਦਾ ਨਾਂ: +document_properties_file_size=ਫਾਈਲ ਦਾ ਆਕਾਰ: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} ਬਾਈਟ) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} ਬਾਈਟ) +document_properties_title=ਟਾਈਟਲ: +document_properties_author=ਲੇਖਕ: +document_properties_subject=ਵਿਸ਼ਾ: +document_properties_keywords=ਸ਼ਬਦ: +document_properties_creation_date=ਬਣਾਉਣ ਦੀ ਮਿਤੀ: +document_properties_modification_date=ਸੋਧ ਦੀ ਮਿਤੀ: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=ਨਿਰਮਾਤਾ: +document_properties_producer=PDF ਪ੍ਰੋਡਿਊਸਰ: +document_properties_version=PDF ਵਰਜਨ: +document_properties_page_count=ਸਫ਼ੇ ਦੀ ਗਿਣਤੀ: +document_properties_page_size=ਸਫ਼ਾ ਆਕਾਰ: +document_properties_page_size_unit_inches=ਇੰਚ +document_properties_page_size_unit_millimeters=ਮਿਮੀ +document_properties_page_size_orientation_portrait=ਪੋਰਟਰੇਟ +document_properties_page_size_orientation_landscape=ਲੈਂਡਸਕੇਪ +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=ਲੈਟਰ +document_properties_page_size_name_legal=ਕਨੂੰਨੀ +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=ਤੇਜ਼ ਵੈੱਬ ਝਲਕ: +document_properties_linearized_yes=ਹਾਂ +document_properties_linearized_no=ਨਹੀਂ +document_properties_close=ਬੰਦ ਕਰੋ + +print_progress_message=…ਪਰਿੰਟ ਕਰਨ ਲਈ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਤਿਆਰ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=ਰੱਦ ਕਰੋ + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=ਬਾਹੀ ਬਦਲੋ +toggle_sidebar_notification2.title=ਬਾਹੀ ਨੂੰ ਬਦਲੋ (ਦਸਤਾਵੇਜ਼ ਖਾਕਾ/ਅਟੈਚਮੈਂਟ/ਪਰਤਾਂ ਰੱਖਦਾ ਹੈ) +toggle_sidebar_label=ਬਾਹੀ ਬਦਲੋ +document_outline.title=ਦਸਤਾਵੇਜ਼ ਖਾਕਾ ਦਿਖਾਓ (ਸਾਰੀਆਂ ਆਈਟਮਾਂ ਨੂੰ ਫੈਲਾਉਣ/ਸਮੇਟਣ ਲਈ ਦੋ ਵਾਰ ਕਲਿੱਕ ਕਰੋ) +document_outline_label=ਦਸਤਾਵੇਜ਼ ਖਾਕਾ +attachments.title=ਅਟੈਚਮੈਂਟ ਵੇਖਾਓ +attachments_label=ਅਟੈਚਮੈਂਟਾਂ +layers.title=ਪਰਤਾਂ ਵੇਖਾਓ (ਸਾਰੀਆਂ ਪਰਤਾਂ ਨੂੰ ਮੂਲ ਹਾਲਤ ਉੱਤੇ ਮੁੜ-ਸੈੱਟ ਕਰਨ ਲਈ ਦੋ ਵਾਰ ਕਲਿੱਕ ਕਰੋ) +layers_label=ਪਰਤਾਂ +thumbs.title=ਥੰਮਨੇਲ ਨੂੰ ਵੇਖਾਓ +thumbs_label=ਥੰਮਨੇਲ +current_outline_item.title=ਮੌੌਜੂਦਾ ਖਾਕਾ ਚੀਜ਼ ਲੱਭੋ +current_outline_item_label=ਮੌਜੂਦਾ ਖਾਕਾ ਚੀਜ਼ +findbar.title=ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਲੱਭੋ +findbar_label=ਲੱਭੋ + +additional_layers=ਵਾਧੂ ਪਰਤਾਂ +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=ਸਫ਼ਾ {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=ਸਫ਼ਾ {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}} ਸਫ਼ੇ ਦਾ ਥੰਮਨੇਲ + +# Find panel button title and messages +find_input.title=ਲੱਭੋ +find_input.placeholder=…ਦਸਤਾਵੇਜ਼ 'ਚ ਲੱਭੋ +find_previous.title=ਵਾਕ ਦੀ ਪਿਛਲੀ ਮੌਜੂਦਗੀ ਲੱਭੋ +find_previous_label=ਪਿੱਛੇ +find_next.title=ਵਾਕ ਦੀ ਅਗਲੀ ਮੌਜੂਦਗੀ ਲੱਭੋ +find_next_label=ਅੱਗੇ +find_highlight=ਸਭ ਉਭਾਰੋ +find_match_case_label=ਅੱਖਰ ਆਕਾਰ ਨੂੰ ਮਿਲਾਉ +find_entire_word_label=ਪੂਰੇ ਸ਼ਬਦ +find_reached_top=ਦਸਤਾਵੇਜ਼ ਦੇ ਉੱਤੇ ਆ ਗਏ ਹਾਂ, ਥੱਲੇ ਤੋਂ ਜਾਰੀ ਰੱਖਿਆ ਹੈ +find_reached_bottom=ਦਸਤਾਵੇਜ਼ ਦੇ ਅੰਤ ਉੱਤੇ ਆ ਗਏ ਹਾਂ, ਉੱਤੇ ਤੋਂ ਜਾਰੀ ਰੱਖਿਆ ਹੈ +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ +find_match_count[two]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ +find_match_count[few]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ +find_match_count[many]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ +find_match_count[other]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]={{limit}} ਮੇਲਾਂ ਤੋਂ ਵੱਧ +find_match_count_limit[one]={{limit}} ਮੇਲ ਤੋਂ ਵੱਧ +find_match_count_limit[two]={{limit}} ਮੇਲਾਂ ਤੋਂ ਵੱਧ +find_match_count_limit[few]={{limit}} ਮੇਲਾਂ ਤੋਂ ਵੱਧ +find_match_count_limit[many]={{limit}} ਮੇਲਾਂ ਤੋਂ ਵੱਧ +find_match_count_limit[other]={{limit}} ਮੇਲਾਂ ਤੋਂ ਵੱਧ +find_not_found=ਵਾਕ ਨਹੀਂ ਲੱਭਿਆ + +# Error panel labels +error_more_info=ਹੋਰ ਜਾਣਕਾਰੀ +error_less_info=ਘੱਟ ਜਾਣਕਾਰੀ +error_close=ਬੰਦ ਕਰੋ +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (ਬਿਲਡ: {{build}} +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=ਸੁਨੇਹਾ: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=ਸਟੈਕ: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=ਫਾਈਲ: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=ਲਾਈਨ: {{line}} +rendering_error=ਸਫ਼ਾ ਰੈਡਰ ਕਰਨ ਦੇ ਦੌਰਾਨ ਗਲਤੀ ਆਈ ਹੈ। + +# Predefined zoom values +page_scale_width=ਸਫ਼ੇ ਦੀ ਚੌੜਾਈ +page_scale_fit=ਸਫ਼ਾ ਫਿੱਟ +page_scale_auto=ਆਟੋਮੈਟਿਕ ਜ਼ੂਮ ਕਰੋ +page_scale_actual=ਆਟੋਮੈਟਿਕ ਆਕਾਰ +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=…ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ +loading_error=PDF ਲੋਡ ਕਰਨ ਦੇ ਦੌਰਾਨ ਗਲਤੀ ਆਈ ਹੈ। +invalid_file_error=ਗਲਤ ਜਾਂ ਨਿਕਾਰਾ PDF ਫਾਈਲ ਹੈ। +missing_file_error=ਨਾ-ਮੌਜੂਦ PDF ਫਾਈਲ। +unexpected_response_error=ਅਣਜਾਣ ਸਰਵਰ ਜਵਾਬ। + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} ਵਿਆਖਿਆ] +password_label=ਇਹ PDF ਫਾਈਲ ਨੂੰ ਖੋਲ੍ਹਣ ਲਈ ਪਾਸਵਰਡ ਦਿਉ। +password_invalid=ਗਲਤ ਪਾਸਵਰਡ। ਫੇਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜੀ। +password_ok=ਠੀਕ ਹੈ +password_cancel=ਰੱਦ ਕਰੋ + +printing_not_supported=ਸਾਵਧਾਨ: ਇਹ ਬਰਾਊਜ਼ਰ ਪਰਿੰਟ ਕਰਨ ਲਈ ਪੂਰੀ ਤਰ੍ਹਾਂ ਸਹਾਇਕ ਨਹੀਂ ਹੈ। +printing_not_ready=ਸਾਵਧਾਨ: PDF ਨੂੰ ਪਰਿੰਟ ਕਰਨ ਲਈ ਪੂਰੀ ਤਰ੍ਹਾਂ ਲੋਡ ਨਹੀਂ ਹੈ। +web_fonts_disabled=ਵੈਬ ਫੋਂਟ ਬੰਦ ਹਨ: ਇੰਬੈਡ PDF ਫੋਂਟ ਨੂੰ ਵਰਤਣ ਲਈ ਅਸਮਰੱਥ ਹੈ। diff --git a/app/assets/javascripts/publications/locale/pl/viewer.properties b/app/assets/javascripts/publications/locale/pl/viewer.properties new file mode 100644 index 0000000..e841f13 --- /dev/null +++ b/app/assets/javascripts/publications/locale/pl/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Poprzednia strona +previous_label=Poprzednia +next.title=Następna strona +next_label=Następna + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Strona +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=z {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} z {{pagesCount}}) + +zoom_out.title=Pomniejsz +zoom_out_label=Pomniejsz +zoom_in.title=Powiększ +zoom_in_label=Powiększ +zoom.title=Skala +presentation_mode.title=Przełącz na tryb prezentacji +presentation_mode_label=Tryb prezentacji +open_file.title=Otwórz plik +open_file_label=Otwórz +print.title=Drukuj +print_label=Drukuj +download.title=Pobierz +download_label=Pobierz +bookmark.title=Bieżąca pozycja (skopiuj lub otwórz jako odnośnik w nowym oknie) +bookmark_label=Bieżąca pozycja + +# Secondary toolbar and context menu +tools.title=Narzędzia +tools_label=Narzędzia +first_page.title=Przejdź do pierwszej strony +first_page_label=Przejdź do pierwszej strony +last_page.title=Przejdź do ostatniej strony +last_page_label=Przejdź do ostatniej strony +page_rotate_cw.title=Obróć zgodnie z ruchem wskazówek zegara +page_rotate_cw_label=Obróć zgodnie z ruchem wskazówek zegara +page_rotate_ccw.title=Obróć przeciwnie do ruchu wskazówek zegara +page_rotate_ccw_label=Obróć przeciwnie do ruchu wskazówek zegara + +cursor_text_select_tool.title=Włącz narzędzie zaznaczania tekstu +cursor_text_select_tool_label=Narzędzie zaznaczania tekstu +cursor_hand_tool.title=Włącz narzędzie rączka +cursor_hand_tool_label=Narzędzie rączka + +scroll_page.title=Przewijaj strony +scroll_page_label=Przewijanie stron +scroll_vertical.title=Przewijaj dokument w pionie +scroll_vertical_label=Przewijanie pionowe +scroll_horizontal.title=Przewijaj dokument w poziomie +scroll_horizontal_label=Przewijanie poziome +scroll_wrapped.title=Strony dokumentu wyświetlaj i przewijaj w kolumnach +scroll_wrapped_label=Widok dwóch stron + +spread_none.title=Nie ustawiaj stron obok siebie +spread_none_label=Brak kolumn +spread_odd.title=Strony nieparzyste ustawiaj na lewo od parzystych +spread_odd_label=Nieparzyste po lewej +spread_even.title=Strony parzyste ustawiaj na lewo od nieparzystych +spread_even_label=Parzyste po lewej + +# Document properties dialog box +document_properties.title=Właściwości dokumentu… +document_properties_label=Właściwości dokumentu… +document_properties_file_name=Nazwa pliku: +document_properties_file_size=Rozmiar pliku: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} B) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} B) +document_properties_title=Tytuł: +document_properties_author=Autor: +document_properties_subject=Temat: +document_properties_keywords=Słowa kluczowe: +document_properties_creation_date=Data utworzenia: +document_properties_modification_date=Data modyfikacji: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Utworzony przez: +document_properties_producer=PDF wyprodukowany przez: +document_properties_version=Wersja PDF: +document_properties_page_count=Liczba stron: +document_properties_page_size=Wymiary strony: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=pionowa +document_properties_page_size_orientation_landscape=pozioma +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=US Letter +document_properties_page_size_name_legal=US Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}}×{{height}} {{unit}} (orientacja {{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}}×{{height}} {{unit}} ({{name}}, orientacja {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Szybki podgląd w Internecie: +document_properties_linearized_yes=tak +document_properties_linearized_no=nie +document_properties_close=Zamknij + +print_progress_message=Przygotowywanie dokumentu do druku… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Anuluj + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Przełącz panel boczny +toggle_sidebar_notification2.title=Przełącz panel boczny (dokument zawiera konspekt/załączniki/warstwy) +toggle_sidebar_label=Przełącz panel boczny +document_outline.title=Konspekt dokumentu (podwójne kliknięcie rozwija lub zwija wszystkie pozycje) +document_outline_label=Konspekt dokumentu +attachments.title=Załączniki +attachments_label=Załączniki +layers.title=Warstwy (podwójne kliknięcie przywraca wszystkie warstwy do stanu domyślnego) +layers_label=Warstwy +thumbs.title=Miniatury +thumbs_label=Miniatury +current_outline_item.title=Znajdź bieżący element konspektu +current_outline_item_label=Bieżący element konspektu +findbar.title=Znajdź w dokumencie +findbar_label=Znajdź + +additional_layers=Dodatkowe warstwy +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark={{page}}. strona +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title={{page}}. strona +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura {{page}}. strony + +# Find panel button title and messages +find_input.title=Znajdź +find_input.placeholder=Znajdź w dokumencie… +find_previous.title=Znajdź poprzednie wystąpienie tekstu +find_previous_label=Poprzednie +find_next.title=Znajdź następne wystąpienie tekstu +find_next_label=Następne +find_highlight=Wyróżnianie wszystkich +find_match_case_label=Rozróżnianie wielkości liter +find_entire_word_label=Całe słowa +find_reached_top=Początek dokumentu. Wyszukiwanie od końca. +find_reached_bottom=Koniec dokumentu. Wyszukiwanie od początku. +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]=Pierwsze z {{total}} trafień +find_match_count[two]=Drugie z {{total}} trafień +find_match_count[few]={{current}}. z {{total}} trafień +find_match_count[many]={{current}}. z {{total}} trafień +find_match_count[other]={{current}}. z {{total}} trafień +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Brak trafień. +find_match_count_limit[one]=Więcej niż jedno trafienie. +find_match_count_limit[two]=Więcej niż dwa trafienia. +find_match_count_limit[few]=Więcej niż {{limit}} trafienia. +find_match_count_limit[many]=Więcej niż {{limit}} trafień. +find_match_count_limit[other]=Więcej niż {{limit}} trafień. +find_not_found=Nie znaleziono tekstu + +# Error panel labels +error_more_info=Więcej informacji +error_less_info=Mniej informacji +error_close=Zamknij +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (kompilacja: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Komunikat: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stos: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Plik: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Wiersz: {{line}} +rendering_error=Podczas renderowania strony wystąpił błąd. + +# Predefined zoom values +page_scale_width=Szerokość strony +page_scale_fit=Dopasowanie strony +page_scale_auto=Skala automatyczna +page_scale_actual=Rozmiar oryginalny +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Wczytywanie… +loading_error=Podczas wczytywania dokumentu PDF wystąpił błąd. +invalid_file_error=Nieprawidłowy lub uszkodzony plik PDF. +missing_file_error=Brak pliku PDF. +unexpected_response_error=Nieoczekiwana odpowiedź serwera. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Adnotacja: {{type}}] +password_label=Wprowadź hasło, aby otworzyć ten dokument PDF. +password_invalid=Nieprawidłowe hasło. Proszę spróbować ponownie. +password_ok=OK +password_cancel=Anuluj + +printing_not_supported=Ostrzeżenie: drukowanie nie jest w pełni obsługiwane przez tę przeglądarkę. +printing_not_ready=Ostrzeżenie: dokument PDF nie jest całkowicie wczytany, więc nie można go wydrukować. +web_fonts_disabled=Czcionki sieciowe są wyłączone: nie można użyć osadzonych czcionek PDF. diff --git a/app/assets/javascripts/publications/locale/pt-BR/viewer.properties b/app/assets/javascripts/publications/locale/pt-BR/viewer.properties new file mode 100644 index 0000000..f91b2aa --- /dev/null +++ b/app/assets/javascripts/publications/locale/pt-BR/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Página anterior +previous_label=Anterior +next.title=Próxima página +next_label=Próxima + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Página +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=de {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} de {{pagesCount}}) + +zoom_out.title=Reduzir +zoom_out_label=Reduzir +zoom_in.title=Ampliar +zoom_in_label=Ampliar +zoom.title=Zoom +presentation_mode.title=Alternar para o modo de apresentação +presentation_mode_label=Modo de apresentação +open_file.title=Abrir arquivo +open_file_label=Abrir +print.title=Imprimir +print_label=Imprimir +download.title=Baixar +download_label=Baixar +bookmark.title=Visão atual (copiar ou abrir em nova janela) +bookmark_label=Visualização atual + +# Secondary toolbar and context menu +tools.title=Ferramentas +tools_label=Ferramentas +first_page.title=Ir para a primeira página +first_page_label=Ir para a primeira página +last_page.title=Ir para a última página +last_page_label=Ir para a última página +page_rotate_cw.title=Girar no sentido horário +page_rotate_cw_label=Girar no sentido horário +page_rotate_ccw.title=Girar no sentido anti-horário +page_rotate_ccw_label=Girar no sentido anti-horário + +cursor_text_select_tool.title=Ativar a ferramenta de seleção de texto +cursor_text_select_tool_label=Ferramenta de seleção de texto +cursor_hand_tool.title=Ativar ferramenta de deslocamento +cursor_hand_tool_label=Ferramenta de deslocamento + +scroll_page.title=Usar rolagem de página +scroll_page_label=Rolagem de página +scroll_vertical.title=Usar deslocamento vertical +scroll_vertical_label=Deslocamento vertical +scroll_horizontal.title=Usar deslocamento horizontal +scroll_horizontal_label=Deslocamento horizontal +scroll_wrapped.title=Usar deslocamento contido +scroll_wrapped_label=Deslocamento contido + +spread_none.title=Não reagrupar páginas +spread_none_label=Não estender +spread_odd.title=Agrupar páginas começando em páginas com números ímpares +spread_odd_label=Estender ímpares +spread_even.title=Agrupar páginas começando em páginas com números pares +spread_even_label=Estender pares + +# Document properties dialog box +document_properties.title=Propriedades do documento… +document_properties_label=Propriedades do documento… +document_properties_file_name=Nome do arquivo: +document_properties_file_size=Tamanho do arquivo: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Título: +document_properties_author=Autor: +document_properties_subject=Assunto: +document_properties_keywords=Palavras-chave: +document_properties_creation_date=Data da criação: +document_properties_modification_date=Data da modificação: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Criação: +document_properties_producer=Criador do PDF: +document_properties_version=Versão do PDF: +document_properties_page_count=Número de páginas: +document_properties_page_size=Tamanho da página: +document_properties_page_size_unit_inches=pol. +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=retrato +document_properties_page_size_orientation_landscape=paisagem +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Carta +document_properties_page_size_name_legal=Jurídico +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Exibição web rápida: +document_properties_linearized_yes=Sim +document_properties_linearized_no=Não +document_properties_close=Fechar + +print_progress_message=Preparando documento para impressão… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}} % +print_progress_close=Cancelar + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Exibir/ocultar painel lateral +toggle_sidebar_notification2.title=Exibir/ocultar painel (documento contém estrutura/anexos/camadas) +toggle_sidebar_label=Exibir/ocultar painel +document_outline.title=Mostrar a estrutura do documento (dê um duplo-clique para expandir/recolher todos os itens) +document_outline_label=Estrutura do documento +attachments.title=Mostrar anexos +attachments_label=Anexos +layers.title=Exibir camadas (duplo-clique para redefinir todas as camadas ao estado predefinido) +layers_label=Camadas +thumbs.title=Mostrar miniaturas +thumbs_label=Miniaturas +current_outline_item.title=Encontrar item atual da estrutura +current_outline_item_label=Item atual da estrutura +findbar.title=Procurar no documento +findbar_label=Procurar + +additional_layers=Camadas adicionais +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Página {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Página {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura da página {{page}} + +# Find panel button title and messages +find_input.title=Procurar +find_input.placeholder=Procurar no documento… +find_previous.title=Procurar a ocorrência anterior da frase +find_previous_label=Anterior +find_next.title=Procurar a próxima ocorrência da frase +find_next_label=Próxima +find_highlight=Destacar tudo +find_match_case_label=Diferenciar maiúsculas/minúsculas +find_entire_word_label=Palavras completas +find_reached_top=Início do documento alcançado, continuando do fim +find_reached_bottom=Fim do documento alcançado, continuando do início +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} de {{total}} ocorrência +find_match_count[two]={{current}} de {{total}} ocorrências +find_match_count[few]={{current}} de {{total}} ocorrências +find_match_count[many]={{current}} de {{total}} ocorrências +find_match_count[other]={{current}} de {{total}} ocorrências +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Mais de {{limit}} ocorrências +find_match_count_limit[one]=Mais de {{limit}} ocorrência +find_match_count_limit[two]=Mais de {{limit}} ocorrências +find_match_count_limit[few]=Mais de {{limit}} ocorrências +find_match_count_limit[many]=Mais de {{limit}} ocorrências +find_match_count_limit[other]=Mais de {{limit}} ocorrências +find_not_found=Frase não encontrada + +# Error panel labels +error_more_info=Mais informações +error_less_info=Menos informações +error_close=Fechar +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (compilação: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mensagem: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pilha: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Arquivo: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linha: {{line}} +rendering_error=Ocorreu um erro ao renderizar a página. + +# Predefined zoom values +page_scale_width=Largura da página +page_scale_fit=Ajustar à janela +page_scale_auto=Zoom automático +page_scale_actual=Tamanho real +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Carregando… +loading_error=Ocorreu um erro ao carregar o PDF. +invalid_file_error=Arquivo PDF corrompido ou inválido. +missing_file_error=Arquivo PDF ausente. +unexpected_response_error=Resposta inesperada do servidor. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anotação {{type}}] +password_label=Forneça a senha para abrir este arquivo PDF. +password_invalid=Senha inválida. Tente novamente. +password_ok=OK +password_cancel=Cancelar + +printing_not_supported=Aviso: a impressão não é totalmente suportada neste navegador. +printing_not_ready=Aviso: o PDF não está totalmente carregado para impressão. +web_fonts_disabled=As fontes web estão desativadas: não foi possível usar fontes incorporadas do PDF. diff --git a/app/assets/javascripts/publications/locale/pt-PT/viewer.properties b/app/assets/javascripts/publications/locale/pt-PT/viewer.properties new file mode 100644 index 0000000..fed3147 --- /dev/null +++ b/app/assets/javascripts/publications/locale/pt-PT/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Página anterior +previous_label=Anterior +next.title=Página seguinte +next_label=Seguinte + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Página +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=de {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} de {{pagesCount}}) + +zoom_out.title=Reduzir +zoom_out_label=Reduzir +zoom_in.title=Ampliar +zoom_in_label=Ampliar +zoom.title=Zoom +presentation_mode.title=Trocar para o modo de apresentação +presentation_mode_label=Modo de apresentação +open_file.title=Abrir ficheiro +open_file_label=Abrir +print.title=Imprimir +print_label=Imprimir +download.title=Transferir +download_label=Transferir +bookmark.title=Vista atual (copiar ou abrir numa nova janela) +bookmark_label=Visão atual + +# Secondary toolbar and context menu +tools.title=Ferramentas +tools_label=Ferramentas +first_page.title=Ir para a primeira página +first_page_label=Ir para a primeira página +last_page.title=Ir para a última página +last_page_label=Ir para a última página +page_rotate_cw.title=Rodar à direita +page_rotate_cw_label=Rodar à direita +page_rotate_ccw.title=Rodar à esquerda +page_rotate_ccw_label=Rodar à esquerda + +cursor_text_select_tool.title=Ativar ferramenta de seleção de texto +cursor_text_select_tool_label=Ferramenta de seleção de texto +cursor_hand_tool.title=Ativar ferramenta de mão +cursor_hand_tool_label=Ferramenta de mão + +scroll_page.title=Utilizar deslocamento da página +scroll_page_label=Deslocamento da página +scroll_vertical.title=Utilizar deslocação vertical +scroll_vertical_label=Deslocação vertical +scroll_horizontal.title=Utilizar deslocação horizontal +scroll_horizontal_label=Deslocação horizontal +scroll_wrapped.title=Utilizar deslocação encapsulada +scroll_wrapped_label=Deslocação encapsulada + +spread_none.title=Não juntar páginas dispersas +spread_none_label=Sem spreads +spread_odd.title=Juntar páginas dispersas a partir de páginas com números ímpares +spread_odd_label=Spreads ímpares +spread_even.title=Juntar páginas dispersas a partir de páginas com números pares +spread_even_label=Spreads pares + +# Document properties dialog box +document_properties.title=Propriedades do documento… +document_properties_label=Propriedades do documento… +document_properties_file_name=Nome do ficheiro: +document_properties_file_size=Tamanho do ficheiro: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Título: +document_properties_author=Autor: +document_properties_subject=Assunto: +document_properties_keywords=Palavras-chave: +document_properties_creation_date=Data de criação: +document_properties_modification_date=Data de modificação: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Criador: +document_properties_producer=Produtor de PDF: +document_properties_version=Versão do PDF: +document_properties_page_count=N.º de páginas: +document_properties_page_size=Tamanho da página: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=retrato +document_properties_page_size_orientation_landscape=paisagem +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Carta +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Vista rápida web: +document_properties_linearized_yes=Sim +document_properties_linearized_no=Não +document_properties_close=Fechar + +print_progress_message=A preparar o documento para impressão… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cancelar + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Alternar barra lateral +toggle_sidebar_notification2.title=Alternar barra lateral (o documento contém contornos/anexos/camadas) +toggle_sidebar_label=Alternar barra lateral +document_outline.title=Mostrar esquema do documento (duplo clique para expandir/colapsar todos os itens) +document_outline_label=Esquema do documento +attachments.title=Mostrar anexos +attachments_label=Anexos +layers.title=Mostrar camadas (clique duas vezes para repor todas as camadas para o estado predefinido) +layers_label=Camadas +thumbs.title=Mostrar miniaturas +thumbs_label=Miniaturas +current_outline_item.title=Encontrar o item atualmente destacado +current_outline_item_label=Item atualmente destacado +findbar.title=Localizar em documento +findbar_label=Localizar + +additional_layers=Camadas adicionais +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Página {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Página {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura da página {{page}} + +# Find panel button title and messages +find_input.title=Localizar +find_input.placeholder=Localizar em documento… +find_previous.title=Localizar ocorrência anterior da frase +find_previous_label=Anterior +find_next.title=Localizar ocorrência seguinte da frase +find_next_label=Seguinte +find_highlight=Destacar tudo +find_match_case_label=Correspondência +find_match_diacritics_label=Corresponder diacríticos +find_entire_word_label=Palavras completas +find_reached_top=Topo do documento atingido, a continuar a partir do fundo +find_reached_bottom=Fim do documento atingido, a continuar a partir do topo +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} de {{total}} correspondência +find_match_count[two]={{current}} de {{total}} correspondências +find_match_count[few]={{current}} de {{total}} correspondências +find_match_count[many]={{current}} de {{total}} correspondências +find_match_count[other]={{current}} de {{total}} correspondências +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Mais de {{limit}} correspondências +find_match_count_limit[one]=Mais de {{limit}} correspondência +find_match_count_limit[two]=Mais de {{limit}} correspondências +find_match_count_limit[few]=Mais de {{limit}} correspondências +find_match_count_limit[many]=Mais de {{limit}} correspondências +find_match_count_limit[other]=Mais de {{limit}} correspondências +find_not_found=Frase não encontrada + +# Error panel labels +error_more_info=Mais informação +error_less_info=Menos informação +error_close=Fechar +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (compilação: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mensagem: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Ficheiro: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linha: {{line}} +rendering_error=Ocorreu um erro ao processar a página. + +# Predefined zoom values +page_scale_width=Ajustar à largura +page_scale_fit=Ajustar à página +page_scale_auto=Zoom automático +page_scale_actual=Tamanho real +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=A carregar… +loading_error=Ocorreu um erro ao carregar o PDF. +invalid_file_error=Ficheiro PDF inválido ou danificado. +missing_file_error=Ficheiro PDF inexistente. +unexpected_response_error=Resposta inesperada do servidor. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anotação {{type}}] +password_label=Introduza a palavra-passe para abrir este ficheiro PDF. +password_invalid=Palavra-passe inválida. Por favor, tente novamente. +password_ok=OK +password_cancel=Cancelar + +printing_not_supported=Aviso: a impressão não é totalmente suportada por este navegador. +printing_not_ready=Aviso: o PDF ainda não está totalmente carregado. +web_fonts_disabled=Os tipos de letra web estão desativados: não é possível utilizar os tipos de letra PDF embutidos. diff --git a/app/assets/javascripts/publications/locale/rm/viewer.properties b/app/assets/javascripts/publications/locale/rm/viewer.properties new file mode 100644 index 0000000..85d4e86 --- /dev/null +++ b/app/assets/javascripts/publications/locale/rm/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Pagina precedenta +previous_label=Enavos +next.title=Proxima pagina +next_label=Enavant + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pagina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=da {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} da {{pagesCount}}) + +zoom_out.title=Empitschnir +zoom_out_label=Empitschnir +zoom_in.title=Engrondir +zoom_in_label=Engrondir +zoom.title=Zoom +presentation_mode.title=Midar en il modus da preschentaziun +presentation_mode_label=Modus da preschentaziun +open_file.title=Avrir datoteca +open_file_label=Avrir +print.title=Stampar +print_label=Stampar +download.title=Telechargiar +download_label=Telechargiar +bookmark.title=Vista actuala (copiar u avrir en ina nova fanestra) +bookmark_label=Vista actuala + +# Secondary toolbar and context menu +tools.title=Utensils +tools_label=Utensils +first_page.title=Siglir a l'emprima pagina +first_page_label=Siglir a l'emprima pagina +last_page.title=Siglir a la davosa pagina +last_page_label=Siglir a la davosa pagina +page_rotate_cw.title=Rotar en direcziun da l'ura +page_rotate_cw_label=Rotar en direcziun da l'ura +page_rotate_ccw.title=Rotar en direcziun cuntraria a l'ura +page_rotate_ccw_label=Rotar en direcziun cuntraria a l'ura + +cursor_text_select_tool.title=Activar l'utensil per selecziunar text +cursor_text_select_tool_label=Utensil per selecziunar text +cursor_hand_tool.title=Activar l'utensil da maun +cursor_hand_tool_label=Utensil da maun + +scroll_page.title=Utilisar la defilada per pagina +scroll_page_label=Defilada per pagina +scroll_vertical.title=Utilisar il defilar vertical +scroll_vertical_label=Defilar vertical +scroll_horizontal.title=Utilisar il defilar orizontal +scroll_horizontal_label=Defilar orizontal +scroll_wrapped.title=Utilisar il defilar en colonnas +scroll_wrapped_label=Defilar en colonnas + +spread_none.title=Betg parallelisar las paginas +spread_none_label=Betg parallel +spread_odd.title=Parallelisar las paginas cun cumenzar cun paginas spèras +spread_odd_label=Parallel spèr +spread_even.title=Parallelisar las paginas cun cumenzar cun paginas pèras +spread_even_label=Parallel pèr + +# Document properties dialog box +document_properties.title=Caracteristicas dal document… +document_properties_label=Caracteristicas dal document… +document_properties_file_name=Num da la datoteca: +document_properties_file_size=Grondezza da la datoteca: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Titel: +document_properties_author=Autur: +document_properties_subject=Tema: +document_properties_keywords=Chavazzins: +document_properties_creation_date=Data da creaziun: +document_properties_modification_date=Data da modificaziun: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}} {{time}} +document_properties_creator=Creà da: +document_properties_producer=Creà il PDF cun: +document_properties_version=Versiun da PDF: +document_properties_page_count=Dumber da paginas: +document_properties_page_size=Grondezza da la pagina: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=vertical +document_properties_page_size_orientation_landscape=orizontal +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Fast Web View: +document_properties_linearized_yes=Gea +document_properties_linearized_no=Na +document_properties_close=Serrar + +print_progress_message=Preparar il document per stampar… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Interrumper + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Activar/deactivar la trav laterala +toggle_sidebar_notification2.title=Activar/deactivar la trav laterala (il document cuntegna structura dal document/agiuntas/nivels) +toggle_sidebar_label=Activar/deactivar la trav laterala +document_outline.title=Mussar la structura dal document (cliccar duas giadas per extender/cumprimer tut ils elements) +document_outline_label=Structura dal document +attachments.title=Mussar agiuntas +attachments_label=Agiuntas +layers.title=Mussar ils nivels (cliccar dubel per restaurar il stadi da standard da tut ils nivels) +layers_label=Nivels +thumbs.title=Mussar las miniaturas +thumbs_label=Miniaturas +current_outline_item.title=Tschertgar l'element da structura actual +current_outline_item_label=Element da structura actual +findbar.title=Tschertgar en il document +findbar_label=Tschertgar + +additional_layers=Nivels supplementars +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Pagina {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Pagina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura da la pagina {{page}} + +# Find panel button title and messages +find_input.title=Tschertgar +find_input.placeholder=Tschertgar en il document… +find_previous.title=Tschertgar la posiziun precedenta da l'expressiun +find_previous_label=Enavos +find_next.title=Tschertgar la proxima posiziun da l'expressiun +find_next_label=Enavant +find_highlight=Relevar tuts +find_match_case_label=Resguardar maiusclas/minusclas +find_entire_word_label=Pleds entirs +find_reached_top=Il cumenzament dal document è cuntanschì, la tschertga cuntinuescha a la fin dal document +find_reached_bottom=La fin dal document è cuntanschì, la tschertga cuntinuescha al cumenzament dal document +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} dad {{total}} correspundenza +find_match_count[two]={{current}} da {{total}} correspundenzas +find_match_count[few]={{current}} da {{total}} correspundenzas +find_match_count[many]={{current}} da {{total}} correspundenzas +find_match_count[other]={{current}} da {{total}} correspundenzas +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Dapli che {{limit}} correspundenzas +find_match_count_limit[one]=Dapli che {{limit}} correspundenza +find_match_count_limit[two]=Dapli che {{limit}} correspundenzas +find_match_count_limit[few]=Dapli che {{limit}} correspundenzas +find_match_count_limit[many]=Dapli che {{limit}} correspundenzas +find_match_count_limit[other]=Dapli che {{limit}} correspundenzas +find_not_found=Impussibel da chattar l'expressiun + +# Error panel labels +error_more_info=Dapli infurmaziuns +error_less_info=Damain infurmaziuns +error_close=Serrar +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Messadi: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Datoteca: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Lingia: {{line}} +rendering_error=Ina errur è cumparida cun visualisar questa pagina. + +# Predefined zoom values +page_scale_width=Ladezza da la pagina +page_scale_fit=Entira pagina +page_scale_auto=Zoom automatic +page_scale_actual=Grondezza actuala +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Chargiar… +loading_error=Ina errur è cumparida cun chargiar il PDF. +invalid_file_error=Datoteca PDF nunvalida u donnegiada. +missing_file_error=Datoteca PDF manconta. +unexpected_response_error=Resposta nunspetgada dal server. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Annotaziun da {{type}}] +password_label=Endatescha il pled-clav per avrir questa datoteca da PDF. +password_invalid=Pled-clav nunvalid. Emprova anc ina giada. +password_ok=OK +password_cancel=Interrumper + +printing_not_supported=Attenziun: Il stampar na funcziunescha anc betg dal tut en quest navigatur. +printing_not_ready=Attenziun: Il PDF n'è betg chargià cumplettamain per stampar. +web_fonts_disabled=Scrittiras dal web èn deactivadas: impussibel dad utilisar las scrittiras integradas en il PDF. diff --git a/app/assets/javascripts/publications/locale/ro/viewer.properties b/app/assets/javascripts/publications/locale/ro/viewer.properties new file mode 100644 index 0000000..7c4ed28 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ro/viewer.properties @@ -0,0 +1,240 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Pagina precedentă +previous_label=Înapoi +next.title=Pagina următoare +next_label=Înainte + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pagina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=din {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} din {{pagesCount}}) + +zoom_out.title=Micșorează +zoom_out_label=Micșorează +zoom_in.title=Mărește +zoom_in_label=Mărește +zoom.title=Zoom +presentation_mode.title=Comută la modul de prezentare +presentation_mode_label=Mod de prezentare +open_file.title=Deschide un fișier +open_file_label=Deschide +print.title=Tipărește +print_label=Tipărește +download.title=Descarcă +download_label=Descarcă +bookmark.title=Vizualizare actuală (copiază sau deschide într-o fereastră nouă) +bookmark_label=Vizualizare actuală + +# Secondary toolbar and context menu +tools.title=Instrumente +tools_label=Instrumente +first_page.title=Mergi la prima pagină +first_page_label=Mergi la prima pagină +last_page.title=Mergi la ultima pagină +last_page_label=Mergi la ultima pagină +page_rotate_cw.title=Rotește în sensul acelor de ceas +page_rotate_cw_label=Rotește în sensul acelor de ceas +page_rotate_ccw.title=Rotește în sens invers al acelor de ceas +page_rotate_ccw_label=Rotește în sens invers al acelor de ceas + +cursor_text_select_tool.title=Activează instrumentul de selecție a textului +cursor_text_select_tool_label=Instrumentul de selecție a textului +cursor_hand_tool.title=Activează instrumentul mână +cursor_hand_tool_label=Unealta mână + +scroll_vertical.title=Folosește derularea verticală +scroll_vertical_label=Derulare verticală +scroll_horizontal.title=Folosește derularea orizontală +scroll_horizontal_label=Derulare orizontală +scroll_wrapped.title=Folosește derularea încadrată +scroll_wrapped_label=Derulare încadrată + +spread_none.title=Nu uni paginile broșate +spread_none_label=Fără pagini broșate +spread_odd.title=Unește paginile broșate începând cu cele impare +spread_odd_label=Broșare pagini impare +spread_even.title=Unește paginile broșate începând cu cele pare +spread_even_label=Broșare pagini pare + +# Document properties dialog box +document_properties.title=Proprietățile documentului… +document_properties_label=Proprietățile documentului… +document_properties_file_name=Numele fișierului: +document_properties_file_size=Mărimea fișierului: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} byți) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} byți) +document_properties_title=Titlu: +document_properties_author=Autor: +document_properties_subject=Subiect: +document_properties_keywords=Cuvinte cheie: +document_properties_creation_date=Data creării: +document_properties_modification_date=Data modificării: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Autor: +document_properties_producer=Producător PDF: +document_properties_version=Versiune PDF: +document_properties_page_count=Număr de pagini: +document_properties_page_size=Mărimea paginii: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=verticală +document_properties_page_size_orientation_landscape=orizontală +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Literă +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Vizualizare web rapidă: +document_properties_linearized_yes=Da +document_properties_linearized_no=Nu +document_properties_close=Închide + +print_progress_message=Se pregătește documentul pentru tipărire… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Renunță + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Comută bara laterală +toggle_sidebar_label=Comută bara laterală +document_outline.title=Afișează schița documentului (dublu-clic pentru a extinde/restrânge toate elementele) +document_outline_label=Schița documentului +attachments.title=Afișează atașamentele +attachments_label=Atașamente +thumbs.title=Afișează miniaturi +thumbs_label=Miniaturi +findbar.title=Caută în document +findbar_label=Caută + +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Pagina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura paginii {{page}} + +# Find panel button title and messages +find_input.title=Caută +find_input.placeholder=Caută în document… +find_previous.title=Mergi la apariția anterioară a textului +find_previous_label=Înapoi +find_next.title=Mergi la apariția următoare a textului +find_next_label=Înainte +find_highlight=Evidențiază toate aparițiile +find_match_case_label=Ține cont de majuscule și minuscule +find_entire_word_label=Cuvinte întregi +find_reached_top=Am ajuns la începutul documentului, continuă de la sfârșit +find_reached_bottom=Am ajuns la sfârșitul documentului, continuă de la început +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} din {{total}} rezultat +find_match_count[two]={{current}} din {{total}} rezultate +find_match_count[few]={{current}} din {{total}} rezultate +find_match_count[many]={{current}} din {{total}} de rezultate +find_match_count[other]={{current}} din {{total}} de rezultate +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Peste {{limit}} rezultate +find_match_count_limit[one]=Peste {{limit}} rezultat +find_match_count_limit[two]=Peste {{limit}} rezultate +find_match_count_limit[few]=Peste {{limit}} rezultate +find_match_count_limit[many]=Peste {{limit}} de rezultate +find_match_count_limit[other]=Peste {{limit}} de rezultate +find_not_found=Nu s-a găsit textul + +# Error panel labels +error_more_info=Mai multe informații +error_less_info=Mai puține informații +error_close=Închide +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (versiunea compilată: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mesaj: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stivă: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fișier: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Rând: {{line}} +rendering_error=A intervenit o eroare la randarea paginii. + +# Predefined zoom values +page_scale_width=Lățime pagină +page_scale_fit=Potrivire la pagină +page_scale_auto=Zoom automat +page_scale_actual=Mărime reală +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading_error=A intervenit o eroare la încărcarea PDF-ului. +invalid_file_error=Fișier PDF nevalid sau corupt. +missing_file_error=Fișier PDF lipsă. +unexpected_response_error=Răspuns neașteptat de la server. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Adnotare {{type}}] +password_label=Introdu parola pentru a deschide acest fișier PDF. +password_invalid=Parolă nevalidă. Te rugăm să încerci din nou. +password_ok=OK +password_cancel=Renunță + +printing_not_supported=Avertisment: Tipărirea nu este suportată în totalitate de acest browser. +printing_not_ready=Avertisment: PDF-ul nu este încărcat complet pentru tipărire. +web_fonts_disabled=Fonturile web sunt dezactivate: nu se pot folosi fonturile PDF încorporate. diff --git a/app/assets/javascripts/publications/locale/ru/viewer.properties b/app/assets/javascripts/publications/locale/ru/viewer.properties new file mode 100644 index 0000000..8f817bd --- /dev/null +++ b/app/assets/javascripts/publications/locale/ru/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Предыдущая страница +previous_label=Предыдущая +next.title=Следующая страница +next_label=Следующая + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Страница +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=из {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} из {{pagesCount}}) + +zoom_out.title=Уменьшить +zoom_out_label=Уменьшить +zoom_in.title=Увеличить +zoom_in_label=Увеличить +zoom.title=Масштаб +presentation_mode.title=Перейти в режим презентации +presentation_mode_label=Режим презентации +open_file.title=Открыть файл +open_file_label=Открыть +print.title=Печать +print_label=Печать +download.title=Загрузить +download_label=Загрузить +bookmark.title=Ссылка на текущий вид (скопировать или открыть в новом окне) +bookmark_label=Текущий вид + +# Secondary toolbar and context menu +tools.title=Инструменты +tools_label=Инструменты +first_page.title=Перейти на первую страницу +first_page_label=Перейти на первую страницу +last_page.title=Перейти на последнюю страницу +last_page_label=Перейти на последнюю страницу +page_rotate_cw.title=Повернуть по часовой стрелке +page_rotate_cw_label=Повернуть по часовой стрелке +page_rotate_ccw.title=Повернуть против часовой стрелки +page_rotate_ccw_label=Повернуть против часовой стрелки + +cursor_text_select_tool.title=Включить Инструмент «Выделение текста» +cursor_text_select_tool_label=Инструмент «Выделение текста» +cursor_hand_tool.title=Включить Инструмент «Рука» +cursor_hand_tool_label=Инструмент «Рука» + +scroll_page.title=Использовать прокрутку страниц +scroll_page_label=Прокрутка страниц +scroll_vertical.title=Использовать вертикальную прокрутку +scroll_vertical_label=Вертикальная прокрутка +scroll_horizontal.title=Использовать горизонтальную прокрутку +scroll_horizontal_label=Горизонтальная прокрутка +scroll_wrapped.title=Использовать масштабируемую прокрутку +scroll_wrapped_label=Масштабируемая прокрутка + +spread_none.title=Не использовать режим разворотов страниц +spread_none_label=Без разворотов страниц +spread_odd.title=Развороты начинаются с нечётных номеров страниц +spread_odd_label=Нечётные страницы слева +spread_even.title=Развороты начинаются с чётных номеров страниц +spread_even_label=Чётные страницы слева + +# Document properties dialog box +document_properties.title=Свойства документа… +document_properties_label=Свойства документа… +document_properties_file_name=Имя файла: +document_properties_file_size=Размер файла: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} КБ ({{size_b}} байт) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} МБ ({{size_b}} байт) +document_properties_title=Заголовок: +document_properties_author=Автор: +document_properties_subject=Тема: +document_properties_keywords=Ключевые слова: +document_properties_creation_date=Дата создания: +document_properties_modification_date=Дата изменения: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Приложение: +document_properties_producer=Производитель PDF: +document_properties_version=Версия PDF: +document_properties_page_count=Число страниц: +document_properties_page_size=Размер страницы: +document_properties_page_size_unit_inches=дюймов +document_properties_page_size_unit_millimeters=мм +document_properties_page_size_orientation_portrait=книжная +document_properties_page_size_orientation_landscape=альбомная +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Быстрый просмотр в Web: +document_properties_linearized_yes=Да +document_properties_linearized_no=Нет +document_properties_close=Закрыть + +print_progress_message=Подготовка документа к печати… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Отмена + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Показать/скрыть боковую панель +toggle_sidebar_notification2.title=Показать/скрыть боковую панель (документ имеет содержание/вложения/слои) +toggle_sidebar_label=Показать/скрыть боковую панель +document_outline.title=Показать содержание документа (двойной щелчок, чтобы развернуть/свернуть все элементы) +document_outline_label=Содержание документа +attachments.title=Показать вложения +attachments_label=Вложения +layers.title=Показать слои (дважды щёлкните, чтобы сбросить все слои к состоянию по умолчанию) +layers_label=Слои +thumbs.title=Показать миниатюры +thumbs_label=Миниатюры +current_outline_item.title=Найти текущий элемент структуры +current_outline_item_label=Текущий элемент структуры +findbar.title=Найти в документе +findbar_label=Найти + +additional_layers=Дополнительные слои +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Страница {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Страница {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Миниатюра страницы {{page}} + +# Find panel button title and messages +find_input.title=Найти +find_input.placeholder=Найти в документе… +find_previous.title=Найти предыдущее вхождение фразы в текст +find_previous_label=Назад +find_next.title=Найти следующее вхождение фразы в текст +find_next_label=Далее +find_highlight=Подсветить все +find_match_case_label=С учётом регистра +find_entire_word_label=Слова целиком +find_reached_top=Достигнут верх документа, продолжено снизу +find_reached_bottom=Достигнут конец документа, продолжено сверху +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} из {{total}} совпадения +find_match_count[two]={{current}} из {{total}} совпадений +find_match_count[few]={{current}} из {{total}} совпадений +find_match_count[many]={{current}} из {{total}} совпадений +find_match_count[other]={{current}} из {{total}} совпадений +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Более {{limit}} совпадений +find_match_count_limit[one]=Более {{limit}} совпадения +find_match_count_limit[two]=Более {{limit}} совпадений +find_match_count_limit[few]=Более {{limit}} совпадений +find_match_count_limit[many]=Более {{limit}} совпадений +find_match_count_limit[other]=Более {{limit}} совпадений +find_not_found=Фраза не найдена + +# Error panel labels +error_more_info=Детали +error_less_info=Скрыть детали +error_close=Закрыть +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (сборка: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Сообщение: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Стeк: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Файл: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Строка: {{line}} +rendering_error=При создании страницы произошла ошибка. + +# Predefined zoom values +page_scale_width=По ширине страницы +page_scale_fit=По размеру страницы +page_scale_auto=Автоматически +page_scale_actual=Реальный размер +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Загрузка… +loading_error=При загрузке PDF произошла ошибка. +invalid_file_error=Некорректный или повреждённый PDF-файл. +missing_file_error=PDF-файл отсутствует. +unexpected_response_error=Неожиданный ответ сервера. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Аннотация {{type}}] +password_label=Введите пароль, чтобы открыть этот PDF-файл. +password_invalid=Неверный пароль. Пожалуйста, попробуйте снова. +password_ok=OK +password_cancel=Отмена + +printing_not_supported=Предупреждение: В этом браузере не полностью поддерживается печать. +printing_not_ready=Предупреждение: PDF не полностью загружен для печати. +web_fonts_disabled=Веб-шрифты отключены: не удалось задействовать встроенные PDF-шрифты. diff --git a/app/assets/javascripts/publications/locale/sat/viewer.properties b/app/assets/javascripts/publications/locale/sat/viewer.properties new file mode 100644 index 0000000..9cfa1f5 --- /dev/null +++ b/app/assets/javascripts/publications/locale/sat/viewer.properties @@ -0,0 +1,197 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=ᱢᱟᱲᱟᱝ ᱥᱟᱦᱴᱟ +previous_label=ᱢᱟᱲᱟᱝᱟᱜ +next.title=ᱤᱱᱟᱹ ᱛᱟᱭᱚᱢ ᱥᱟᱦᱴᱟ +next_label=ᱤᱱᱟᱹ ᱛᱟᱭᱚᱢ + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=ᱥᱟᱦᱴᱟ +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=ᱨᱮᱭᱟᱜ {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} ᱠᱷᱚᱱ {{pagesCount}}) + +zoom_out.title=ᱦᱤᱲᱤᱧ ᱛᱮᱭᱟᱨ +zoom_out_label=ᱦᱤᱲᱤᱧ ᱛᱮᱭᱟᱨ +zoom_in.title=ᱢᱟᱨᱟᱝ ᱛᱮᱭᱟᱨ +zoom_in_label=ᱢᱟᱨᱟᱝ ᱛᱮᱭᱟᱨ +zoom.title=ᱡᱩᱢ +presentation_mode.title=ᱩᱫᱩᱜ ᱥᱚᱫᱚᱨ ᱚᱵᱚᱥᱛᱟ ᱨᱮ ᱚᱛᱟᱭ ᱢᱮ +presentation_mode_label=ᱩᱫᱩᱜ ᱥᱚᱫᱚᱨ ᱚᱵᱚᱥᱛᱟ ᱨᱮ +open_file.title=ᱨᱮᱫ ᱡᱷᱤᱡᱽ ᱢᱮ +open_file_label=ᱡᱷᱤᱡᱽ ᱢᱮ +print.title=ᱪᱷᱟᱯᱟ +print_label=ᱪᱷᱟᱯᱟ +download.title=ᱰᱟᱩᱱᱞᱚᱰ +download_label=ᱰᱟᱩᱱᱞᱚᱰ +bookmark.title=ᱱᱤᱛᱚᱜᱟᱜ ᱧᱮᱞ (ᱱᱚᱶᱟ ᱡᱷᱚᱨᱠᱟ ᱨᱮ ᱱᱚᱠᱚᱞ ᱟᱨ ᱵᱟᱝ ᱡᱷᱤᱡᱽ ᱢᱮ ) +bookmark_label=ᱱᱤᱛᱚᱜᱟᱜ ᱧᱮᱞ + +# Secondary toolbar and context menu +tools.title=ᱦᱟᱹᱛᱤᱭᱟᱹᱨ ᱠᱚ +tools_label=ᱦᱟᱹᱛᱤᱭᱟᱹᱨ ᱠᱚ +first_page.title=ᱯᱩᱭᱞᱩ ᱥᱟᱦᱴᱟ ᱥᱮᱫ ᱪᱟᱞᱟᱜ ᱢᱮ +first_page_label=ᱯᱩᱭᱞᱩ ᱥᱟᱦᱴᱟ ᱥᱮᱫ ᱪᱟᱞᱟᱜ ᱢᱮ +last_page.title=ᱢᱩᱪᱟᱹᱫ ᱥᱟᱦᱴᱟ ᱥᱮᱫ ᱪᱟᱞᱟᱜ ᱢᱮ +last_page_label=ᱢᱩᱪᱟᱹᱫ ᱥᱟᱦᱴᱟ ᱥᱮᱫ ᱪᱟᱞᱟᱜ ᱢᱮ +page_rotate_cw.title=ᱜᱷᱚᱰᱤ ᱦᱤᱥᱟᱹᱵ ᱛᱮ ᱟᱹᱪᱩᱨ +page_rotate_cw_label=ᱜᱷᱚᱰᱤ ᱦᱤᱥᱟᱹᱵ ᱛᱮ ᱟᱹᱪᱩᱨ +page_rotate_ccw.title=ᱜᱷᱚᱰᱤ ᱦᱤᱥᱟᱹᱵ ᱛᱮ ᱩᱞᱴᱟᱹ ᱟᱹᱪᱩᱨ +page_rotate_ccw_label=ᱜᱷᱚᱰᱤ ᱦᱤᱥᱟᱹᱵ ᱛᱮ ᱩᱞᱴᱟᱹ ᱟᱹᱪᱩᱨ + +cursor_text_select_tool.title=ᱚᱞ ᱵᱟᱪᱷᱟᱣ ᱦᱟᱹᱛᱤᱭᱟᱨ ᱮᱢ ᱪᱷᱚᱭ ᱢᱮ +cursor_text_select_tool_label=ᱚᱞ ᱵᱟᱪᱷᱟᱣ ᱦᱟᱹᱛᱤᱭᱟᱨ +cursor_hand_tool.title=ᱛᱤ ᱦᱟᱹᱛᱤᱭᱟᱨ ᱮᱢ ᱪᱷᱚᱭ ᱢᱮ +cursor_hand_tool_label=ᱛᱤ ᱦᱟᱹᱛᱤᱭᱟᱨ + +scroll_page.title=ᱥᱟᱦᱴᱟ ᱜᱩᱲᱟᱹᱣ ᱵᱮᱵᱷᱟᱨ ᱢᱮ +scroll_page_label=ᱥᱟᱦᱴᱟ ᱜᱩᱲᱟᱹᱣ +scroll_vertical.title=ᱥᱤᱫᱽ ᱜᱩᱲᱟᱹᱣ ᱵᱮᱵᱷᱟᱨ ᱢᱮ +scroll_vertical_label=ᱥᱤᱫᱽ ᱜᱩᱲᱟᱹᱣ +scroll_horizontal.title=ᱜᱤᱛᱤᱡ ᱛᱮ ᱜᱩᱲᱟᱹᱣ ᱵᱮᱵᱷᱟᱨ ᱢᱮ + + +# Document properties dialog box +document_properties_file_name=ᱨᱮᱫᱽ ᱧᱩᱛᱩᱢ : +document_properties_file_size=ᱨᱮᱫᱽ ᱢᱟᱯ : +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} ᱵᱟᱭᱤᱴ ᱠᱚ) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} ᱵᱟᱭᱤᱴ ᱠᱚ) +document_properties_title=ᱧᱩᱛᱩᱢ : +document_properties_author=ᱚᱱᱚᱞᱤᱭᱟᱹ : +document_properties_subject=ᱵᱤᱥᱚᱭ : +document_properties_keywords=ᱠᱟᱹᱴᱷᱤ ᱥᱟᱵᱟᱫᱽ : +document_properties_creation_date=ᱛᱮᱭᱟᱨ ᱢᱟᱸᱦᱤᱛ : +document_properties_modification_date=ᱵᱚᱫᱚᱞ ᱦᱚᱪᱚ ᱢᱟᱹᱦᱤᱛ : +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=ᱵᱮᱱᱟᱣᱤᱡ : +document_properties_producer=PDF ᱛᱮᱭᱟᱨ ᱚᱰᱚᱠᱤᱡ : +document_properties_version=PDF ᱵᱷᱟᱹᱨᱥᱚᱱ : +document_properties_page_count=ᱥᱟᱦᱴᱟ ᱞᱮᱠᱷᱟ : +document_properties_page_size=ᱥᱟᱦᱴᱟ ᱢᱟᱯ : +document_properties_page_size_unit_inches=ᱤᱧᱪ +document_properties_page_size_unit_millimeters=ᱢᱤᱢᱤ +document_properties_page_size_orientation_portrait=ᱯᱚᱴᱨᱮᱴ +document_properties_page_size_orientation_landscape=ᱞᱮᱱᱰᱥᱠᱮᱯ +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=ᱪᱤᱴᱷᱤ +document_properties_page_size_name_legal=ᱠᱟᱹᱱᱩᱱᱤ +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. + +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +document_outline_label=ᱫᱚᱞᱤᱞ ᱛᱮᱭᱟᱨ ᱛᱮᱫ +attachments.title=ᱞᱟᱴᱷᱟ ᱥᱮᱞᱮᱫ ᱠᱚ ᱩᱫᱩᱜᱽ ᱢᱮ +attachments_label=ᱞᱟᱴᱷᱟ ᱥᱮᱞᱮᱫ ᱠᱚ +thumbs.title=ᱪᱤᱛᱟᱹᱨ ᱟᱦᱞᱟ ᱠᱚ ᱩᱫᱩᱜᱽ ᱢᱮ +thumbs_label=ᱪᱤᱛᱟᱹᱨ ᱟᱦᱞᱟ ᱠᱚ +findbar.title=ᱫᱚᱞᱤᱞ ᱨᱮ ᱯᱟᱱᱛᱮ +findbar_label=ᱥᱮᱸᱫᱽᱨᱟᱭ ᱢᱮ + +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title={{page}} ᱥᱟᱦᱴᱟ +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}} ᱥᱟᱦᱴᱟ ᱨᱮᱭᱟᱜ ᱪᱤᱛᱟᱹᱨ ᱟᱦᱞᱟ + +# Find panel button title and messages +find_previous.title=ᱟᱭᱟᱛ ᱦᱤᱸᱥ ᱨᱮᱭᱟᱜ ᱯᱟᱹᱦᱤᱞ ᱥᱮᱫᱟᱜ ᱚᱰᱚᱠ ᱧᱟᱢ ᱢᱮ +find_next.title=ᱟᱭᱟᱛ ᱦᱤᱸᱥ ᱨᱮᱭᱟᱜ ᱤᱱᱟᱹ ᱛᱟᱭᱚᱢ ᱚᱰᱚᱠ ᱧᱟᱢ ᱢᱮ +find_highlight=ᱡᱷᱚᱛᱚ ᱩᱫᱩᱜ ᱨᱟᱠᱟᱵ +find_match_case_label=ᱡᱚᱲ ᱠᱟᱛᱷᱟ +find_reached_top=ᱫᱚᱞᱤᱞ ᱨᱮᱭᱟᱜ ᱪᱤᱴ ᱨᱮ ᱥᱮᱴᱮᱨ, ᱞᱟᱛᱟᱨ ᱠᱷᱚᱱ ᱞᱮᱛᱟᱲ +find_reached_bottom=ᱫᱚᱞᱤᱞ ᱨᱮᱭᱟᱜ ᱢᱩᱪᱟᱹᱫ ᱨᱮ ᱥᱮᱴᱮᱨ, ᱪᱚᱴ ᱠᱷᱚᱱ ᱞᱮᱛᱟᱲ +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_not_found=ᱛᱚᱯᱚᱞ ᱫᱚᱱᱚᱲ ᱵᱟᱝ ᱧᱟᱢ ᱞᱮᱱᱟ + +# Error panel labels +error_more_info=ᱵᱟᱹᱲᱛᱤ ᱞᱟᱹᱭ ᱥᱚᱫᱚᱨ +error_less_info=ᱠᱚᱢ ᱞᱟᱹᱭ ᱥᱚᱫᱚᱨ +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=ᱠᱷᱚᱵᱚᱨ : {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=ᱵᱟᱝ : {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=ᱨᱮᱫᱽ : {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=ᱜᱟᱨ : {{line}} +rendering_error=ᱥᱟᱦᱴᱟ ᱮᱢ ᱡᱚᱦᱚᱠ ᱢᱤᱫ ᱵᱷᱩᱞ ᱦᱩᱭ ᱮᱱᱟ ᱾ + +# Predefined zoom values +page_scale_width=ᱥᱟᱦᱴᱟ ᱚᱥᱟᱨ +page_scale_fit=ᱥᱟᱦᱴᱟ ᱠᱷᱟᱯ +page_scale_auto=ᱟᱡᱼᱟᱡ ᱛᱮ ᱦᱩᱰᱤᱧ ᱞᱟᱹᱴᱩ ᱛᱮᱭᱟᱨ +page_scale_actual=ᱴᱷᱤᱠ ᱢᱟᱨᱟᱝ ᱛᱮᱫ +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. + +# Loading indicator messages +loading_error=PDF ᱞᱟᱫᱮ ᱡᱚᱦᱚᱜ ᱢᱤᱫ ᱵᱷᱩᱞ ᱦᱩᱭ ᱮᱱᱟ ᱾ +invalid_file_error=ᱵᱟᱝ ᱵᱟᱛᱟᱣ ᱟᱨᱵᱟᱝᱠᱷᱟᱱ ᱰᱤᱜᱟᱹᱣ PDF ᱨᱮᱫᱽ ᱾ +missing_file_error=ᱟᱫᱟᱜ PDF ᱨᱮᱫᱽ ᱾ + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} ᱢᱚᱱᱛᱚ ᱮᱢ] +password_label=ᱱᱚᱶᱟ PDF ᱨᱮᱫᱽ ᱡᱷᱤᱡᱽ ᱞᱟᱹᱜᱤᱫ ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱟᱫᱮᱨ ᱢᱮ ᱾ +password_invalid=ᱵᱷᱩᱞ ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱾ ᱫᱟᱭᱟᱠᱟᱛᱮ ᱫᱩᱦᱲᱟᱹ ᱪᱮᱥᱴᱟᱭ ᱢᱮ ᱾ +password_ok=ᱴᱷᱤᱠ + +printing_not_supported=ᱦᱚᱥᱤᱭᱟᱨ : ᱪᱷᱟᱯᱟ ᱱᱚᱣᱟ ᱯᱟᱱᱛᱮᱭᱟᱜ ᱫᱟᱨᱟᱭ ᱛᱮ ᱯᱩᱨᱟᱹᱣ ᱵᱟᱭ ᱜᱚᱲᱚᱣᱟᱠᱟᱱᱟ ᱾ +printing_not_ready=ᱦᱩᱥᱤᱭᱟᱹᱨ : ᱪᱷᱟᱯᱟ ᱞᱟᱹᱜᱤᱫ PDF ᱯᱩᱨᱟᱹ ᱵᱟᱭ ᱞᱟᱫᱮ ᱟᱠᱟᱱᱟ ᱾ +web_fonts_disabled=ᱣᱮᱵᱽ ᱪᱤᱠᱤ ᱵᱟᱝ ᱦᱩᱭ ᱦᱚᱪᱚ ᱠᱟᱱᱟ : ᱵᱷᱤᱛᱤᱨ ᱛᱷᱟᱯᱚᱱ PDF ᱪᱤᱠᱤ ᱵᱮᱵᱷᱟᱨ ᱵᱟᱝ ᱦᱩᱭ ᱠᱮᱭᱟ ᱾ diff --git a/app/assets/javascripts/publications/locale/sc/viewer.properties b/app/assets/javascripts/publications/locale/sc/viewer.properties new file mode 100644 index 0000000..0070222 --- /dev/null +++ b/app/assets/javascripts/publications/locale/sc/viewer.properties @@ -0,0 +1,119 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous_label=S'ischeda chi b'est primu +next_label=Imbeniente + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pàgina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. + +zoom_out.title=Impitica +zoom_out_label=Impitica +zoom_in.title=Ismànnia +zoom_in_label=Ismànnia +zoom.title=Ismànnia +open_file.title=Aberi s'archìviu +open_file_label=Abertu +print.title=Imprenta +print_label=Imprenta +download.title=Iscàrriga +download_label=Iscàrriga + +# Secondary toolbar and context menu +tools.title=Istrumentos +tools_label=Istrumentos + + + + +# Document properties dialog box +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_subject=Ogetu: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_close=Serra + +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_close=Cantzella + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +attachments_label=Alliongiados + +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. + +# Find panel button title and messages +find_previous_label=S'ischeda chi b'est primu +find_next_label=Imbeniente +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. + +# Error panel labels +error_close=Serra +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number + +# Predefined zoom values +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. + +# Loading indicator messages + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +password_invalid=Sa crae no est curreta. Torra·bi a proare. +password_ok=Andat bene +password_cancel=Cantzella + diff --git a/app/assets/javascripts/publications/locale/scn/viewer.properties b/app/assets/javascripts/publications/locale/scn/viewer.properties new file mode 100644 index 0000000..e9a650a --- /dev/null +++ b/app/assets/javascripts/publications/locale/scn/viewer.properties @@ -0,0 +1,101 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. + +zoom_out.title=Cchiù nicu +zoom_out_label=Cchiù nicu +zoom_in.title=Cchiù granni +zoom_in_label=Cchiù granni + +# Secondary toolbar and context menu + + + + +# Document properties dialog box +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Vista web lesta: +document_properties_linearized_yes=Se + +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_close=Sfai + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. + +# Find panel button title and messages +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. + +# Error panel labels +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number + +# Predefined zoom values +page_scale_width=Larghizza dâ pàggina +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. + +# Loading indicator messages + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +password_cancel=Sfai + diff --git a/app/assets/javascripts/publications/locale/sco/viewer.properties b/app/assets/javascripts/publications/locale/sco/viewer.properties new file mode 100644 index 0000000..656f995 --- /dev/null +++ b/app/assets/javascripts/publications/locale/sco/viewer.properties @@ -0,0 +1,248 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Page Afore +previous_label=Previous +next.title=Page Efter +next_label=Neist + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Page +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=o {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} o {{pagesCount}}) + +zoom_out.title=Zoom Oot +zoom_out_label=Zoom Oot +zoom_in.title=Zoom In +zoom_in_label=Zoom In +zoom.title=Zoom +presentation_mode.title=Flit tae Presentation Mode +presentation_mode_label=Presentation Mode +open_file.title=Open File +open_file_label=Open +print.title=Prent +print_label=Prent +download.title=Doonload +download_label=Doonload +bookmark.title=View the noo (copy or open in new windae) +bookmark_label=View The Noo + +# Secondary toolbar and context menu +tools.title=Tools +tools_label=Tools +first_page.title=Gang tae First Page +first_page_label=Gang tae First Page +last_page.title=Gang tae Lest Page +last_page_label=Gang tae Lest Page +page_rotate_cw.title=Rotate Clockwise +page_rotate_cw_label=Rotate Clockwise +page_rotate_ccw.title=Rotate Coonterclockwise +page_rotate_ccw_label=Rotate Coonterclockwise + +cursor_text_select_tool.title=Enable Text Walin Tool +cursor_text_select_tool_label=Text Walin Tool +cursor_hand_tool.title=Enable Haun Tool +cursor_hand_tool_label=Haun Tool + +scroll_vertical.title=Yaise Vertical Scrollin +scroll_vertical_label=Vertical Scrollin +scroll_horizontal.title=Yaise Horizontal Scrollin +scroll_horizontal_label=Horizontal Scrollin +scroll_wrapped.title=Yaise Wrapped Scrollin +scroll_wrapped_label=Wrapped Scrollin + +spread_none.title=Dinnae jyn page spreids +spread_none_label=Nae Spreids +spread_odd.title=Jyn page spreids stertin wi odd-numbered pages +spread_odd_label=Odd Spreids +spread_even.title=Jyn page spreids stertin wi even-numbered pages +spread_even_label=Even Spreids + +# Document properties dialog box +document_properties.title=Document Properties… +document_properties_label=Document Properties… +document_properties_file_name=File nemme: +document_properties_file_size=File size: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Title: +document_properties_author=Author: +document_properties_subject=Subjeck: +document_properties_keywords=Keywirds: +document_properties_creation_date=Date o Makkin: +document_properties_modification_date=Date o Chynges: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Makker: +document_properties_producer=PDF Producer: +document_properties_version=PDF Version: +document_properties_page_count=Page Coont: +document_properties_page_size=Page Size: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=portrait +document_properties_page_size_orientation_landscape=landscape +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Fast Wab View: +document_properties_linearized_yes=Aye +document_properties_linearized_no=Naw +document_properties_close=Sneck + +print_progress_message=Reddin document fur prentin… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Stap + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Toggle Sidebaur +toggle_sidebar_notification2.title=Toggle Sidebaur (document conteens ootline/attachments/layers) +toggle_sidebar_label=Toggle Sidebaur +document_outline.title=Kythe Document Ootline (double-click fur tae oot-fauld/in-fauld aw items) +document_outline_label=Document Ootline +attachments.title=Kythe Attachments +attachments_label=Attachments +layers.title=Kythe Layers (double-click fur tae reset aw layers tae the staunart state) +layers_label=Layers +thumbs.title=Kythe Thumbnails +thumbs_label=Thumbnails +current_outline_item.title=Find Current Ootline Item +current_outline_item_label=Current Ootline Item +findbar.title=Find in Document +findbar_label=Find + +additional_layers=Mair Layers +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Page {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Page {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Thumbnail o Page {{page}} + +# Find panel button title and messages +find_input.title=Find +find_input.placeholder=Find in document… +find_previous.title=Airt oot the last time this phrase occurred +find_previous_label=Previous +find_next.title=Airt oot the neist time this phrase occurs +find_next_label=Neist +find_highlight=Highlicht aw +find_match_case_label=Match case +find_entire_word_label=Hale Wirds +find_reached_top=Raxed tap o document, went on fae the dowp end +find_reached_bottom=Raxed end o document, went on fae the tap +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} o {{total}} match +find_match_count[two]={{current}} o {{total}} matches +find_match_count[few]={{current}} o {{total}} matches +find_match_count[many]={{current}} o {{total}} matches +find_match_count[other]={{current}} o {{total}} matches +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Mair nor {{limit}} matches +find_match_count_limit[one]=Mair nor {{limit}} match +find_match_count_limit[two]=Mair nor {{limit}} matches +find_match_count_limit[few]=Mair nor {{limit}} matches +find_match_count_limit[many]=Mair nor {{limit}} matches +find_match_count_limit[other]=Mair nor {{limit}} matches +find_not_found=Phrase no fund + +# Error panel labels +error_more_info=Mair Information +error_less_info=Less Information +error_close=Sneck +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Message: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=File: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Line: {{line}} +rendering_error=A mishanter tuik place while renderin the page. + +# Predefined zoom values +page_scale_width=Page Width +page_scale_fit=Page Fit +page_scale_auto=Automatic Zoom +page_scale_actual=Actual Size +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Loadin… +loading_error=An mishanter tuik place while loadin the PDF. +invalid_file_error=No suithfest or camshauchlet PDF file. +missing_file_error=PDF file tint. +unexpected_response_error=Unexpectit server repone. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Annotation] +password_label=Inpit the passwird fur tae open this PDF file. +password_invalid=Passwird no suithfest. Gonnae gie it anither shot. +password_ok=OK +password_cancel=Stap + +printing_not_supported=Tak tent: Prentin isnae richt supportit by this stravaiger. +printing_not_ready=Tak tent: The PDF isnae richt loadit fur prentin. +web_fonts_disabled=Wab fonts are disabled: cannae yaise embeddit PDF fonts. diff --git a/app/assets/javascripts/publications/locale/si/viewer.properties b/app/assets/javascripts/publications/locale/si/viewer.properties new file mode 100644 index 0000000..d4514c1 --- /dev/null +++ b/app/assets/javascripts/publications/locale/si/viewer.properties @@ -0,0 +1,201 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=මීට පෙර පිටුව +previous_label=පෙර +next.title=මීළඟ පිටුව +next_label=මීළඟ + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=පිටුව +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. + +zoom_out.title=කුඩා කරන්න +zoom_out_label=කුඩා කරන්න +zoom_in.title=විශාල කරන්න +zoom_in_label=විශාල කරන්න +zoom.title=විශාලණය +presentation_mode.title=ඉදිරිපත්කිරීම් ප්‍රකාරය වෙත මාරුවන්න +presentation_mode_label=ඉදිරිපත්කිරීම් ප්‍රකාරය +open_file.title=ගොනුව විවෘත කරන්න +open_file_label=විවෘත කරන්න +print.title=මුද්‍රණය +print_label=මුද්‍රණය +download.title=බාගන්න +download_label=බාගන්න +bookmark.title=දැනට ඇති දසුන (පිටපත් කරන්න හෝ නව කවුළුවක විවෘත කරන්න) +bookmark_label=දැනට ඇති දසුන + +# Secondary toolbar and context menu +tools.title=මෙවලම් +tools_label=මෙවලම් +first_page.title=මුල් පිටුවට යන්න +first_page_label=මුල් පිටුවට යන්න +last_page.title=අවසන් පිටුවට යන්න +last_page_label=අවසන් පිටුවට යන්න +page_rotate_cw.title=දක්ශිණාවර්තව භ්‍රමණය +page_rotate_cw_label=දක්ශිණාවර්තව භ්‍රමණය +page_rotate_ccw.title=වාමාවර්තව භ්‍රමණය +page_rotate_ccw_label=වාමාවර්තව භ්‍රමණය + +cursor_hand_tool_label=අත් මෙවලම + + + +# Document properties dialog box +document_properties.title=ලේඛන වත්කම්... +document_properties_label=ලේඛන වත්කම්... +document_properties_file_name=ගොනු නම: +document_properties_file_size=ගොනු ප්‍රමාණය: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} බයිට) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} බයිට) +document_properties_title=සිරස්තලය: +document_properties_author=කතෲ +document_properties_subject=මාතෘකාව: +document_properties_keywords=යතුරු වදන්: +document_properties_creation_date=නිර්මිත දිනය: +document_properties_modification_date=වෙනස්කල දිනය: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=නිර්මාපක: +document_properties_producer=PDF නිශ්පාදක: +document_properties_version=PDF නිකුතුව: +document_properties_page_count=පිටු ගණන: +document_properties_page_size=පිටුවේ විශාලත්වය: +document_properties_page_size_unit_inches=අඟල් +document_properties_page_size_unit_millimeters=මිමි +document_properties_page_size_orientation_portrait=සිරස් +document_properties_page_size_orientation_landscape=තිරස් +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}}×{{height}}{{unit}}{{name}}{{orientation}} +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=වේගවත් ජාල දසුන: +document_properties_linearized_yes=ඔව් +document_properties_linearized_no=නැහැ +document_properties_close=වසන්න + +print_progress_message=ලේඛනය මුද්‍රණය සඳහා සූදානම් කරමින්… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=අවලංගු කරන්න + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=පැති තීරුවට මාරුවන්න +toggle_sidebar_label=පැති තීරුවට මාරුවන්න +document_outline_label=ලේඛනයේ පිට මායිම +attachments.title=ඇමිණුම් පෙන්වන්න +attachments_label=ඇමිණුම් +thumbs.title=සිඟිති රූ පෙන්වන්න +thumbs_label=සිඟිති රූ +findbar.title=ලේඛනය තුළ සොයන්න +findbar_label=සොයන්න + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=පිටුව {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=පිටුවෙ සිඟිත රූව {{page}} + +# Find panel button title and messages +find_input.title=සොයන්න +find_previous.title=මේ වාක්‍ය ඛණ්ඩය මීට පෙර යෙදුණු ස්ථානය සොයන්න +find_previous_label=පෙර: +find_next.title=මේ වාක්‍ය ඛණ්ඩය මීළඟට යෙදෙන ස්ථානය සොයන්න +find_next_label=මීළඟ +find_highlight=සියල්ල උද්දීපනය +find_match_case_label=අකුරු ගළපන්න +find_entire_word_label=සම්පූර්ණ වචන +find_reached_top=පිටුවේ ඉහළ කෙළවරට ලගාවිය, පහළ සිට ඉදිරියට යමින් +find_reached_bottom=පිටුවේ පහළ කෙළවරට ලගාවිය, ඉහළ සිට ඉදිරියට යමින් +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit[zero]=ගැලපුම් {{limit}} ට වඩා +find_not_found=ඔබ සෙව් වචන හමු නොවීය + +# Error panel labels +error_more_info=බොහෝ තොරතුරු +error_less_info=අවම තොරතුරු +error_close=වසන්න +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (නිකුතුව: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=පණිවිඩය: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=ගොනුව: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=පේළිය: {{line}} +rendering_error=පිටුව රෙන්ඩර් විමේදි ගැටලුවක් හට ගැනුණි. + +# Predefined zoom values +page_scale_width=පිටුවේ පළල +page_scale_fit=පිටුවට සුදුසු ලෙස +page_scale_auto=ස්වයංක්‍රීය විශාලණය +page_scale_actual=නියමිත ප්‍රමාණය +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=PDF පූරණය විමේදි දෝෂයක් හට ගැනුණි. +invalid_file_error=දූශිත හෝ සාවද්‍ය PDF ගොනුව. +missing_file_error=නැතිවූ PDF ගොනුව. +unexpected_response_error=බලාපොරොත්තු නොවූ සේවාදායක ප්‍රතිචාරය. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} විස්තරය] +password_label=මෙම PDF ගොනුව විවෘත කිරීමට මුරපදය ඇතුළත් කරන්න. +password_invalid=වැරදි මුරපදයක්. කරුණාකර නැවත උත්සහ කරන්න. +password_ok=හරි +password_cancel=එපා + +printing_not_supported=අවවාදයයි: මෙම ගවේශකය මුද්‍රණය සඳහා සම්පූර්ණයෙන් සහය නොදක්වයි. +printing_not_ready=අවවාදයයි: මුද්‍රණය සඳහා PDF සම්පූර්ණයෙන් පූර්ණය වී නොමැත. +web_fonts_disabled=ජාල අකුරු අක්‍රීයයි: තිළැලි PDF අකුරු භාවිත කළ නොහැක. diff --git a/app/assets/javascripts/publications/locale/sk/viewer.properties b/app/assets/javascripts/publications/locale/sk/viewer.properties new file mode 100644 index 0000000..d412d4b --- /dev/null +++ b/app/assets/javascripts/publications/locale/sk/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Predchádzajúca strana +previous_label=Predchádzajúca +next.title=Nasledujúca strana +next_label=Nasledujúca + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Strana +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=z {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} z {{pagesCount}}) + +zoom_out.title=Zmenšiť veľkosť +zoom_out_label=Zmenšiť veľkosť +zoom_in.title=Zväčšiť veľkosť +zoom_in_label=Zväčšiť veľkosť +zoom.title=Nastavenie veľkosti +presentation_mode.title=Prepnúť na režim prezentácie +presentation_mode_label=Režim prezentácie +open_file.title=Otvoriť súbor +open_file_label=Otvoriť +print.title=Tlačiť +print_label=Tlačiť +download.title=Stiahnuť +download_label=Stiahnuť +bookmark.title=Aktuálne zobrazenie (kopírovať alebo otvoriť v novom okne) +bookmark_label=Aktuálne zobrazenie + +# Secondary toolbar and context menu +tools.title=Nástroje +tools_label=Nástroje +first_page.title=Prejsť na prvú stranu +first_page_label=Prejsť na prvú stranu +last_page.title=Prejsť na poslednú stranu +last_page_label=Prejsť na poslednú stranu +page_rotate_cw.title=Otočiť v smere hodinových ručičiek +page_rotate_cw_label=Otočiť v smere hodinových ručičiek +page_rotate_ccw.title=Otočiť proti smeru hodinových ručičiek +page_rotate_ccw_label=Otočiť proti smeru hodinových ručičiek + +cursor_text_select_tool.title=Povoliť výber textu +cursor_text_select_tool_label=Výber textu +cursor_hand_tool.title=Povoliť nástroj ruka +cursor_hand_tool_label=Nástroj ruka + +scroll_page.title=Použiť rolovanie po stránkach +scroll_page_label=Rolovanie po stránkach +scroll_vertical.title=Používať zvislé posúvanie +scroll_vertical_label=Zvislé posúvanie +scroll_horizontal.title=Používať vodorovné posúvanie +scroll_horizontal_label=Vodorovné posúvanie +scroll_wrapped.title=Použiť postupné posúvanie +scroll_wrapped_label=Postupné posúvanie + +spread_none.title=Nezdružovať stránky +spread_none_label=Žiadne združovanie +spread_odd.title=Združí stránky a umiestni nepárne stránky vľavo +spread_odd_label=Združiť stránky (nepárne vľavo) +spread_even.title=Združí stránky a umiestni párne stránky vľavo +spread_even_label=Združiť stránky (párne vľavo) + +# Document properties dialog box +document_properties.title=Vlastnosti dokumentu… +document_properties_label=Vlastnosti dokumentu… +document_properties_file_name=Názov súboru: +document_properties_file_size=Veľkosť súboru: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} kB ({{size_b}} bajtov) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bajtov) +document_properties_title=Názov: +document_properties_author=Autor: +document_properties_subject=Predmet: +document_properties_keywords=Kľúčové slová: +document_properties_creation_date=Dátum vytvorenia: +document_properties_modification_date=Dátum úpravy: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Vytvoril: +document_properties_producer=Tvorca PDF: +document_properties_version=Verzia PDF: +document_properties_page_count=Počet strán: +document_properties_page_size=Veľkosť stránky: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=na výšku +document_properties_page_size_orientation_landscape=na šírku +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=List +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Rýchle Web View: +document_properties_linearized_yes=Áno +document_properties_linearized_no=Nie +document_properties_close=Zavrieť + +print_progress_message=Príprava dokumentu na tlač… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Zrušiť + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Prepnúť bočný panel +toggle_sidebar_notification2.title=Prepnúť bočný panel (dokument obsahuje osnovu/prílohy/vrstvy) +toggle_sidebar_label=Prepnúť bočný panel +document_outline.title=Zobraziť osnovu dokumentu (dvojitým kliknutím rozbalíte/zbalíte všetky položky) +document_outline_label=Osnova dokumentu +attachments.title=Zobraziť prílohy +attachments_label=Prílohy +layers.title=Zobraziť vrstvy (dvojitým kliknutím uvediete všetky vrstvy do pôvodného stavu) +layers_label=Vrstvy +thumbs.title=Zobraziť miniatúry +thumbs_label=Miniatúry +current_outline_item.title=Nájsť aktuálnu položku v osnove +current_outline_item_label=Aktuálna položka v osnove +findbar.title=Hľadať v dokumente +findbar_label=Hľadať + +additional_layers=Ďalšie vrstvy +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Strana {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Strana {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatúra strany {{page}} + +# Find panel button title and messages +find_input.title=Hľadať +find_input.placeholder=Hľadať v dokumente… +find_previous.title=Vyhľadať predchádzajúci výskyt reťazca +find_previous_label=Predchádzajúce +find_next.title=Vyhľadať ďalší výskyt reťazca +find_next_label=Ďalšie +find_highlight=Zvýrazniť všetky +find_match_case_label=Rozlišovať veľkosť písmen +find_match_diacritics_label=Rozlišovať diakritiku +find_entire_word_label=Celé slová +find_reached_top=Bol dosiahnutý začiatok stránky, pokračuje sa od konca +find_reached_bottom=Bol dosiahnutý koniec stránky, pokračuje sa od začiatku +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}}. z {{total}} výsledku +find_match_count[two]={{current}}. z {{total}} výsledkov +find_match_count[few]={{current}}. z {{total}} výsledkov +find_match_count[many]={{current}}. z {{total}} výsledkov +find_match_count[other]={{current}}. z {{total}} výsledkov +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Viac než {{limit}} výsledkov +find_match_count_limit[one]=Viac než {{limit}} výsledok +find_match_count_limit[two]=Viac než {{limit}} výsledky +find_match_count_limit[few]=Viac než {{limit}} výsledky +find_match_count_limit[many]=Viac než {{limit}} výsledkov +find_match_count_limit[other]=Viac než {{limit}} výsledkov +find_not_found=Výraz nebol nájdený + +# Error panel labels +error_more_info=Ďalšie informácie +error_less_info=Menej informácií +error_close=Zavrieť +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (zostavenie: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Správa: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Zásobník: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Súbor: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Riadok: {{line}} +rendering_error=Pri vykresľovaní stránky sa vyskytla chyba. + +# Predefined zoom values +page_scale_width=Na šírku strany +page_scale_fit=Na veľkosť strany +page_scale_auto=Automatická veľkosť +page_scale_actual=Skutočná veľkosť +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}} % + +# Loading indicator messages +loading=Načítava sa… +loading_error=Počas načítavania dokumentu PDF sa vyskytla chyba. +invalid_file_error=Neplatný alebo poškodený súbor PDF. +missing_file_error=Chýbajúci súbor PDF. +unexpected_response_error=Neočakávaná odpoveď zo servera. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anotácia typu {{type}}] +password_label=Ak chcete otvoriť tento súbor PDF, zadajte jeho heslo. +password_invalid=Heslo nie je platné. Skúste to znova. +password_ok=OK +password_cancel=Zrušiť + +printing_not_supported=Upozornenie: tlač nie je v tomto prehliadači plne podporovaná. +printing_not_ready=Upozornenie: súbor PDF nie je plne načítaný pre tlač. +web_fonts_disabled=Webové písma sú vypnuté: nie je možné použiť písma vložené do súboru PDF. diff --git a/app/assets/javascripts/publications/locale/sl/viewer.properties b/app/assets/javascripts/publications/locale/sl/viewer.properties new file mode 100644 index 0000000..723f75d --- /dev/null +++ b/app/assets/javascripts/publications/locale/sl/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Prejšnja stran +previous_label=Nazaj +next.title=Naslednja stran +next_label=Naprej + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Stran +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=od {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} od {{pagesCount}}) + +zoom_out.title=Pomanjšaj +zoom_out_label=Pomanjšaj +zoom_in.title=Povečaj +zoom_in_label=Povečaj +zoom.title=Povečava +presentation_mode.title=Preklopi v način predstavitve +presentation_mode_label=Način predstavitve +open_file.title=Odpri datoteko +open_file_label=Odpri +print.title=Natisni +print_label=Natisni +download.title=Prenesi +download_label=Prenesi +bookmark.title=Trenutni pogled (kopiraj ali odpri v novem oknu) +bookmark_label=Trenutni pogled + +# Secondary toolbar and context menu +tools.title=Orodja +tools_label=Orodja +first_page.title=Pojdi na prvo stran +first_page_label=Pojdi na prvo stran +last_page.title=Pojdi na zadnjo stran +last_page_label=Pojdi na zadnjo stran +page_rotate_cw.title=Zavrti v smeri urnega kazalca +page_rotate_cw_label=Zavrti v smeri urnega kazalca +page_rotate_ccw.title=Zavrti v nasprotni smeri urnega kazalca +page_rotate_ccw_label=Zavrti v nasprotni smeri urnega kazalca + +cursor_text_select_tool.title=Omogoči orodje za izbor besedila +cursor_text_select_tool_label=Orodje za izbor besedila +cursor_hand_tool.title=Omogoči roko +cursor_hand_tool_label=Roka + +scroll_page.title=Uporabi drsenje po strani +scroll_page_label=Drsenje po strani +scroll_vertical.title=Uporabi navpično drsenje +scroll_vertical_label=Navpično drsenje +scroll_horizontal.title=Uporabi vodoravno drsenje +scroll_horizontal_label=Vodoravno drsenje +scroll_wrapped.title=Uporabi ovito drsenje +scroll_wrapped_label=Ovito drsenje + +spread_none.title=Ne združuj razponov strani +spread_none_label=Brez razponov +spread_odd.title=Združuj razpone strani z začetkom pri lihih straneh +spread_odd_label=Lihi razponi +spread_even.title=Združuj razpone strani z začetkom pri sodih straneh +spread_even_label=Sodi razponi + +# Document properties dialog box +document_properties.title=Lastnosti dokumenta … +document_properties_label=Lastnosti dokumenta … +document_properties_file_name=Ime datoteke: +document_properties_file_size=Velikost datoteke: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bajtov) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bajtov) +document_properties_title=Ime: +document_properties_author=Avtor: +document_properties_subject=Tema: +document_properties_keywords=Ključne besede: +document_properties_creation_date=Datum nastanka: +document_properties_modification_date=Datum spremembe: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Ustvaril: +document_properties_producer=Izdelovalec PDF: +document_properties_version=Različica PDF: +document_properties_page_count=Število strani: +document_properties_page_size=Velikost strani: +document_properties_page_size_unit_inches=palcev +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=pokončno +document_properties_page_size_orientation_landscape=ležeče +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Pismo +document_properties_page_size_name_legal=Pravno +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Hitri spletni ogled: +document_properties_linearized_yes=Da +document_properties_linearized_no=Ne +document_properties_close=Zapri + +print_progress_message=Priprava dokumenta na tiskanje … +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}} % +print_progress_close=Prekliči + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Preklopi stransko vrstico +toggle_sidebar_notification2.title=Preklopi stransko vrstico (dokument vsebuje oris/priponke/plasti) +toggle_sidebar_label=Preklopi stransko vrstico +document_outline.title=Prikaži oris dokumenta (dvokliknite za razširitev/strnitev vseh predmetov) +document_outline_label=Oris dokumenta +attachments.title=Prikaži priponke +attachments_label=Priponke +layers.title=Prikaži plasti (dvokliknite za ponastavitev vseh plasti na privzeto stanje) +layers_label=Plasti +thumbs.title=Prikaži sličice +thumbs_label=Sličice +current_outline_item.title=Najdi trenutni predmet orisa +current_outline_item_label=Trenutni predmet orisa +findbar.title=Iskanje po dokumentu +findbar_label=Najdi + +additional_layers=Dodatne plasti +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Stran {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Stran {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Sličica strani {{page}} + +# Find panel button title and messages +find_input.title=Najdi +find_input.placeholder=Najdi v dokumentu … +find_previous.title=Najdi prejšnjo ponovitev iskanega +find_previous_label=Najdi nazaj +find_next.title=Najdi naslednjo ponovitev iskanega +find_next_label=Najdi naprej +find_highlight=Označi vse +find_match_case_label=Razlikuj velike/male črke +find_entire_word_label=Cele besede +find_reached_top=Dosežen začetek dokumenta iz smeri konca +find_reached_bottom=Doseženo konec dokumenta iz smeri začetka +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]=Zadetek {{current}} od {{total}} +find_match_count[two]=Zadetek {{current}} od {{total}} +find_match_count[few]=Zadetek {{current}} od {{total}} +find_match_count[many]=Zadetek {{current}} od {{total}} +find_match_count[other]=Zadetek {{current}} od {{total}} +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Več kot {{limit}} zadetkov +find_match_count_limit[one]=Več kot {{limit}} zadetek +find_match_count_limit[two]=Več kot {{limit}} zadetka +find_match_count_limit[few]=Več kot {{limit}} zadetki +find_match_count_limit[many]=Več kot {{limit}} zadetkov +find_match_count_limit[other]=Več kot {{limit}} zadetkov +find_not_found=Iskanega ni mogoče najti + +# Error panel labels +error_more_info=Več informacij +error_less_info=Manj informacij +error_close=Zapri +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js r{{version}} (graditev: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Sporočilo: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Sklad: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Datoteka: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Vrstica: {{line}} +rendering_error=Med pripravljanjem strani je prišlo do napake! + +# Predefined zoom values +page_scale_width=Širina strani +page_scale_fit=Prilagodi stran +page_scale_auto=Samodejno +page_scale_actual=Dejanska velikost +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}} % + +# Loading indicator messages +loading=Nalaganje … +loading_error=Med nalaganjem datoteke PDF je prišlo do napake. +invalid_file_error=Neveljavna ali pokvarjena datoteka PDF. +missing_file_error=Ni datoteke PDF. +unexpected_response_error=Nepričakovan odgovor strežnika. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Opomba vrste {{type}}] +password_label=Vnesite geslo za odpiranje te datoteke PDF. +password_invalid=Neveljavno geslo. Poskusite znova. +password_ok=V redu +password_cancel=Prekliči + +printing_not_supported=Opozorilo: ta brskalnik ne podpira vseh možnosti tiskanja. +printing_not_ready=Opozorilo: PDF ni v celoti naložen za tiskanje. +web_fonts_disabled=Spletne pisave so onemogočene: vgradnih pisav za PDF ni mogoče uporabiti. diff --git a/app/assets/javascripts/publications/locale/son/viewer.properties b/app/assets/javascripts/publications/locale/son/viewer.properties new file mode 100644 index 0000000..bd5e5ac --- /dev/null +++ b/app/assets/javascripts/publications/locale/son/viewer.properties @@ -0,0 +1,172 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Moo bisante +previous_label=Bisante +next.title=Jinehere moo +next_label=Jine + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Moo +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages={{pagesCount}} ra +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} ka hun {{pagesCount}}) ra + +zoom_out.title=Nakasandi +zoom_out_label=Nakasandi +zoom_in.title=Bebbeerandi +zoom_in_label=Bebbeerandi +zoom.title=Bebbeerandi +presentation_mode.title=Bere cebeyan alhaali +presentation_mode_label=Cebeyan alhaali +open_file.title=Tuku feeri +open_file_label=Feeri +print.title=Kar +print_label=Kar +download.title=Zumandi +download_label=Zumandi +bookmark.title=Sohõ gunarro (bere wala feeri zanfun taaga ra) +bookmark_label=Sohõ gunaroo + +# Secondary toolbar and context menu +tools.title=Goyjinawey +tools_label=Goyjinawey +first_page.title=Koy moo jinaa ga +first_page_label=Koy moo jinaa ga +last_page.title=Koy moo koraa ga +last_page_label=Koy moo koraa ga +page_rotate_cw.title=Kuubi kanbe guma here +page_rotate_cw_label=Kuubi kanbe guma here +page_rotate_ccw.title=Kuubi kanbe wowa here +page_rotate_ccw_label=Kuubi kanbe wowa here + + +# Document properties dialog box +document_properties.title=Takadda mayrawey… +document_properties_label=Takadda mayrawey… +document_properties_file_name=Tuku maa: +document_properties_file_size=Tuku adadu: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb=KB {{size_kb}} (cebsu-ize {{size_b}}) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb=MB {{size_mb}} (cebsu-ize {{size_b}}) +document_properties_title=Tiiramaa: +document_properties_author=Hantumkaw: +document_properties_subject=Dalil: +document_properties_keywords=Kufalkalimawey: +document_properties_creation_date=Teeyan han: +document_properties_modification_date=Barmayan han: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Teekaw: +document_properties_producer=PDF berandikaw: +document_properties_version=PDF dumi: +document_properties_page_count=Moo hinna: +document_properties_close=Daabu + +print_progress_message=Goo ma takaddaa soolu k'a kar se… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Naŋ + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Kanjari ceraw zuu +toggle_sidebar_label=Kanjari ceraw zuu +document_outline.title=Takaddaa korfur alhaaloo cebe (naagu cee hinka ka haya-izey kul hayandi/kankamandi) +document_outline_label=Takadda filla-boŋ +attachments.title=Hangarey cebe +attachments_label=Hangarey +thumbs.title=Kabeboy biyey cebe +thumbs_label=Kabeboy biyey +findbar.title=Ceeci takaddaa ra +findbar_label=Ceeci + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title={{page}} moo +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Kabeboy bii {{page}} moo še + +# Find panel button title and messages +find_input.title=Ceeci +find_input.placeholder=Ceeci takaddaa ra… +find_previous.title=Kalimaɲaŋoo bangayri bisantaa ceeci +find_previous_label=Bisante +find_next.title=Kalimaɲaŋoo hiino bangayroo ceeci +find_next_label=Jine +find_highlight=Ikul šilbay +find_match_case_label=Harfu-beeriyan hawgay +find_reached_top=A too moŋoo boŋoo, koy jine ka šinitin nda cewoo +find_reached_bottom=A too moɲoo cewoo, koy jine šintioo ga +find_not_found=Kalimaɲaa mana duwandi + +# Error panel labels +error_more_info=Alhabar tontoni +error_less_info=Alhabar tontoni +error_close=Daabu +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Alhabar: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Dekeri: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Tuku: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Žeeri: {{line}} +rendering_error=Firka bangay kaŋ moɲoo goo ma willandi. + +# Predefined zoom values +page_scale_width=Mooo hayyan +page_scale_fit=Moo sawayan +page_scale_auto=Boŋše azzaati barmayyan +page_scale_actual=Adadu cimi +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=Firka bangay kaŋ PDF goo ma zumandi. +invalid_file_error=PDF tuku laala wala laybante. +missing_file_error=PDF tuku kumante. +unexpected_response_error=Manti feršikaw tuuruyan maatante. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt={{type}} maasa-caw] +password_label=Šennikufal dam ka PDF tukoo woo feeri. +password_invalid=Šennikufal laalo. Ceeci koyne taare. +password_ok=Ayyo +password_cancel=Naŋ + +printing_not_supported=Yaamar: Karyan ši tee ka timme nda ceecikaa woo. +printing_not_ready=Yaamar: PDF ši zunbu ka timme karyan še. +web_fonts_disabled=Interneti šigirawey kay: ši hin ka goy nda PDF šigira hurantey. diff --git a/app/assets/javascripts/publications/locale/sq/viewer.properties b/app/assets/javascripts/publications/locale/sq/viewer.properties new file mode 100644 index 0000000..3ff4e4d --- /dev/null +++ b/app/assets/javascripts/publications/locale/sq/viewer.properties @@ -0,0 +1,244 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Faqja e Mëparshme +previous_label=E mëparshmja +next.title=Faqja Pasuese +next_label=Pasuesja + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Faqe +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=nga {{pagesCount}} gjithsej +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} nga {{pagesCount}}) + +zoom_out.title=Zvogëlojeni +zoom_out_label=Zvogëlojeni +zoom_in.title=Zmadhojeni +zoom_in_label=Zmadhojini +zoom.title=Zoom +presentation_mode.title=Kalo te Mënyra Paraqitje +presentation_mode_label=Mënyra Paraqitje +open_file.title=Hapni Kartelë +open_file_label=Hape +print.title=Shtypje +print_label=Shtype +download.title=Shkarkim +download_label=Shkarkoje +bookmark.title=Pamja e tanishme (kopjojeni ose hapeni në dritare të re) +bookmark_label=Pamja e Tanishme + +# Secondary toolbar and context menu +tools.title=Mjete +tools_label=Mjete +first_page.title=Kaloni te Faqja e Parë +first_page_label=Kaloni te Faqja e Parë +last_page.title=Kaloni te Faqja e Fundit +last_page_label=Kaloni te Faqja e Fundit +page_rotate_cw.title=Rrotullojeni Në Kahun Orar +page_rotate_cw_label=Rrotulloje Në Kahun Orar +page_rotate_ccw.title=Rrotullojeni Në Kahun Kundërorar +page_rotate_ccw_label=Rrotulloje Në Kahun Kundërorar + +cursor_text_select_tool.title=Aktivizo Mjet Përzgjedhjeje Teksti +cursor_text_select_tool_label=Mjet Përzgjedhjeje Teksti +cursor_hand_tool.title=Aktivizo Mjetin Dorë +cursor_hand_tool_label=Mjeti Dorë + +scroll_page.title=Përdor Rrëshqitje Në Faqe +scroll_page_label=Rrëshqitje Në Faqe +scroll_vertical.title=Përdor Rrëshqitje Vertikale +scroll_vertical_label=Rrëshqitje Vertikale +scroll_horizontal.title=Përdor Rrëshqitje Horizontale +scroll_horizontal_label=Rrëshqitje Horizontale +scroll_wrapped.title=Përdor Rrëshqitje Me Mbështjellje +scroll_wrapped_label=Rrëshqitje Me Mbështjellje + + +# Document properties dialog box +document_properties.title=Veti Dokumenti… +document_properties_label=Veti Dokumenti… +document_properties_file_name=Emër kartele: +document_properties_file_size=Madhësi kartele: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bajte) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bajte) +document_properties_title=Titull: +document_properties_author=Autor: +document_properties_subject=Subjekt: +document_properties_keywords=Fjalëkyçe: +document_properties_creation_date=Datë Krijimi: +document_properties_modification_date=Datë Ndryshimi: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Krijues: +document_properties_producer=Prodhues PDF-je: +document_properties_version=Version PDF-je: +document_properties_page_count=Numër Faqesh: +document_properties_page_size=Madhësi Faqeje: +document_properties_page_size_unit_inches=inç +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=portret +document_properties_page_size_orientation_landscape=së gjeri +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Parje e Shpjetë në Web: +document_properties_linearized_yes=Po +document_properties_linearized_no=Jo +document_properties_close=Mbylleni + +print_progress_message=Po përgatitet dokumenti për shtypje… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Anuloje + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Shfaqni/Fshihni Anështyllën +toggle_sidebar_notification2.title=Hap/Mbyll Anështylë (dokumenti përmban përvijim/nashkëngjitje/shtresa) +toggle_sidebar_label=Shfaq/Fshih Anështyllën +document_outline.title=Shfaqni Përvijim Dokumenti (dyklikoni që të shfaqen/fshihen krejt elementët) +document_outline_label=Përvijim Dokumenti +attachments.title=Shfaqni Bashkëngjitje +attachments_label=Bashkëngjitje +layers.title=Shfaq Shtresa (dyklikoni që të rikthehen krejt shtresat në gjendjen e tyre parazgjedhje) +layers_label=Shtresa +thumbs.title=Shfaqni Miniatura +thumbs_label=Miniatura +current_outline_item.title=Gjej Objektin e Tanishëm të Përvijuar +current_outline_item_label=Objekt i Tanishëm i Përvijuar +findbar.title=Gjeni në Dokument +findbar_label=Gjej + +additional_layers=Shtresa Shtesë +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Faqja {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Faqja {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniaturë e Faqes {{page}} + +# Find panel button title and messages +find_input.title=Gjej +find_input.placeholder=Gjeni në dokument… +find_previous.title=Gjeni hasjen e mëparshme të togfjalëshit +find_previous_label=E mëparshmja +find_next.title=Gjeni hasjen pasuese të togfjalëshit +find_next_label=Pasuesja +find_highlight=Theksoji të tëra +find_match_case_label=Siç është shkruar +find_entire_word_label=Krejt fjalët +find_reached_top=U mbërrit në krye të dokumentit, vazhduar prej fundit +find_reached_bottom=U mbërrit në fund të dokumentit, vazhduar prej kreut +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} nga {{total}} përputhje gjithsej +find_match_count[two]={{current}} nga {{total}} përputhje gjithsej +find_match_count[few]={{current}} nga {{total}} përputhje gjithsej +find_match_count[many]={{current}} nga {{total}} përputhje gjithsej +find_match_count[other]={{current}} nga {{total}} përputhje gjithsej +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Më shumë se {{limit}} përputhje +find_match_count_limit[one]=Më shumë se {{limit}} përputhje +find_match_count_limit[two]=Më shumë se {{limit}} përputhje +find_match_count_limit[few]=Më shumë se {{limit}} përputhje +find_match_count_limit[many]=Më shumë se {{limit}} përputhje +find_match_count_limit[other]=Më shumë se {{limit}} përputhje +find_not_found=Togfjalësh që s’gjendet + +# Error panel labels +error_more_info=Më Tepër të Dhëna +error_less_info=Më Pak të Dhëna +error_close=Mbylleni +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mesazh: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Kartelë: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Rresht: {{line}} +rendering_error=Ndodhi një gabim gjatë riprodhimit të faqes. + +# Predefined zoom values +page_scale_width=Gjerësi Faqeje +page_scale_fit=Sa Nxë Faqja +page_scale_auto=Zoom i Vetvetishëm +page_scale_actual=Madhësia Faktike +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Po ngarkohet… +loading_error=Ndodhi një gabim gjatë ngarkimit të PDF-së. +invalid_file_error=Kartelë PDF e pavlefshme ose e dëmtuar. +missing_file_error=Kartelë PDF që mungon. +unexpected_response_error=Përgjigje shërbyesi e papritur. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Nënvizim {{type}}] +password_label=Jepni fjalëkalimin që të hapet kjo kartelë PDF. +password_invalid=Fjalëkalim i pavlefshëm. Ju lutemi, riprovoni. +password_ok=OK +password_cancel=Anuloje + +printing_not_supported=Kujdes: Shtypja s’mbulohet plotësisht nga ky shfletues. +printing_not_ready=Kujdes: PDF-ja s’është ngarkuar plotësisht që ta shtypni. +web_fonts_disabled=Shkronjat Web janë të çaktivizuara: s’arrihet të përdoren shkronja të trupëzuara në PDF. diff --git a/app/assets/javascripts/publications/locale/sr/viewer.properties b/app/assets/javascripts/publications/locale/sr/viewer.properties new file mode 100644 index 0000000..9f997f9 --- /dev/null +++ b/app/assets/javascripts/publications/locale/sr/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Претходна страница +previous_label=Претходна +next.title=Следећа страница +next_label=Следећа + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Страница +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=од {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} од {{pagesCount}}) + +zoom_out.title=Умањи +zoom_out_label=Умањи +zoom_in.title=Увеличај +zoom_in_label=Увеличај +zoom.title=Увеличавање +presentation_mode.title=Промени на приказ у режиму презентације +presentation_mode_label=Режим презентације +open_file.title=Отвори датотеку +open_file_label=Отвори +print.title=Штампај +print_label=Штампај +download.title=Преузми +download_label=Преузми +bookmark.title=Тренутни приказ (копирај или отвори у новом прозору) +bookmark_label=Тренутни приказ + +# Secondary toolbar and context menu +tools.title=Алатке +tools_label=Алатке +first_page.title=Иди на прву страницу +first_page_label=Иди на прву страницу +last_page.title=Иди на последњу страницу +last_page_label=Иди на последњу страницу +page_rotate_cw.title=Ротирај у смеру казаљке на сату +page_rotate_cw_label=Ротирај у смеру казаљке на сату +page_rotate_ccw.title=Ротирај у смеру супротном од казаљке на сату +page_rotate_ccw_label=Ротирај у смеру супротном од казаљке на сату + +cursor_text_select_tool.title=Омогући алат за селектовање текста +cursor_text_select_tool_label=Алат за селектовање текста +cursor_hand_tool.title=Омогући алат за померање +cursor_hand_tool_label=Алат за померање + +scroll_vertical.title=Користи вертикално скроловање +scroll_vertical_label=Вертикално скроловање +scroll_horizontal.title=Користи хоризонтално скроловање +scroll_horizontal_label=Хоризонтално скроловање +scroll_wrapped.title=Користи скроловање по омоту +scroll_wrapped_label=Скроловање по омоту + +spread_none.title=Немој спајати ширења страница +spread_none_label=Без распростирања +spread_odd.title=Споји ширења страница које почињу непарним бројем +spread_odd_label=Непарна распростирања +spread_even.title=Споји ширења страница које почињу парним бројем +spread_even_label=Парна распростирања + +# Document properties dialog box +document_properties.title=Параметри документа… +document_properties_label=Параметри документа… +document_properties_file_name=Име датотеке: +document_properties_file_size=Величина датотеке: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} B) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} B) +document_properties_title=Наслов: +document_properties_author=Аутор: +document_properties_subject=Тема: +document_properties_keywords=Кључне речи: +document_properties_creation_date=Датум креирања: +document_properties_modification_date=Датум модификације: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Стваралац: +document_properties_producer=PDF произвођач: +document_properties_version=PDF верзија: +document_properties_page_count=Број страница: +document_properties_page_size=Величина странице: +document_properties_page_size_unit_inches=ин +document_properties_page_size_unit_millimeters=мм +document_properties_page_size_orientation_portrait=усправно +document_properties_page_size_orientation_landscape=водоравно +document_properties_page_size_name_a3=А3 +document_properties_page_size_name_a4=А4 +document_properties_page_size_name_letter=Слово +document_properties_page_size_name_legal=Права +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Брз веб приказ: +document_properties_linearized_yes=Да +document_properties_linearized_no=Не +document_properties_close=Затвори + +print_progress_message=Припремам документ за штампање… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Откажи + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Прикажи додатну палету +toggle_sidebar_notification2.title=Прикажи/сакриј бочну траку (документ садржи контуру/прилоге/слојеве) +toggle_sidebar_label=Прикажи додатну палету +document_outline.title=Прикажи структуру документа (двоструким кликом проширујете/скупљате све ставке) +document_outline_label=Контура документа +attachments.title=Прикажи прилоге +attachments_label=Прилози +layers.title=Прикажи слојеве (дупли клик за враћање свих слојева у подразумевано стање) +layers_label=Слојеви +thumbs.title=Прикажи сличице +thumbs_label=Сличице +current_outline_item.title=Пронађите тренутни елемент структуре +current_outline_item_label=Тренутна контура +findbar.title=Пронађи у документу +findbar_label=Пронађи + +additional_layers=Додатни слојеви +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Страница {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Страница {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Сличица од странице {{page}} + +# Find panel button title and messages +find_input.title=Пронађи +find_input.placeholder=Пронађи у документу… +find_previous.title=Пронађи претходно појављивање фразе +find_previous_label=Претходна +find_next.title=Пронађи следеће појављивање фразе +find_next_label=Следећа +find_highlight=Истакнути све +find_match_case_label=Подударања +find_entire_word_label=Целе речи +find_reached_top=Достигнут врх документа, наставио са дна +find_reached_bottom=Достигнуто дно документа, наставио са врха +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} од {{total}} одговара +find_match_count[two]={{current}} од {{total}} одговара +find_match_count[few]={{current}} од {{total}} одговара +find_match_count[many]={{current}} од {{total}} одговара +find_match_count[other]={{current}} од {{total}} одговара +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Више од {{limit}} одговара +find_match_count_limit[one]=Више од {{limit}} одговара +find_match_count_limit[two]=Више од {{limit}} одговара +find_match_count_limit[few]=Више од {{limit}} одговара +find_match_count_limit[many]=Више од {{limit}} одговара +find_match_count_limit[other]=Више од {{limit}} одговара +find_not_found=Фраза није пронађена + +# Error panel labels +error_more_info=Више информација +error_less_info=Мање информација +error_close=Затвори +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Порука: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Стек: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Датотека: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Линија: {{line}} +rendering_error=Дошло је до грешке приликом рендеровања ове странице. + +# Predefined zoom values +page_scale_width=Ширина странице +page_scale_fit=Прилагоди страницу +page_scale_auto=Аутоматско увеличавање +page_scale_actual=Стварна величина +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Учитавање… +loading_error=Дошло је до грешке приликом учитавања PDF-а. +invalid_file_error=PDF датотека је неважећа или је оштећена. +missing_file_error=Недостаје PDF датотека. +unexpected_response_error=Неочекиван одговор од сервера. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} коментар] +password_label=Унесите лозинку да бисте отворили овај PDF докуменат. +password_invalid=Неисправна лозинка. Покушајте поново. +password_ok=У реду +password_cancel=Откажи + +printing_not_supported=Упозорење: Штампање није у потпуности подржано у овом прегледачу. +printing_not_ready=Упозорење: PDF није у потпуности учитан за штампу. +web_fonts_disabled=Веб фонтови су онемогућени: не могу користити уграђене PDF фонтове. +# LOCALIZATION NOTE (unsupported_feature_signatures): Should contain the same +# exact string as in the `chrome.properties` file. diff --git a/app/assets/javascripts/publications/locale/sv-SE/viewer.properties b/app/assets/javascripts/publications/locale/sv-SE/viewer.properties new file mode 100644 index 0000000..dc4f480 --- /dev/null +++ b/app/assets/javascripts/publications/locale/sv-SE/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Föregående sida +previous_label=Föregående +next.title=Nästa sida +next_label=Nästa + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Sida +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=av {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} av {{pagesCount}}) + +zoom_out.title=Zooma ut +zoom_out_label=Zooma ut +zoom_in.title=Zooma in +zoom_in_label=Zooma in +zoom.title=Zoom +presentation_mode.title=Byt till presentationsläge +presentation_mode_label=Presentationsläge +open_file.title=Öppna fil +open_file_label=Öppna +print.title=Skriv ut +print_label=Skriv ut +download.title=Hämta +download_label=Hämta +bookmark.title=Aktuell vy (kopiera eller öppna i nytt fönster) +bookmark_label=Aktuell vy + +# Secondary toolbar and context menu +tools.title=Verktyg +tools_label=Verktyg +first_page.title=Gå till första sidan +first_page_label=Gå till första sidan +last_page.title=Gå till sista sidan +last_page_label=Gå till sista sidan +page_rotate_cw.title=Rotera medurs +page_rotate_cw_label=Rotera medurs +page_rotate_ccw.title=Rotera moturs +page_rotate_ccw_label=Rotera moturs + +cursor_text_select_tool.title=Aktivera textmarkeringsverktyg +cursor_text_select_tool_label=Textmarkeringsverktyg +cursor_hand_tool.title=Aktivera handverktyg +cursor_hand_tool_label=Handverktyg + +scroll_page.title=Använd sidrullning +scroll_page_label=Sidrullning +scroll_vertical.title=Använd vertikal rullning +scroll_vertical_label=Vertikal rullning +scroll_horizontal.title=Använd horisontell rullning +scroll_horizontal_label=Horisontell rullning +scroll_wrapped.title=Använd överlappande rullning +scroll_wrapped_label=Överlappande rullning + +spread_none.title=Visa enkelsidor +spread_none_label=Enkelsidor +spread_odd.title=Visa uppslag med olika sidnummer till vänster +spread_odd_label=Uppslag med framsida +spread_even.title=Visa uppslag med lika sidnummer till vänster +spread_even_label=Uppslag utan framsida + +# Document properties dialog box +document_properties.title=Dokumentegenskaper… +document_properties_label=Dokumentegenskaper… +document_properties_file_name=Filnamn: +document_properties_file_size=Filstorlek: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} kB ({{size_b}} byte) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} byte) +document_properties_title=Titel: +document_properties_author=Författare: +document_properties_subject=Ämne: +document_properties_keywords=Nyckelord: +document_properties_creation_date=Skapades: +document_properties_modification_date=Ändrades: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Skapare: +document_properties_producer=PDF-producent: +document_properties_version=PDF-version: +document_properties_page_count=Sidantal: +document_properties_page_size=Pappersstorlek: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=porträtt +document_properties_page_size_orientation_landscape=landskap +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Snabb webbvisning: +document_properties_linearized_yes=Ja +document_properties_linearized_no=Nej +document_properties_close=Stäng + +print_progress_message=Förbereder sidor för utskrift… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Avbryt + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Visa/dölj sidofält +toggle_sidebar_notification2.title=Växla sidofält (dokumentet innehåller dokumentstruktur/bilagor/lager) +toggle_sidebar_label=Visa/dölj sidofält +document_outline.title=Visa dokumentdisposition (dubbelklicka för att expandera/komprimera alla objekt) +document_outline_label=Dokumentöversikt +attachments.title=Visa Bilagor +attachments_label=Bilagor +layers.title=Visa lager (dubbelklicka för att återställa alla lager till standardläge) +layers_label=Lager +thumbs.title=Visa miniatyrer +thumbs_label=Miniatyrer +current_outline_item.title=Hitta aktuellt dispositionsobjekt +current_outline_item_label=Aktuellt dispositionsobjekt +findbar.title=Sök i dokument +findbar_label=Sök + +additional_layers=Ytterligare lager +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Sida {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Sida {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatyr av sida {{page}} + +# Find panel button title and messages +find_input.title=Sök +find_input.placeholder=Sök i dokument… +find_previous.title=Hitta föregående förekomst av frasen +find_previous_label=Föregående +find_next.title=Hitta nästa förekomst av frasen +find_next_label=Nästa +find_highlight=Markera alla +find_match_case_label=Matcha versal/gemen +find_match_diacritics_label=Matcha diakritiska tecken +find_entire_word_label=Hela ord +find_reached_top=Nådde början av dokumentet, började från slutet +find_reached_bottom=Nådde slutet på dokumentet, började från början +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} av {{total}} träff +find_match_count[two]={{current}} av {{total}} träffar +find_match_count[few]={{current}} av {{total}} träffar +find_match_count[many]={{current}} av {{total}} träffar +find_match_count[other]={{current}} av {{total}} träffar +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Mer än {{limit}} träffar +find_match_count_limit[one]=Mer än {{limit}} träff +find_match_count_limit[two]=Mer än {{limit}} träffar +find_match_count_limit[few]=Mer än {{limit}} träffar +find_match_count_limit[many]=Mer än {{limit}} träffar +find_match_count_limit[other]=Mer än {{limit}} träffar +find_not_found=Frasen hittades inte + +# Error panel labels +error_more_info=Mer information +error_less_info=Mindre information +error_close=Stäng +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Meddelande: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fil: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Rad: {{line}} +rendering_error=Ett fel uppstod vid visning av sidan. + +# Predefined zoom values +page_scale_width=Sidbredd +page_scale_fit=Anpassa sida +page_scale_auto=Automatisk zoom +page_scale_actual=Verklig storlek +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Laddar… +loading_error=Ett fel uppstod vid laddning av PDF-filen. +invalid_file_error=Ogiltig eller korrupt PDF-fil. +missing_file_error=Saknad PDF-fil. +unexpected_response_error=Oväntat svar från servern. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}} {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}}-annotering] +password_label=Skriv in lösenordet för att öppna PDF-filen. +password_invalid=Ogiltigt lösenord. Försök igen. +password_ok=OK +password_cancel=Avbryt + +printing_not_supported=Varning: Utskrifter stöds inte helt av den här webbläsaren. +printing_not_ready=Varning: PDF:en är inte klar för utskrift. +web_fonts_disabled=Webbtypsnitt är inaktiverade: kan inte använda inbäddade PDF-typsnitt. diff --git a/app/assets/javascripts/publications/locale/szl/viewer.properties b/app/assets/javascripts/publications/locale/szl/viewer.properties new file mode 100644 index 0000000..1af405d --- /dev/null +++ b/app/assets/javascripts/publications/locale/szl/viewer.properties @@ -0,0 +1,244 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Piyrwyjszo strōna +previous_label=Piyrwyjszo +next.title=Nastympno strōna +next_label=Dalij + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Strōna +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=ze {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} ze {{pagesCount}}) + +zoom_out.title=Zmyńsz +zoom_out_label=Zmyńsz +zoom_in.title=Zwiynksz +zoom_in_label=Zwiynksz +zoom.title=Srogość +presentation_mode.title=Przełōncz na tryb prezyntacyje +presentation_mode_label=Tryb prezyntacyje +open_file.title=Ôdewrzij zbiōr +open_file_label=Ôdewrzij +print.title=Durkuj +print_label=Durkuj +download.title=Pobier +download_label=Pobier +bookmark.title=Aktualny widok (kopiuj abo ôdewrzij w nowym ôknie) +bookmark_label=Aktualny widok + +# Secondary toolbar and context menu +tools.title=Noczynia +tools_label=Noczynia +first_page.title=Idź ku piyrszyj strōnie +first_page_label=Idź ku piyrszyj strōnie +last_page.title=Idź ku ôstatnij strōnie +last_page_label=Idź ku ôstatnij strōnie +page_rotate_cw.title=Zwyrtnij w prawo +page_rotate_cw_label=Zwyrtnij w prawo +page_rotate_ccw.title=Zwyrtnij w lewo +page_rotate_ccw_label=Zwyrtnij w lewo + +cursor_text_select_tool.title=Załōncz noczynie ôbiyranio tekstu +cursor_text_select_tool_label=Noczynie ôbiyranio tekstu +cursor_hand_tool.title=Załōncz noczynie rōnczka +cursor_hand_tool_label=Noczynie rōnczka + +scroll_vertical.title=Używej piōnowego przewijanio +scroll_vertical_label=Piōnowe przewijanie +scroll_horizontal.title=Używej poziōmego przewijanio +scroll_horizontal_label=Poziōme przewijanie +scroll_wrapped.title=Używej szichtowego przewijanio +scroll_wrapped_label=Szichtowe przewijanie + +spread_none.title=Niy dowej strōn w widoku po dwie +spread_none_label=Po jednyj strōnie +spread_odd.title=Dej strōny po dwie: niyparzysto i parzysto +spread_odd_label=Niyparzysto i parzysto +spread_even.title=Dej strōny po dwie: parzysto i niyparzysto +spread_even_label=Parzysto i niyparzysto + +# Document properties dialog box +document_properties.title=Włosności dokumyntu… +document_properties_label=Włosności dokumyntu… +document_properties_file_name=Miano zbioru: +document_properties_file_size=Srogość zbioru: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} B) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} B) +document_properties_title=Tytuł: +document_properties_author=Autōr: +document_properties_subject=Tymat: +document_properties_keywords=Kluczowe słowa: +document_properties_creation_date=Data zrychtowanio: +document_properties_modification_date=Data zmiany: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Zrychtowane ôd: +document_properties_producer=PDF ôd: +document_properties_version=Wersyjo PDF: +document_properties_page_count=Wielość strōn: +document_properties_page_size=Srogość strōny: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=piōnowo +document_properties_page_size_orientation_landscape=poziōmo +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Gibki necowy podglōnd: +document_properties_linearized_yes=Ja +document_properties_linearized_no=Niy +document_properties_close=Zawrzij + +print_progress_message=Rychtowanie dokumyntu do durku… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Pociep + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Przełōncz posek na rancie +toggle_sidebar_notification2.title=Przełōncz posek na rancie (dokumynt mo struktura/przidowki/warstwy) +toggle_sidebar_label=Przełōncz posek na rancie +document_outline.title=Pokoż struktura dokumyntu (tuplowane klikniyncie rozszyrzo/swijo wszyskie elymynta) +document_outline_label=Struktura dokumyntu +attachments.title=Pokoż przidowki +attachments_label=Przidowki +layers.title=Pokoż warstwy (tuplowane klikniyncie resetuje wszyskie warstwy do bazowego stanu) +layers_label=Warstwy +thumbs.title=Pokoż miniatury +thumbs_label=Miniatury +findbar.title=Znojdź w dokumyncie +findbar_label=Znojdź + +additional_layers=Nadbytnie warstwy +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Strōna {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura strōny {{page}} + +# Find panel button title and messages +find_input.title=Znojdź +find_input.placeholder=Znojdź w dokumyncie… +find_previous.title=Znojdź piyrwyjsze pokozanie sie tyj frazy +find_previous_label=Piyrwyjszo +find_next.title=Znojdź nastympne pokozanie sie tyj frazy +find_next_label=Dalij +find_highlight=Zaznacz wszysko +find_match_case_label=Poznowej srogość liter +find_entire_word_label=Cołke słowa +find_reached_top=Doszło do samego wiyrchu strōny, dalij ôd spodku +find_reached_bottom=Doszło do samego spodku strōny, dalij ôd wiyrchu +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} ze {{total}}, co pasujōm +find_match_count[two]={{current}} ze {{total}}, co pasujōm +find_match_count[few]={{current}} ze {{total}}, co pasujōm +find_match_count[many]={{current}} ze {{total}}, co pasujōm +find_match_count[other]={{current}} ze {{total}}, co pasujōm +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(total) ]} +find_match_count_limit[zero]=Wiyncyj jak {{limit}}, co pasujōm +find_match_count_limit[one]=Wiyncyj jak {{limit}}, co pasuje +find_match_count_limit[two]=Wiyncyj jak {{limit}}, co pasujōm +find_match_count_limit[few]=Wiyncyj jak {{limit}}, co pasujōm +find_match_count_limit[many]=Wiyncyj jak {{limit}}, co pasujōm +find_match_count_limit[other]=Wiyncyj jak {{limit}}, co pasujōm +find_not_found=Fraza niy znaleziōno + +# Error panel labels +error_more_info=Wiyncyj informacyji +error_less_info=Mynij informacyji +error_close=Zawrzij +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Wiadōmość: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Sztapel: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Zbiōr: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linijo: {{line}} +rendering_error=Przi renderowaniu strōny pokozoł sie feler. + +# Predefined zoom values +page_scale_width=Szyrzka strōny +page_scale_fit=Napasowanie strōny +page_scale_auto=Autōmatyczno srogość +page_scale_actual=Aktualno srogość +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading_error=Przi ladowaniu PDFa pokozoł sie feler. +invalid_file_error=Zły abo felerny zbiōr PDF. +missing_file_error=Chybio zbioru PDF. +unexpected_response_error=Niyôczekowano ôdpowiydź serwera. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anotacyjo typu {{type}}] +password_label=Wkludź hasło, coby ôdewrzić tyn zbiōr PDF. +password_invalid=Hasło je złe. Sprōbuj jeszcze roz. +password_ok=OK +password_cancel=Pociep + +printing_not_supported=Pozōr: Ta przeglōndarka niy cołkiym ôbsuguje durk. +printing_not_ready=Pozōr: Tyn PDF niy ma za tela zaladowany do durku. +web_fonts_disabled=Necowe fōnty sōm zastawiōne: niy idzie użyć wkludzōnych fōntōw PDF. diff --git a/app/assets/javascripts/publications/locale/ta/viewer.properties b/app/assets/javascripts/publications/locale/ta/viewer.properties new file mode 100644 index 0000000..d07a337 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ta/viewer.properties @@ -0,0 +1,193 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=முந்தைய பக்கம் +previous_label=முந்தையது +next.title=அடுத்த பக்கம் +next_label=அடுத்து + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=பக்கம் +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages={{pagesCount}} இல் +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages={{pagesCount}}) இல் ({{pageNumber}} + +zoom_out.title=சிறிதாக்கு +zoom_out_label=சிறிதாக்கு +zoom_in.title=பெரிதாக்கு +zoom_in_label=பெரிதாக்கு +zoom.title=பெரிதாக்கு +presentation_mode.title=விளக்ககாட்சி பயன்முறைக்கு மாறு +presentation_mode_label=விளக்ககாட்சி பயன்முறை +open_file.title=கோப்பினை திற +open_file_label=திற +print.title=அச்சிடு +print_label=அச்சிடு +download.title=பதிவிறக்கு +download_label=பதிவிறக்கு +bookmark.title=தற்போதைய காட்சி (புதிய சாளரத்திற்கு நகலெடு அல்லது புதிய சாளரத்தில் திற) +bookmark_label=தற்போதைய காட்சி + +# Secondary toolbar and context menu +tools.title=கருவிகள் +tools_label=கருவிகள் +first_page.title=முதல் பக்கத்திற்கு செல்லவும் +first_page_label=முதல் பக்கத்திற்கு செல்லவும் +last_page.title=கடைசி பக்கத்திற்கு செல்லவும் +last_page_label=கடைசி பக்கத்திற்கு செல்லவும் +page_rotate_cw.title=வலஞ்சுழியாக சுழற்று +page_rotate_cw_label=வலஞ்சுழியாக சுழற்று +page_rotate_ccw.title=இடஞ்சுழியாக சுழற்று +page_rotate_ccw_label=இடஞ்சுழியாக சுழற்று + +cursor_text_select_tool.title=உரைத் தெரிவு கருவியைச் செயல்படுத்து +cursor_text_select_tool_label=உரைத் தெரிவு கருவி +cursor_hand_tool.title=கைக் கருவிக்ச் செயற்படுத்து +cursor_hand_tool_label=கைக்குருவி + +# Document properties dialog box +document_properties.title=ஆவண பண்புகள்... +document_properties_label=ஆவண பண்புகள்... +document_properties_file_name=கோப்பு பெயர்: +document_properties_file_size=கோப்பின் அளவு: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} கிபை ({{size_b}} பைட்டுகள்) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} மெபை ({{size_b}} பைட்டுகள்) +document_properties_title=தலைப்பு: +document_properties_author=எழுதியவர் +document_properties_subject=பொருள்: +document_properties_keywords=முக்கிய வார்த்தைகள்: +document_properties_creation_date=படைத்த தேதி : +document_properties_modification_date=திருத்திய தேதி: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=உருவாக்குபவர்: +document_properties_producer=பிடிஎஃப் தயாரிப்பாளர்: +document_properties_version=PDF பதிப்பு: +document_properties_page_count=பக்க எண்ணிக்கை: +document_properties_page_size=பக்க அளவு: +document_properties_page_size_unit_inches=இதில் +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=நிலைபதிப்பு +document_properties_page_size_orientation_landscape=நிலைபரப்பு +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=கடிதம் +document_properties_page_size_name_legal=சட்டபூர்வ +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +document_properties_close=மூடுக + +print_progress_message=அச்சிடுவதற்கான ஆவணம் தயாராகிறது... +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=ரத்து + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=பக்கப் பட்டியை நிலைமாற்று +toggle_sidebar_label=பக்கப் பட்டியை நிலைமாற்று +document_outline.title=ஆவண அடக்கத்தைக் காட்டு (இருமுறைச் சொடுக்கி அனைத்து உறுப்பிடிகளையும் விரி/சேர்) +document_outline_label=ஆவண வெளிவரை +attachments.title=இணைப்புகளை காண்பி +attachments_label=இணைப்புகள் +thumbs.title=சிறுபடங்களைக் காண்பி +thumbs_label=சிறுபடங்கள் +findbar.title=ஆவணத்தில் கண்டறி +findbar_label=தேடு + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=பக்கம் {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=பக்கத்தின் சிறுபடம் {{page}} + +# Find panel button title and messages +find_input.title=கண்டுபிடி +find_input.placeholder=ஆவணத்தில் கண்டறி… +find_previous.title=இந்த சொற்றொடரின் முந்தைய நிகழ்வை தேடு +find_previous_label=முந்தையது +find_next.title=இந்த சொற்றொடரின் அடுத்த நிகழ்வை தேடு +find_next_label=அடுத்து +find_highlight=அனைத்தையும் தனிப்படுத்து +find_match_case_label=பேரெழுத்தாக்கத்தை உணர் +find_reached_top=ஆவணத்தின் மேல் பகுதியை அடைந்தது, அடிப்பக்கத்திலிருந்து தொடர்ந்தது +find_reached_bottom=ஆவணத்தின் முடிவை அடைந்தது, மேலிருந்து தொடர்ந்தது +find_not_found=சொற்றொடர் காணவில்லை + +# Error panel labels +error_more_info=கூடுதல் தகவல் +error_less_info=குறைந்த தகவல் +error_close=மூடுக +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=செய்தி: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=ஸ்டேக்: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=கோப்பு: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=வரி: {{line}} +rendering_error=இந்தப் பக்கத்தை காட்சிப்படுத்தும் போது ஒரு பிழை ஏற்பட்டது. + +# Predefined zoom values +page_scale_width=பக்க அகலம் +page_scale_fit=பக்கப் பொருத்தம் +page_scale_auto=தானியக்க பெரிதாக்கல் +page_scale_actual=உண்மையான அளவு +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=PDF ஐ ஏற்றும் போது ஒரு பிழை ஏற்பட்டது. +invalid_file_error=செல்லுபடியாகாத அல்லது சிதைந்த PDF கோப்பு. +missing_file_error=PDF கோப்பு காணவில்லை. +unexpected_response_error=சேவகன் பதில் எதிர்பாரதது. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} விளக்கம்] +password_label=இந்த PDF கோப்பை திறக்க கடவுச்சொல்லை உள்ளிடவும். +password_invalid=செல்லுபடியாகாத கடவுச்சொல், தயை செய்து மீண்டும் முயற்சி செய்க. +password_ok=சரி +password_cancel=ரத்து + +printing_not_supported=எச்சரிக்கை: இந்த உலாவி அச்சிடுதலை முழுமையாக ஆதரிக்கவில்லை. +printing_not_ready=எச்சரிக்கை: PDF அச்சிட முழுவதுமாக ஏற்றப்படவில்லை. +web_fonts_disabled=வலை எழுத்துருக்கள் முடக்கப்பட்டுள்ளன: உட்பொதிக்கப்பட்ட PDF எழுத்துருக்களைப் பயன்படுத்த முடியவில்லை. diff --git a/app/assets/javascripts/publications/locale/te/viewer.properties b/app/assets/javascripts/publications/locale/te/viewer.properties new file mode 100644 index 0000000..6cd691a --- /dev/null +++ b/app/assets/javascripts/publications/locale/te/viewer.properties @@ -0,0 +1,217 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=మునుపటి పేజీ +previous_label=క్రితం +next.title=తరువాత పేజీ +next_label=తరువాత + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=పేజీ +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=మొత్తం {{pagesCount}} లో +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=(మొత్తం {{pagesCount}} లో {{pageNumber}}వది) + +zoom_out.title=జూమ్ తగ్గించు +zoom_out_label=జూమ్ తగ్గించు +zoom_in.title=జూమ్ చేయి +zoom_in_label=జూమ్ చేయి +zoom.title=జూమ్ +presentation_mode.title=ప్రదర్శనా రీతికి మారు +presentation_mode_label=ప్రదర్శనా రీతి +open_file.title=ఫైల్ తెరువు +open_file_label=తెరువు +print.title=ముద్రించు +print_label=ముద్రించు +download.title=దింపుకోళ్ళు +download_label=దింపుకోళ్ళు +bookmark.title=ప్రస్తుత దర్శనం (కాపీ చేయి లేదా కొత్త విండోలో తెరువు) +bookmark_label=ప్రస్తుత దర్శనం + +# Secondary toolbar and context menu +tools.title=పనిముట్లు +tools_label=పనిముట్లు +first_page.title=మొదటి పేజీకి వెళ్ళు +first_page_label=మొదటి పేజీకి వెళ్ళు +last_page.title=చివరి పేజీకి వెళ్ళు +last_page_label=చివరి పేజీకి వెళ్ళు +page_rotate_cw.title=సవ్యదిశలో తిప్పు +page_rotate_cw_label=సవ్యదిశలో తిప్పు +page_rotate_ccw.title=అపసవ్యదిశలో తిప్పు +page_rotate_ccw_label=అపసవ్యదిశలో తిప్పు + +cursor_text_select_tool.title=టెక్స్ట్ ఎంపిక సాధనాన్ని ప్రారంభించండి +cursor_text_select_tool_label=టెక్స్ట్ ఎంపిక సాధనం +cursor_hand_tool.title=చేతి సాధనం చేతనించు +cursor_hand_tool_label=చేతి సాధనం + +scroll_vertical_label=నిలువు స్క్రోలింగు + + +# Document properties dialog box +document_properties.title=పత్రము లక్షణాలు... +document_properties_label=పత్రము లక్షణాలు... +document_properties_file_name=దస్త్రం పేరు: +document_properties_file_size=దస్త్రం పరిమాణం: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=శీర్షిక: +document_properties_author=మూలకర్త: +document_properties_subject=విషయం: +document_properties_keywords=కీ పదాలు: +document_properties_creation_date=సృష్టించిన తేదీ: +document_properties_modification_date=సవరించిన తేదీ: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=సృష్టికర్త: +document_properties_producer=PDF ఉత్పాదకి: +document_properties_version=PDF వర్షన్: +document_properties_page_count=పేజీల సంఖ్య: +document_properties_page_size=కాగితం పరిమాణం: +document_properties_page_size_unit_inches=లో +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=నిలువుచిత్రం +document_properties_page_size_orientation_landscape=అడ్డచిత్రం +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=లేఖ +document_properties_page_size_name_legal=చట్టపరమైన +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized_yes=అవును +document_properties_linearized_no=కాదు +document_properties_close=మూసివేయి + +print_progress_message=ముద్రించడానికి పత్రము సిద్ధమవుతున్నది… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=రద్దుచేయి + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=పక్కపట్టీ మార్చు +toggle_sidebar_label=పక్కపట్టీ మార్చు +document_outline.title=పత్రము రూపము చూపించు (డబుల్ క్లిక్ చేసి అన్ని అంశాలను విస్తరించు/కూల్చు) +document_outline_label=పత్రము అవుట్‌లైన్ +attachments.title=అనుబంధాలు చూపు +attachments_label=అనుబంధాలు +layers_label=పొరలు +thumbs.title=థంబ్‌నైల్స్ చూపు +thumbs_label=థంబ్‌నైల్స్ +findbar.title=పత్రములో కనుగొనుము +findbar_label=కనుగొను + +additional_layers=అదనపు పొరలు +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=పేజీ {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}} పేజీ నఖచిత్రం + +# Find panel button title and messages +find_input.title=కనుగొను +find_input.placeholder=పత్రములో కనుగొను… +find_previous.title=పదం యొక్క ముందు సంభవాన్ని కనుగొను +find_previous_label=మునుపటి +find_next.title=పదం యొక్క తర్వాతి సంభవాన్ని కనుగొను +find_next_label=తరువాత +find_highlight=అన్నిటిని ఉద్దీపనం చేయుము +find_match_case_label=అక్షరముల తేడాతో పోల్చు +find_entire_word_label=పూర్తి పదాలు +find_reached_top=పేజీ పైకి చేరుకున్నది, క్రింది నుండి కొనసాగించండి +find_reached_bottom=పేజీ చివరకు చేరుకున్నది, పైనుండి కొనసాగించండి +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_not_found=పదబంధం కనబడలేదు + +# Error panel labels +error_more_info=మరింత సమాచారం +error_less_info=తక్కువ సమాచారం +error_close=మూసివేయి +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=సందేశం: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=స్టాక్: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=ఫైలు: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=వరుస: {{line}} +rendering_error=పేజీను రెండర్ చేయుటలో ఒక దోషం ఎదురైంది. + +# Predefined zoom values +page_scale_width=పేజీ వెడల్పు +page_scale_fit=పేజీ అమర్పు +page_scale_auto=స్వయంచాలక జూమ్ +page_scale_actual=యథార్ధ పరిమాణం +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=PDF లోడవుచున్నప్పుడు ఒక దోషం ఎదురైంది. +invalid_file_error=చెల్లని లేదా పాడైన PDF ఫైలు. +missing_file_error=దొరకని PDF ఫైలు. +unexpected_response_error=అనుకోని సర్వర్ స్పందన. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} టీకా] +password_label=ఈ PDF ఫైల్ తెరుచుటకు సంకేతపదం ప్రవేశపెట్టుము. +password_invalid=సంకేతపదం చెల్లదు. దయచేసి మళ్ళీ ప్రయత్నించండి. +password_ok=సరే +password_cancel=రద్దుచేయి + +printing_not_supported=హెచ్చరిక: ఈ విహారిణి చేత ముద్రణ పూర్తిగా తోడ్పాటు లేదు. +printing_not_ready=హెచ్చరిక: ముద్రణ కొరకు ఈ PDF పూర్తిగా లోడవలేదు. +web_fonts_disabled=వెబ్ ఫాంట్లు అచేతనించబడెను: ఎంబెడెడ్ PDF ఫాంట్లు ఉపయోగించలేక పోయింది. diff --git a/app/assets/javascripts/publications/locale/tg/viewer.properties b/app/assets/javascripts/publications/locale/tg/viewer.properties new file mode 100644 index 0000000..24ab96e --- /dev/null +++ b/app/assets/javascripts/publications/locale/tg/viewer.properties @@ -0,0 +1,139 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Саҳифаи қаблӣ + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. + +zoom_out.title=Хурд кардан +zoom_out_label=Хурд кардан +zoom_in.title=Калон кардан +zoom_in_label=Калон кардан +zoom.title=Танзими андоза +open_file.title=Кушодани файл +open_file_label=Кушодан +print.title=Чоп кардан +print_label=Чоп кардан +download.title=Боргирӣ кардан +download_label=Боргирӣ кардан +bookmark.title=Намуди ҷорӣ (нусха бардоштан ё кушодан дар равзанаи нав) +bookmark_label=Намуди ҷорӣ + +# Secondary toolbar and context menu +tools.title=Абзорҳо + + + + +# Document properties dialog box +document_properties_file_name=Номи файл: +document_properties_file_size=Андозаи файл: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} КБ ({{size_b}} байт) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} МБ ({{size_b}} байт) +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Мактуб +document_properties_page_size_name_legal=Ҳуқуқӣ +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized_yes=Ҳа +document_properties_close=Пӯшидан + +print_progress_message=Омодасозии ҳуҷҷат барои чоп… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Бекор кардан + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Фаъол кардани навори ҷонибӣ + +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. + +# Find panel button title and messages +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit[zero]=Зиёда аз {{limit}} мувофиқат +find_match_count_limit[one]=Зиёда аз {{limit}} мувофиқат +find_match_count_limit[two]=Зиёда аз {{limit}} мувофиқат +find_match_count_limit[few]=Зиёда аз {{limit}} мувофиқат +find_match_count_limit[many]=Зиёда аз {{limit}} мувофиқат +find_match_count_limit[other]=Зиёда аз {{limit}} мувофиқат + +# Error panel labels +error_more_info=Маълумоти бештар +error_close=Пӯшидан +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Файл: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number + +# Predefined zoom values +page_scale_width=Аз рӯи паҳнои саҳифа +page_scale_auto=Андозаи худкор +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. + +# Loading indicator messages +invalid_file_error=Файли PDF нодуруст ё вайроншуда мебошад. +missing_file_error=Файли PDF ғоиб аст. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +password_label=Барои кушодани ин файли PDF ниҳонвожаро ворид кунед. +password_cancel=Бекор кардан + diff --git a/app/assets/javascripts/publications/locale/th/viewer.properties b/app/assets/javascripts/publications/locale/th/viewer.properties new file mode 100644 index 0000000..c48a711 --- /dev/null +++ b/app/assets/javascripts/publications/locale/th/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=หน้าก่อนหน้า +previous_label=ก่อนหน้า +next.title=หน้าถัดไป +next_label=ถัดไป + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=หน้า +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=จาก {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} จาก {{pagesCount}}) + +zoom_out.title=ซูมออก +zoom_out_label=ซูมออก +zoom_in.title=ซูมเข้า +zoom_in_label=ซูมเข้า +zoom.title=ซูม +presentation_mode.title=สลับเป็นโหมดการนำเสนอ +presentation_mode_label=โหมดการนำเสนอ +open_file.title=เปิดไฟล์ +open_file_label=เปิด +print.title=พิมพ์ +print_label=พิมพ์ +download.title=ดาวน์โหลด +download_label=ดาวน์โหลด +bookmark.title=มุมมองปัจจุบัน (คัดลอกหรือเปิดในหน้าต่างใหม่) +bookmark_label=มุมมองปัจจุบัน + +# Secondary toolbar and context menu +tools.title=เครื่องมือ +tools_label=เครื่องมือ +first_page.title=ไปยังหน้าแรก +first_page_label=ไปยังหน้าแรก +last_page.title=ไปยังหน้าสุดท้าย +last_page_label=ไปยังหน้าสุดท้าย +page_rotate_cw.title=หมุนตามเข็มนาฬิกา +page_rotate_cw_label=หมุนตามเข็มนาฬิกา +page_rotate_ccw.title=หมุนทวนเข็มนาฬิกา +page_rotate_ccw_label=หมุนทวนเข็มนาฬิกา + +cursor_text_select_tool.title=เปิดใช้งานเครื่องมือการเลือกข้อความ +cursor_text_select_tool_label=เครื่องมือการเลือกข้อความ +cursor_hand_tool.title=เปิดใช้งานเครื่องมือมือ +cursor_hand_tool_label=เครื่องมือมือ + +scroll_page.title=ใช้การเลื่อนหน้า +scroll_page_label=การเลื่อนหน้า +scroll_vertical.title=ใช้การเลื่อนแนวตั้ง +scroll_vertical_label=การเลื่อนแนวตั้ง +scroll_horizontal.title=ใช้การเลื่อนแนวนอน +scroll_horizontal_label=การเลื่อนแนวนอน +scroll_wrapped.title=ใช้การเลื่อนแบบคลุม +scroll_wrapped_label=เลื่อนแบบคลุม + +spread_none.title=ไม่ต้องรวมการกระจายหน้า +spread_none_label=ไม่กระจาย +spread_odd.title=รวมการกระจายหน้าเริ่มจากหน้าคี่ +spread_odd_label=กระจายอย่างเหลือเศษ +spread_even.title=รวมการกระจายหน้าเริ่มจากหน้าคู่ +spread_even_label=กระจายอย่างเท่าเทียม + +# Document properties dialog box +document_properties.title=คุณสมบัติเอกสาร… +document_properties_label=คุณสมบัติเอกสาร… +document_properties_file_name=ชื่อไฟล์: +document_properties_file_size=ขนาดไฟล์: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} ไบต์) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} ไบต์) +document_properties_title=ชื่อเรื่อง: +document_properties_author=ผู้สร้าง: +document_properties_subject=ชื่อเรื่อง: +document_properties_keywords=คำสำคัญ: +document_properties_creation_date=วันที่สร้าง: +document_properties_modification_date=วันที่แก้ไข: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=ผู้สร้าง: +document_properties_producer=ผู้ผลิต PDF: +document_properties_version=รุ่น PDF: +document_properties_page_count=จำนวนหน้า: +document_properties_page_size=ขนาดหน้า: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=แนวตั้ง +document_properties_page_size_orientation_landscape=แนวนอน +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=จดหมาย +document_properties_page_size_name_legal=ข้อกฎหมาย +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=มุมมองเว็บแบบรวดเร็ว: +document_properties_linearized_yes=ใช่ +document_properties_linearized_no=ไม่ +document_properties_close=ปิด + +print_progress_message=กำลังเตรียมเอกสารสำหรับการพิมพ์… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=ยกเลิก + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=เปิด/ปิดแถบข้าง +toggle_sidebar_notification2.title=เปิด/ปิดแถบข้าง (เอกสารมีเค้าร่าง/ไฟล์แนบ/เลเยอร์) +toggle_sidebar_label=เปิด/ปิดแถบข้าง +document_outline.title=แสดงเค้าร่างเอกสาร (คลิกสองครั้งเพื่อขยาย/ยุบรายการทั้งหมด) +document_outline_label=เค้าร่างเอกสาร +attachments.title=แสดงไฟล์แนบ +attachments_label=ไฟล์แนบ +layers.title=แสดงเลเยอร์ (คลิกสองครั้งเพื่อรีเซ็ตเลเยอร์ทั้งหมดเป็นสถานะเริ่มต้น) +layers_label=เลเยอร์ +thumbs.title=แสดงภาพขนาดย่อ +thumbs_label=ภาพขนาดย่อ +current_outline_item.title=ค้นหารายการเค้าร่างปัจจุบัน +current_outline_item_label=รายการเค้าร่างปัจจุบัน +findbar.title=ค้นหาในเอกสาร +findbar_label=ค้นหา + +additional_layers=เลเยอร์เพิ่มเติม +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=หน้า {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=หน้า {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=ภาพขนาดย่อของหน้า {{page}} + +# Find panel button title and messages +find_input.title=ค้นหา +find_input.placeholder=ค้นหาในเอกสาร… +find_previous.title=หาตำแหน่งก่อนหน้าของวลี +find_previous_label=ก่อนหน้า +find_next.title=หาตำแหน่งถัดไปของวลี +find_next_label=ถัดไป +find_highlight=เน้นสีทั้งหมด +find_match_case_label=ตัวพิมพ์ใหญ่เล็กตรงกัน +find_entire_word_label=ทั้งคำ +find_reached_top=ค้นหาถึงจุดเริ่มต้นของหน้า เริ่มค้นต่อจากด้านล่าง +find_reached_bottom=ค้นหาถึงจุดสิ้นสุดหน้า เริ่มค้นต่อจากด้านบน +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} จาก {{total}} ที่ตรงกัน +find_match_count[two]={{current}} จาก {{total}} ที่ตรงกัน +find_match_count[few]={{current}} จาก {{total}} ที่ตรงกัน +find_match_count[many]={{current}} จาก {{total}} ที่ตรงกัน +find_match_count[other]={{current}} จาก {{total}} ที่ตรงกัน +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=มากกว่า {{limit}} ที่ตรงกัน +find_match_count_limit[one]=มากกว่า {{limit}} ที่ตรงกัน +find_match_count_limit[two]=มากกว่า {{limit}} ที่ตรงกัน +find_match_count_limit[few]=มากกว่า {{limit}} ที่ตรงกัน +find_match_count_limit[many]=มากกว่า {{limit}} ที่ตรงกัน +find_match_count_limit[other]=มากกว่า {{limit}} ที่ตรงกัน +find_not_found=ไม่พบวลี + +# Error panel labels +error_more_info=ข้อมูลเพิ่มเติม +error_less_info=ข้อมูลน้อยลง +error_close=ปิด +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=ข้อความ: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=สแตก: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=ไฟล์: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=บรรทัด: {{line}} +rendering_error=เกิดข้อผิดพลาดขณะเรนเดอร์หน้า + +# Predefined zoom values +page_scale_width=ความกว้างหน้า +page_scale_fit=พอดีหน้า +page_scale_auto=ซูมอัตโนมัติ +page_scale_actual=ขนาดจริง +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=กำลังโหลด… +loading_error=เกิดข้อผิดพลาดขณะโหลด PDF +invalid_file_error=ไฟล์ PDF ไม่ถูกต้องหรือเสียหาย +missing_file_error=ไฟล์ PDF หายไป +unexpected_response_error=การตอบสนองของเซิร์ฟเวอร์ที่ไม่คาดคิด + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[คำอธิบายประกอบ {{type}}] +password_label=ป้อนรหัสผ่านเพื่อเปิดไฟล์ PDF นี้ +password_invalid=รหัสผ่านไม่ถูกต้อง โปรดลองอีกครั้ง +password_ok=ตกลง +password_cancel=ยกเลิก + +printing_not_supported=คำเตือน: เบราว์เซอร์นี้ไม่ได้สนับสนุนการพิมพ์อย่างเต็มที่ +printing_not_ready=คำเตือน: PDF ไม่ได้รับการโหลดอย่างเต็มที่สำหรับการพิมพ์ +web_fonts_disabled=แบบอักษรเว็บถูกปิดใช้งาน: ไม่สามารถใช้แบบอักษร PDF ฝังตัว diff --git a/app/assets/javascripts/publications/locale/tl/viewer.properties b/app/assets/javascripts/publications/locale/tl/viewer.properties new file mode 100644 index 0000000..1e988e7 --- /dev/null +++ b/app/assets/javascripts/publications/locale/tl/viewer.properties @@ -0,0 +1,242 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Naunang Pahina +previous_label=Nakaraan +next.title=Sunod na Pahina +next_label=Sunod + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pahina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=ng {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} ng {{pagesCount}}) + +zoom_out.title=Paliitin +zoom_out_label=Paliitin +zoom_in.title=Palakihin +zoom_in_label=Palakihin +zoom.title=Mag-zoom +presentation_mode.title=Lumipat sa Presentation Mode +presentation_mode_label=Presentation Mode +open_file.title=Magbukas ng file +open_file_label=Buksan +print.title=i-Print +print_label=i-Print +download.title=i-Download +download_label=i-Download +bookmark.title=Kasalukuyang tingin (kopyahin o buksan sa bagong window) +bookmark_label=Kasalukuyang tingin + +# Secondary toolbar and context menu +tools.title=Mga Kagamitan +tools_label=Mga Kagamitan +first_page.title=Pumunta sa Unang Pahina +first_page_label=Pumunta sa Unang Pahina +last_page.title=Pumunta sa Huling Pahina +last_page_label=Pumunta sa Huling Pahina +page_rotate_cw.title=Paikutin Pakanan +page_rotate_cw_label=Paikutin Pakanan +page_rotate_ccw.title=Paikutin Pakaliwa +page_rotate_ccw_label=Paikutin Pakaliwa + +cursor_text_select_tool.title=I-enable ang Text Selection Tool +cursor_text_select_tool_label=Text Selection Tool +cursor_hand_tool.title=I-enable ang Hand Tool +cursor_hand_tool_label=Hand Tool + +scroll_vertical.title=Gumamit ng Vertical Scrolling +scroll_vertical_label=Vertical Scrolling +scroll_horizontal.title=Gumamit ng Horizontal Scrolling +scroll_horizontal_label=Horizontal Scrolling +scroll_wrapped.title=Gumamit ng Wrapped Scrolling +scroll_wrapped_label=Wrapped Scrolling + +spread_none.title=Huwag pagsamahin ang mga page spread +spread_none_label=No Spreads +spread_odd.title=Join page spreads starting with odd-numbered pages +spread_odd_label=Mga Odd Spread +spread_even.title=Pagsamahin ang mga page spread na nagsisimula sa mga even-numbered na pahina +spread_even_label=Mga Even Spread + +# Document properties dialog box +document_properties.title=Mga Katangian ng Dokumento… +document_properties_label=Mga Katangian ng Dokumento… +document_properties_file_name=File name: +document_properties_file_size=File size: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Pamagat: +document_properties_author=May-akda: +document_properties_subject=Paksa: +document_properties_keywords=Mga keyword: +document_properties_creation_date=Petsa ng Pagkakagawa: +document_properties_modification_date=Petsa ng Pagkakabago: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Tagalikha: +document_properties_producer=PDF Producer: +document_properties_version=PDF Version: +document_properties_page_count=Bilang ng Pahina: +document_properties_page_size=Laki ng Pahina: +document_properties_page_size_unit_inches=pulgada +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=patayo +document_properties_page_size_orientation_landscape=pahiga +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Fast Web View: +document_properties_linearized_yes=Oo +document_properties_linearized_no=Hindi +document_properties_close=Isara + +print_progress_message=Inihahanda ang dokumento para sa pag-print… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Kanselahin + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Ipakita/Itago ang Sidebar +toggle_sidebar_notification2.title=Ipakita/Itago ang Sidebar (nagtataglay ang dokumento ng balangkas/mga attachment/mga layer) +toggle_sidebar_label=Ipakita/Itago ang Sidebar +document_outline.title=Ipakita ang Document Outline (mag-double-click para i-expand/collapse ang laman) +document_outline_label=Balangkas ng Dokumento +attachments.title=Ipakita ang mga Attachment +attachments_label=Mga attachment +layers.title=Ipakita ang mga Layer (mag-double click para mareset ang lahat ng layer sa orihinal na estado) +layers_label=Mga layer +thumbs.title=Ipakita ang mga Thumbnail +thumbs_label=Mga thumbnail +findbar.title=Hanapin sa Dokumento +findbar_label=Hanapin + +additional_layers=Mga Karagdagang Layer +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Pahina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Thumbnail ng Pahina {{page}} + +# Find panel button title and messages +find_input.title=Hanapin +find_input.placeholder=Hanapin sa dokumento… +find_previous.title=Hanapin ang nakaraang pangyayari ng parirala +find_previous_label=Nakaraan +find_next.title=Hanapin ang susunod na pangyayari ng parirala +find_next_label=Susunod +find_highlight=I-highlight lahat +find_match_case_label=Itugma ang case +find_entire_word_label=Buong salita +find_reached_top=Naabot na ang tuktok ng dokumento, ipinagpatuloy mula sa ilalim +find_reached_bottom=Naabot na ang dulo ng dokumento, ipinagpatuloy mula sa tuktok +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} ng {{total}} tugma +find_match_count[two]={{current}} ng {{total}} tugma +find_match_count[few]={{current}} ng {{total}} tugma +find_match_count[many]={{current}} ng {{total}} tugma +find_match_count[other]={{current}} ng {{total}} tugma +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Higit sa {{limit}} tugma +find_match_count_limit[one]=Higit sa {{limit}} tugma +find_match_count_limit[two]=Higit sa {{limit}} tugma +find_match_count_limit[few]=Higit sa {{limit}} tugma +find_match_count_limit[many]=Higit sa {{limit}} tugma +find_match_count_limit[other]=Higit sa {{limit}} tugma +find_not_found=Hindi natagpuan ang parirala + +# Error panel labels +error_more_info=Karagdagang Impormasyon +error_less_info=Mas Kaunting Impormasyon +error_close=Isara +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mensahe: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=File: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linya: {{line}} +rendering_error=Nagkaproblema habang nirerender ang pahina. + +# Predefined zoom values +page_scale_width=Lapad ng Pahina +page_scale_fit=Pagkasyahin ang Pahina +page_scale_auto=Automatic Zoom +page_scale_actual=Totoong sukat +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=Nagkaproblema habang niloload ang PDF. +invalid_file_error=Di-wasto o sira ang PDF file. +missing_file_error=Nawawalang PDF file. +unexpected_response_error=Hindi inaasahang tugon ng server. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Annotation] +password_label=Ipasok ang password upang buksan ang PDF file na ito. +password_invalid=Maling password. Subukan uli. +password_ok=OK +password_cancel=Kanselahin + +printing_not_supported=Babala: Hindi pa ganap na suportado ang pag-print sa browser na ito. +printing_not_ready=Babala: Hindi ganap na nabuksan ang PDF para sa pag-print. +web_fonts_disabled=Naka-disable ang mga Web font: hindi kayang gamitin ang mga naka-embed na PDF font. diff --git a/app/assets/javascripts/publications/locale/tr/viewer.properties b/app/assets/javascripts/publications/locale/tr/viewer.properties new file mode 100644 index 0000000..5d725d5 --- /dev/null +++ b/app/assets/javascripts/publications/locale/tr/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Önceki sayfa +previous_label=Önceki +next.title=Sonraki sayfa +next_label=Sonraki + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Sayfa +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=/ {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} / {{pagesCount}}) + +zoom_out.title=Uzaklaştır +zoom_out_label=Uzaklaştır +zoom_in.title=Yaklaştır +zoom_in_label=Yaklaştır +zoom.title=Yakınlaştırma +presentation_mode.title=Sunum moduna geç +presentation_mode_label=Sunum Modu +open_file.title=Dosya aç +open_file_label=Aç +print.title=Yazdır +print_label=Yazdır +download.title=İndir +download_label=İndir +bookmark.title=Geçerli görünüm (kopyala veya yeni pencerede aç) +bookmark_label=Geçerli görünüm + +# Secondary toolbar and context menu +tools.title=Araçlar +tools_label=Araçlar +first_page.title=İlk sayfaya git +first_page_label=İlk sayfaya git +last_page.title=Son sayfaya git +last_page_label=Son sayfaya git +page_rotate_cw.title=Saat yönünde döndür +page_rotate_cw_label=Saat yönünde döndür +page_rotate_ccw.title=Saat yönünün tersine döndür +page_rotate_ccw_label=Saat yönünün tersine döndür + +cursor_text_select_tool.title=Metin seçme aracını etkinleştir +cursor_text_select_tool_label=Metin seçme aracı +cursor_hand_tool.title=El aracını etkinleştir +cursor_hand_tool_label=El aracı + +scroll_page.title=Sayfa kaydırmayı kullan +scroll_page_label=Sayfa kaydırma +scroll_vertical.title=Dikey kaydırma kullan +scroll_vertical_label=Dikey kaydırma +scroll_horizontal.title=Yatay kaydırma kullan +scroll_horizontal_label=Yatay kaydırma +scroll_wrapped.title=Yan yana kaydırmayı kullan +scroll_wrapped_label=Yan yana kaydırma + +spread_none.title=Yan yana sayfaları birleştirme +spread_none_label=Birleştirme +spread_odd.title=Yan yana sayfaları tek numaralı sayfalardan başlayarak birleştir +spread_odd_label=Tek numaralı +spread_even.title=Yan yana sayfaları çift numaralı sayfalardan başlayarak birleştir +spread_even_label=Çift numaralı + +# Document properties dialog box +document_properties.title=Belge özellikleri… +document_properties_label=Belge özellikleri… +document_properties_file_name=Dosya adı: +document_properties_file_size=Dosya boyutu: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bayt) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bayt) +document_properties_title=Başlık: +document_properties_author=Yazar: +document_properties_subject=Konu: +document_properties_keywords=Anahtar kelimeler: +document_properties_creation_date=Oluturma tarihi: +document_properties_modification_date=Değiştirme tarihi: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}} {{time}} +document_properties_creator=Oluşturan: +document_properties_producer=PDF üreticisi: +document_properties_version=PDF sürümü: +document_properties_page_count=Sayfa sayısı: +document_properties_page_size=Sayfa boyutu: +document_properties_page_size_unit_inches=inç +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=dikey +document_properties_page_size_orientation_landscape=yatay +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Hızlı web görünümü: +document_properties_linearized_yes=Evet +document_properties_linearized_no=Hayır +document_properties_close=Kapat + +print_progress_message=Belge yazdırılmaya hazırlanıyor… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent=%{{progress}} +print_progress_close=İptal + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Kenar çubuğunu aç/kapat +toggle_sidebar_notification2.title=Kenar çubuğunu aç/kapat (Belge ana hat/ekler/katmanlar içeriyor) +toggle_sidebar_label=Kenar çubuğunu aç/kapat +document_outline.title=Belge ana hatlarını göster (Tüm öğeleri genişletmek/daraltmak için çift tıklayın) +document_outline_label=Belge ana hatları +attachments.title=Ekleri göster +attachments_label=Ekler +layers.title=Katmanları göster (tüm katmanları varsayılan duruma sıfırlamak için çift tıklayın) +layers_label=Katmanlar +thumbs.title=Küçük resimleri göster +thumbs_label=Küçük resimler +current_outline_item.title=Mevcut ana hat öğesini bul +current_outline_item_label=Mevcut ana hat öğesi +findbar.title=Belgede bul +findbar_label=Bul + +additional_layers=Ek katmanlar +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Sayfa {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Sayfa {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}}. sayfanın küçük hâli + +# Find panel button title and messages +find_input.title=Bul +find_input.placeholder=Belgede bul… +find_previous.title=Önceki eşleşmeyi bul +find_previous_label=Önceki +find_next.title=Sonraki eşleşmeyi bul +find_next_label=Sonraki +find_highlight=Tümünü vurgula +find_match_case_label=Büyük-küçük harfe duyarlı +find_entire_word_label=Tam sözcükler +find_reached_top=Belgenin başına ulaşıldı, sonundan devam edildi +find_reached_bottom=Belgenin sonuna ulaşıldı, başından devam edildi +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{total}} eşleşmeden {{current}}. eşleşme +find_match_count[two]={{total}} eşleşmeden {{current}}. eşleşme +find_match_count[few]={{total}} eşleşmeden {{current}}. eşleşme +find_match_count[many]={{total}} eşleşmeden {{current}}. eşleşme +find_match_count[other]={{total}} eşleşmeden {{current}}. eşleşme +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]={{limit}} eşleşmeden fazla +find_match_count_limit[one]={{limit}} eşleşmeden fazla +find_match_count_limit[two]={{limit}} eşleşmeden fazla +find_match_count_limit[few]={{limit}} eşleşmeden fazla +find_match_count_limit[many]={{limit}} eşleşmeden fazla +find_match_count_limit[other]={{limit}} eşleşmeden fazla +find_not_found=Eşleşme bulunamadı + +# Error panel labels +error_more_info=Daha fazla bilgi al +error_less_info=Daha az bilgi +error_close=Kapat +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js sürüm {{version}} (yapı: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=İleti: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Yığın: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Dosya: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Satır: {{line}} +rendering_error=Sayfa yorumlanırken bir hata oluştu. + +# Predefined zoom values +page_scale_width=Sayfa genişliği +page_scale_fit=Sayfayı sığdır +page_scale_auto=Otomatik yakınlaştır +page_scale_actual=Gerçek boyut +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent=%{{scale}} + +# Loading indicator messages +loading=Yükleniyor… +loading_error=PDF yüklenirken bir hata oluştu. +invalid_file_error=Geçersiz veya bozulmuş PDF dosyası. +missing_file_error=PDF dosyası eksik. +unexpected_response_error=Beklenmeyen sunucu yanıtı. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} işareti] +password_label=Bu PDF dosyasını açmak için parolasını yazın. +password_invalid=Geçersiz parola. Lütfen yeniden deneyin. +password_ok=Tamam +password_cancel=İptal + +printing_not_supported=Uyarı: Yazdırma bu tarayıcı tarafından tam olarak desteklenmemektedir. +printing_not_ready=Uyarı: PDF tamamen yüklenmedi ve yazdırmaya hazır değil. +web_fonts_disabled=Web fontları devre dışı: Gömülü PDF fontları kullanılamıyor. diff --git a/app/assets/javascripts/publications/locale/trs/viewer.properties b/app/assets/javascripts/publications/locale/trs/viewer.properties new file mode 100644 index 0000000..8bd1fe1 --- /dev/null +++ b/app/assets/javascripts/publications/locale/trs/viewer.properties @@ -0,0 +1,206 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Pajinâ gunâj rukùu +previous_label=Sa gachin +next.title=Pajinâ 'na' ñaan +next_label=Ne' ñaan + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Ñanj +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=si'iaj {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} of {{pagesCount}}) + +zoom_out.title=Nagi'iaj li' +zoom_out_label=Nagi'iaj li' +zoom_in.title=Nagi'iaj niko' +zoom_in_label=Nagi'iaj niko' +zoom.title=dàj nìko ma'an +presentation_mode.title=Naduno' daj ga ma +presentation_mode_label=Daj gà ma +open_file.title=Na'nïn' chrû ñanj +open_file_label=Na'nïn +print.title=Nari' ña du'ua +print_label=Nari' ñadu'ua +download.title=Nadunïnj +download_label=Nadunïnj +bookmark.title=Daj hua ma (Guxun' nej na'nïn' riña ventana nakàa) +bookmark_label=Daj hua ma + +# Secondary toolbar and context menu +tools.title=Rasun +tools_label=Nej rasùun +first_page.title=gun' riña pajina asiniin +first_page_label=Gun' riña pajina asiniin +last_page.title=Gun' riña pajina rukù ni'in +last_page_label=Gun' riña pajina rukù ni'inj +page_rotate_cw.title=Tanikaj ne' huat +page_rotate_cw_label=Tanikaj ne' huat +page_rotate_ccw.title=Tanikaj ne' chînt' +page_rotate_ccw_label=Tanikaj ne' chint + +cursor_text_select_tool.title=Dugi'iaj sun' sa ganahui texto +cursor_text_select_tool_label=Nej rasun arajsun' da' nahui' texto +cursor_hand_tool.title=Nachrun' nej rasun +cursor_hand_tool_label=Sa rajsun ro'o' + +scroll_vertical.title=Garasun' dukuán runūu +scroll_vertical_label=Dukuán runūu +scroll_horizontal.title=Garasun' dukuán nikin' nahui +scroll_horizontal_label=Dukuán nikin' nahui +scroll_wrapped.title=Garasun' sa nachree +scroll_wrapped_label=Sa nachree + +spread_none.title=Si nagi'iaj nugun'un' nej pagina hua ninin +spread_none_label=Ni'io daj hua pagina +spread_odd.title=Nagi'iaj nugua'ant nej pajina +spread_odd_label=Ni'io' daj hua libro gurin +spread_even.title=Nakāj dugui' ngà nej pajinâ ayi'ì ngà da' hùi hùi +spread_even_label=Nahuin nìko nej + +# Document properties dialog box +document_properties.title=Nej sa nikāj ñanj… +document_properties_label=Nej sa nikāj ñanj… +document_properties_file_name=Si yugui archîbo: +document_properties_file_size=Dàj yachìj archîbo: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Si yugui: +document_properties_author=Sí girirà: +document_properties_subject=Dugui': +document_properties_keywords=Nej nuguan' huìi: +document_properties_creation_date=Gui gurugui' man: +document_properties_modification_date=Nuguan' nahuin nakà: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Guiri ro' +document_properties_producer=Sa ri PDF: +document_properties_version=PDF Version: +document_properties_page_count=Si Guendâ Pâjina: +document_properties_page_size=Dàj yachìj pâjina: +document_properties_page_size_unit_inches=riña +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=nadu'ua +document_properties_page_size_orientation_landscape=dàj huaj +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Da'ngà'a +document_properties_page_size_name_legal=Nuguan' a'nï'ïn +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Nanèt chre ni'iajt riña Web: +document_properties_linearized_yes=Ga'ue +document_properties_linearized_no=Si ga'ue +document_properties_close=Narán + +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Duyichin' + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Nadunā barrâ nù yi'nïn +toggle_sidebar_label=Nadunā barrâ nù yi'nïn +findbar_label=Narì' + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. + +# Find panel button title and messages +find_input.title=Narì' +find_previous_label=Sa gachîn +find_next_label=Ne' ñaan +find_highlight=Daran' sa ña'an +find_match_case_label=Match case +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} si'iaj {{total}} guña gè huaj +find_match_count[two]={{current}} si'iaj {{total}} guña gè huaj +find_match_count[few]={{current}} si'iaj {{total}} guña gè huaj +find_match_count[many]={{current}} si'iaj {{total}} guña gè huaj +find_match_count[other]={{current}} of {{total}} matches +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Doj ngà da' {{limit}} nej sa nari' dugui'i +find_match_count_limit[one]=Doj ngà da' {{limit}} sa nari' dugui'i +find_match_count_limit[two]=Doj ngà da' {{limit}} nej sa nari' dugui'i +find_match_count_limit[few]=Doj ngà da' {{limit}} nej sa nari' dugui'i +find_match_count_limit[many]=Doj ngà da' {{limit}} nej sa nari' dugui'i +find_match_count_limit[other]=Doj ngà da' {{limit}} nej sa nari' dugui'i +find_not_found=Nu narì'ij nugua'anj + +# Error panel labels +error_more_info=Doj nuguan' a'min rayi'î nan +error_less_info=Dòj nuguan' a'min rayi'î nan +error_close=Narán +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Message: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Naru'ui': {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Archîbo: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Lînia: {{line}} + +# Predefined zoom values +page_scale_actual=Dàj yàchi akuan' nín +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +password_ok=Ga'ue +password_cancel=Duyichin' + diff --git a/app/assets/javascripts/publications/locale/uk/viewer.properties b/app/assets/javascripts/publications/locale/uk/viewer.properties new file mode 100644 index 0000000..90aa9b1 --- /dev/null +++ b/app/assets/javascripts/publications/locale/uk/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Попередня сторінка +previous_label=Попередня +next.title=Наступна сторінка +next_label=Наступна + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Сторінка +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=із {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} із {{pagesCount}}) + +zoom_out.title=Зменшити +zoom_out_label=Зменшити +zoom_in.title=Збільшити +zoom_in_label=Збільшити +zoom.title=Масштаб +presentation_mode.title=Перейти в режим презентації +presentation_mode_label=Режим презентації +open_file.title=Відкрити файл +open_file_label=Відкрити +print.title=Друк +print_label=Друк +download.title=Завантажити +download_label=Завантажити +bookmark.title=Поточний вигляд (копіювати чи відкрити в новому вікні) +bookmark_label=Поточний вигляд + +# Secondary toolbar and context menu +tools.title=Інструменти +tools_label=Інструменти +first_page.title=На першу сторінку +first_page_label=На першу сторінку +last_page.title=На останню сторінку +last_page_label=На останню сторінку +page_rotate_cw.title=Повернути за годинниковою стрілкою +page_rotate_cw_label=Повернути за годинниковою стрілкою +page_rotate_ccw.title=Повернути проти годинникової стрілки +page_rotate_ccw_label=Повернути проти годинникової стрілки + +cursor_text_select_tool.title=Увімкнути інструмент вибору тексту +cursor_text_select_tool_label=Інструмент вибору тексту +cursor_hand_tool.title=Увімкнути інструмент "Рука" +cursor_hand_tool_label=Інструмент "Рука" + +scroll_page.title=Використовувати прокручування сторінки +scroll_page_label=Прокручування сторінки +scroll_vertical.title=Використовувати вертикальне прокручування +scroll_vertical_label=Вертикальне прокручування +scroll_horizontal.title=Використовувати горизонтальне прокручування +scroll_horizontal_label=Горизонтальне прокручування +scroll_wrapped.title=Використовувати масштабоване прокручування +scroll_wrapped_label=Масштабоване прокручування + +spread_none.title=Не використовувати розгорнуті сторінки +spread_none_label=Без розгорнутих сторінок +spread_odd.title=Розгорнуті сторінки починаються з непарних номерів +spread_odd_label=Непарні сторінки зліва +spread_even.title=Розгорнуті сторінки починаються з парних номерів +spread_even_label=Парні сторінки зліва + +# Document properties dialog box +document_properties.title=Властивості документа… +document_properties_label=Властивості документа… +document_properties_file_name=Назва файла: +document_properties_file_size=Розмір файла: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} КБ ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} МБ ({{size_b}} bytes) +document_properties_title=Заголовок: +document_properties_author=Автор: +document_properties_subject=Тема: +document_properties_keywords=Ключові слова: +document_properties_creation_date=Дата створення: +document_properties_modification_date=Дата зміни: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Створено: +document_properties_producer=Виробник PDF: +document_properties_version=Версія PDF: +document_properties_page_count=Кількість сторінок: +document_properties_page_size=Розмір сторінки: +document_properties_page_size_unit_inches=дюймів +document_properties_page_size_unit_millimeters=мм +document_properties_page_size_orientation_portrait=книжкова +document_properties_page_size_orientation_landscape=альбомна +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Швидкий перегляд в Інтернеті: +document_properties_linearized_yes=Так +document_properties_linearized_no=Ні +document_properties_close=Закрити + +print_progress_message=Підготовка документу до друку… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Скасувати + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Бічна панель +toggle_sidebar_notification2.title=Перемкнути бічну панель (документ містить ескіз/вкладення/шари) +toggle_sidebar_label=Перемкнути бічну панель +document_outline.title=Показати схему документу (подвійний клік для розгортання/згортання елементів) +document_outline_label=Схема документа +attachments.title=Показати прикріплення +attachments_label=Прикріплення +layers.title=Показати шари (двічі клацніть, щоб скинути всі шари до типового стану) +layers_label=Шари +thumbs.title=Показувати ескізи +thumbs_label=Ескізи +current_outline_item.title=Знайти поточний елемент змісту +current_outline_item_label=Поточний елемент змісту +findbar.title=Знайти в документі +findbar_label=Знайти + +additional_layers=Додаткові шари +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Сторінка {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Сторінка {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Ескіз сторінки {{page}} + +# Find panel button title and messages +find_input.title=Знайти +find_input.placeholder=Знайти в документі… +find_previous.title=Знайти попереднє входження фрази +find_previous_label=Попереднє +find_next.title=Знайти наступне входження фрази +find_next_label=Наступне +find_highlight=Підсвітити все +find_match_case_label=З урахуванням регістру +find_match_diacritics_label=Відповідність діакритичних знаків +find_entire_word_label=Цілі слова +find_reached_top=Досягнуто початку документу, продовжено з кінця +find_reached_bottom=Досягнуто кінця документу, продовжено з початку +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} збіг із {{total}} +find_match_count[two]={{current}} збіги з {{total}} +find_match_count[few]={{current}} збігів із {{total}} +find_match_count[many]={{current}} збігів із {{total}} +find_match_count[other]={{current}} збігів із {{total}} +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Понад {{limit}} збігів +find_match_count_limit[one]=Більше, ніж {{limit}} збіг +find_match_count_limit[two]=Більше, ніж {{limit}} збіги +find_match_count_limit[few]=Більше, ніж {{limit}} збігів +find_match_count_limit[many]=Понад {{limit}} збігів +find_match_count_limit[other]=Понад {{limit}} збігів +find_not_found=Фразу не знайдено + +# Error panel labels +error_more_info=Більше інформації +error_less_info=Менше інформації +error_close=Закрити +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Повідомлення: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Стек: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Файл: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Рядок: {{line}} +rendering_error=Під час виведення сторінки сталася помилка. + +# Predefined zoom values +page_scale_width=За шириною +page_scale_fit=Вмістити +page_scale_auto=Автомасштаб +page_scale_actual=Дійсний розмір +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Завантаження… +loading_error=Під час завантаження PDF сталася помилка. +invalid_file_error=Недійсний або пошкоджений PDF-файл. +missing_file_error=Відсутній PDF-файл. +unexpected_response_error=Неочікувана відповідь сервера. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}}-аннотація] +password_label=Введіть пароль для відкриття цього PDF-файла. +password_invalid=Невірний пароль. Спробуйте ще. +password_ok=Гаразд +password_cancel=Скасувати + +printing_not_supported=Попередження: Цей браузер не повністю підтримує друк. +printing_not_ready=Попередження: PDF не повністю завантажений для друку. +web_fonts_disabled=Веб-шрифти вимкнено: неможливо використати вбудовані у PDF шрифти. diff --git a/app/assets/javascripts/publications/locale/ur/viewer.properties b/app/assets/javascripts/publications/locale/ur/viewer.properties new file mode 100644 index 0000000..6235c15 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ur/viewer.properties @@ -0,0 +1,238 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=پچھلا صفحہ +previous_label=پچھلا +next.title=اگلا صفحہ +next_label=آگے + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=صفحہ +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages={{pagesCount}} کا +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} کا {{pagesCount}}) + +zoom_out.title=باہر زوم کریں +zoom_out_label=باہر زوم کریں +zoom_in.title=اندر زوم کریں +zoom_in_label=اندر زوم کریں +zoom.title=زوم +presentation_mode.title=پیشکش موڈ میں چلے جائیں +presentation_mode_label=پیشکش موڈ +open_file.title=مسل کھولیں +open_file_label=کھولیں +print.title=چھاپیں +print_label=چھاپیں +download.title=ڈاؤن لوڈ +download_label=ڈاؤن لوڈ +bookmark.title=حالیہ نظارہ (نۓ دریچہ میں نقل کریں یا کھولیں) +bookmark_label=حالیہ نظارہ + +# Secondary toolbar and context menu +tools.title=آلات +tools_label=آلات +first_page.title=پہلے صفحہ پر جائیں +first_page_label=پہلے صفحہ پر جائیں +last_page.title=آخری صفحہ پر جائیں +last_page_label=آخری صفحہ پر جائیں +page_rotate_cw.title=گھڑی وار گھمائیں +page_rotate_cw_label=گھڑی وار گھمائیں +page_rotate_ccw.title=ضد گھڑی وار گھمائیں +page_rotate_ccw_label=ضد گھڑی وار گھمائیں + +cursor_text_select_tool.title=متن کے انتخاب کے ٹول کو فعال بناے +cursor_text_select_tool_label=متن کے انتخاب کا آلہ +cursor_hand_tool.title=ہینڈ ٹول کو فعال بناییں +cursor_hand_tool_label=ہاتھ کا آلہ + +scroll_vertical.title=عمودی اسکرولنگ کا استعمال کریں +scroll_vertical_label=عمودی اسکرولنگ +scroll_horizontal.title=افقی سکرولنگ کا استعمال کریں +scroll_horizontal_label=افقی سکرولنگ + +spread_none.title=صفحہ پھیلانے میں شامل نہ ہوں +spread_none_label=کوئی پھیلاؤ نہیں +spread_odd_label=تاک پھیلاؤ +spread_even_label=جفت پھیلاؤ + +# Document properties dialog box +document_properties.title=دستاویز خواص… +document_properties_label=دستاویز خواص…\u0020 +document_properties_file_name=نام مسل: +document_properties_file_size=مسل سائز: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=عنوان: +document_properties_author=تخلیق کار: +document_properties_subject=موضوع: +document_properties_keywords=کلیدی الفاظ: +document_properties_creation_date=تخلیق کی تاریخ: +document_properties_modification_date=ترمیم کی تاریخ: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}، {{time}} +document_properties_creator=تخلیق کار: +document_properties_producer=PDF پیدا کار: +document_properties_version=PDF ورژن: +document_properties_page_count=صفحہ شمار: +document_properties_page_size=صفہ کی لمبائ: +document_properties_page_size_unit_inches=میں +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=عمودی انداز +document_properties_page_size_orientation_landscape=افقى انداز +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=خط +document_properties_page_size_name_legal=قانونی +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} {{name}} {{orientation}} +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=تیز ویب دیکھیں: +document_properties_linearized_yes=ہاں +document_properties_linearized_no=نہیں +document_properties_close=بند کریں + +print_progress_message=چھاپنے کرنے کے لیے دستاویز تیار کیے جا رھے ھیں +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent=*{{progress}}%* +print_progress_close=منسوخ کریں + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=سلائیڈ ٹوگل کریں +toggle_sidebar_label=سلائیڈ ٹوگل کریں +document_outline.title=دستاویز کی سرخیاں دکھایں (تمام اشیاء وسیع / غائب کرنے کے لیے ڈبل کلک کریں) +document_outline_label=دستاویز آؤٹ لائن +attachments.title=منسلکات دکھائیں +attachments_label=منسلکات +thumbs.title=تھمبنیل دکھائیں +thumbs_label=مجمل +findbar.title=دستاویز میں ڈھونڈیں +findbar_label=ڈھونڈیں + +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=صفحہ {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=صفحہ {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=صفحے کا مجمل {{page}} + +# Find panel button title and messages +find_input.title=ڈھونڈیں +find_input.placeholder=دستاویز… میں ڈھونڈیں +find_previous.title=فقرے کا پچھلا وقوع ڈھونڈیں +find_previous_label=پچھلا +find_next.title=فقرے کا اگلہ وقوع ڈھونڈیں +find_next_label=آگے +find_highlight=تمام نمایاں کریں +find_match_case_label=حروف مشابہ کریں +find_entire_word_label=تمام الفاظ +find_reached_top=صفحہ کے شروع پر پہنچ گیا، نیچے سے جاری کیا +find_reached_bottom=صفحہ کے اختتام پر پہنچ گیا، اوپر سے جاری کیا +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{total}} میچ کا {{current}} +find_match_count[few]={{total}} میچوں میں سے {{current}} +find_match_count[many]={{total}} میچوں میں سے {{current}} +find_match_count[other]={{total}} میچوں میں سے {{current}} +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(total) ]} +find_match_count_limit[zero]={{limit}} سے زیادہ میچ +find_match_count_limit[one]={{limit}} سے زیادہ میچ +find_match_count_limit[two]={{limit}} سے زیادہ میچ +find_match_count_limit[few]={{limit}} سے زیادہ میچ +find_match_count_limit[many]={{limit}} سے زیادہ میچ +find_match_count_limit[other]={{limit}} سے زیادہ میچ +find_not_found=فقرا نہیں ملا + +# Error panel labels +error_more_info=مزید معلومات +error_less_info=کم معلومات +error_close=بند کریں +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=پیغام: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=سٹیک: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=مسل: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=لائن: {{line}} +rendering_error=صفحہ بناتے ہوئے نقص آ گیا۔ + +# Predefined zoom values +page_scale_width=صفحہ چوڑائی +page_scale_fit=صفحہ فٹنگ +page_scale_auto=خودکار زوم +page_scale_actual=اصل سائز +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading_error=PDF لوڈ کرتے وقت نقص آ گیا۔ +invalid_file_error=ناجائز یا خراب PDF مسل +missing_file_error=PDF مسل غائب ہے۔ +unexpected_response_error=غیرمتوقع پیش کار جواب + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}.{{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} نوٹ] +password_label=PDF مسل کھولنے کے لیے پاس ورڈ داخل کریں. +password_invalid=ناجائز پاس ورڈ. براےؑ کرم دوبارہ کوشش کریں. +password_ok=ٹھیک ہے +password_cancel=منسوخ کریں + +printing_not_supported=تنبیہ:چھاپنا اس براؤزر پر پوری طرح معاونت شدہ نہیں ہے۔ +printing_not_ready=تنبیہ: PDF چھپائی کے لیے پوری طرح لوڈ نہیں ہوئی۔ +web_fonts_disabled=ویب فانٹ نا اہل ہیں: شامل PDF فانٹ استعمال کرنے میں ناکام۔ +# LOCALIZATION NOTE (unsupported_feature_signatures): Should contain the same +# exact string as in the `chrome.properties` file. diff --git a/app/assets/javascripts/publications/locale/uz/viewer.properties b/app/assets/javascripts/publications/locale/uz/viewer.properties new file mode 100644 index 0000000..a17eb6b --- /dev/null +++ b/app/assets/javascripts/publications/locale/uz/viewer.properties @@ -0,0 +1,162 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Oldingi sahifa +previous_label=Oldingi +next.title=Keyingi sahifa +next_label=Keyingi + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=/{{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. + +zoom_out.title=Kichiklashtirish +zoom_out_label=Kichiklashtirish +zoom_in.title=Kattalashtirish +zoom_in_label=Kattalashtirish +zoom.title=Masshtab +presentation_mode.title=Namoyish usuliga oʻtish +presentation_mode_label=Namoyish usuli +open_file.title=Faylni ochish +open_file_label=Ochish +print.title=Chop qilish +print_label=Chop qilish +download.title=Yuklab olish +download_label=Yuklab olish +bookmark.title=Joriy koʻrinish (nusxa oling yoki yangi oynada oching) +bookmark_label=Joriy koʻrinish + +# Secondary toolbar and context menu +tools.title=Vositalar +tools_label=Vositalar +first_page.title=Birinchi sahifaga oʻtish +first_page_label=Birinchi sahifaga oʻtish +last_page.title=Soʻnggi sahifaga oʻtish +last_page_label=Soʻnggi sahifaga oʻtish +page_rotate_cw.title=Soat yoʻnalishi boʻyicha burish +page_rotate_cw_label=Soat yoʻnalishi boʻyicha burish +page_rotate_ccw.title=Soat yoʻnalishiga qarshi burish +page_rotate_ccw_label=Soat yoʻnalishiga qarshi burish + + +# Document properties dialog box +document_properties.title=Hujjat xossalari +document_properties_label=Hujjat xossalari +document_properties_file_name=Fayl nomi: +document_properties_file_size=Fayl hajmi: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Nomi: +document_properties_author=Muallifi: +document_properties_subject=Mavzusi: +document_properties_keywords=Kalit so‘zlar +document_properties_creation_date=Yaratilgan sanasi: +document_properties_modification_date=O‘zgartirilgan sanasi +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Yaratuvchi: +document_properties_producer=PDF ishlab chiqaruvchi: +document_properties_version=PDF versiyasi: +document_properties_page_count=Sahifa soni: +document_properties_close=Yopish + +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Yon panelni yoqib/oʻchirib qoʻyish +toggle_sidebar_label=Yon panelni yoqib/oʻchirib qoʻyish +document_outline_label=Hujjat tuzilishi +attachments.title=Ilovalarni ko‘rsatish +attachments_label=Ilovalar +thumbs.title=Nishonchalarni koʻrsatish +thumbs_label=Nishoncha +findbar.title=Hujjat ichidan topish + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title={{page}} sahifa +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}} sahifa nishonchasi + +# Find panel button title and messages +find_previous.title=Soʻzlardagi oldingi hodisani topish +find_previous_label=Oldingi +find_next.title=Iboradagi keyingi hodisani topish +find_next_label=Keyingi +find_highlight=Barchasini ajratib koʻrsatish +find_match_case_label=Katta-kichik harflarni farqlash +find_reached_top=Hujjatning boshigacha yetib keldik, pastdan davom ettiriladi +find_reached_bottom=Hujjatning oxiriga yetib kelindi, yuqoridan davom ettirladi +find_not_found=Soʻzlar topilmadi + +# Error panel labels +error_more_info=Koʻproq ma`lumot +error_less_info=Kamroq ma`lumot +error_close=Yopish +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Xabar: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Toʻplam: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fayl: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Satr: {{line}} +rendering_error=Sahifa renderlanayotganda xato yuz berdi. + +# Predefined zoom values +page_scale_width=Sahifa eni +page_scale_fit=Sahifani moslashtirish +page_scale_auto=Avtomatik masshtab +page_scale_actual=Haqiqiy hajmi +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=PDF yuklanayotganda xato yuz berdi. +invalid_file_error=Xato yoki buzuq PDF fayli. +missing_file_error=PDF fayl kerak. +unexpected_response_error=Kutilmagan server javobi. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Annotation] +password_label=PDF faylni ochish uchun parolni kiriting. +password_invalid=Parol - notoʻgʻri. Qaytadan urinib koʻring. +password_ok=OK + +printing_not_supported=Diqqat: chop qilish bruzer tomonidan toʻliq qoʻllab-quvvatlanmaydi. +printing_not_ready=Diqqat: PDF fayl chop qilish uchun toʻliq yuklanmadi. +web_fonts_disabled=Veb shriftlar oʻchirilgan: ichki PDF shriftlardan foydalanib boʻlmmaydi. diff --git a/app/assets/javascripts/publications/locale/vi/viewer.properties b/app/assets/javascripts/publications/locale/vi/viewer.properties new file mode 100644 index 0000000..1f10009 --- /dev/null +++ b/app/assets/javascripts/publications/locale/vi/viewer.properties @@ -0,0 +1,250 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Trang trước +previous_label=Trước +next.title=Trang Sau +next_label=Tiếp + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Trang +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=trên {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} trên {{pagesCount}}) + +zoom_out.title=Thu nhỏ +zoom_out_label=Thu nhỏ +zoom_in.title=Phóng to +zoom_in_label=Phóng to +zoom.title=Thu phóng +presentation_mode.title=Chuyển sang chế độ trình chiếu +presentation_mode_label=Chế độ trình chiếu +open_file.title=Mở tập tin +open_file_label=Mở tập tin +print.title=In +print_label=In +download.title=Tải xuống +download_label=Tải xuống +bookmark.title=Chế độ xem hiện tại (sao chép hoặc mở trong cửa sổ mới) +bookmark_label=Chế độ xem hiện tại + +# Secondary toolbar and context menu +tools.title=Công cụ +tools_label=Công cụ +first_page.title=Về trang đầu +first_page_label=Về trang đầu +last_page.title=Đến trang cuối +last_page_label=Đến trang cuối +page_rotate_cw.title=Xoay theo chiều kim đồng hồ +page_rotate_cw_label=Xoay theo chiều kim đồng hồ +page_rotate_ccw.title=Xoay ngược chiều kim đồng hồ +page_rotate_ccw_label=Xoay ngược chiều kim đồng hồ + +cursor_text_select_tool.title=Kích hoạt công cụ chọn vùng văn bản +cursor_text_select_tool_label=Công cụ chọn vùng văn bản +cursor_hand_tool.title=Kích hoạt công cụ con trỏ +cursor_hand_tool_label=Công cụ con trỏ + +scroll_page.title=Sử dụng cuộn trang hiện tại +scroll_page_label=Cuộn trang hiện tại +scroll_vertical.title=Sử dụng cuộn dọc +scroll_vertical_label=Cuộn dọc +scroll_horizontal.title=Sử dụng cuộn ngang +scroll_horizontal_label=Cuộn ngang +scroll_wrapped.title=Sử dụng cuộn ngắt dòng +scroll_wrapped_label=Cuộn ngắt dòng + +spread_none.title=Không nối rộng trang +spread_none_label=Không có phân cách +spread_odd.title=Nối trang bài bắt đầu với các trang được đánh số lẻ +spread_odd_label=Phân cách theo số lẻ +spread_even.title=Nối trang bài bắt đầu với các trang được đánh số chẵn +spread_even_label=Phân cách theo số chẵn + +# Document properties dialog box +document_properties.title=Thuộc tính của tài liệu… +document_properties_label=Thuộc tính của tài liệu… +document_properties_file_name=Tên tập tin: +document_properties_file_size=Kích thước: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} byte) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} byte) +document_properties_title=Tiêu đề: +document_properties_author=Tác giả: +document_properties_subject=Chủ đề: +document_properties_keywords=Từ khóa: +document_properties_creation_date=Ngày tạo: +document_properties_modification_date=Ngày sửa đổi: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Người tạo: +document_properties_producer=Phần mềm tạo PDF: +document_properties_version=Phiên bản PDF: +document_properties_page_count=Tổng số trang: +document_properties_page_size=Kích thước trang: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=khổ dọc +document_properties_page_size_orientation_landscape=khổ ngang +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Thư +document_properties_page_size_name_legal=Pháp lý +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Xem nhanh trên web: +document_properties_linearized_yes=Có +document_properties_linearized_no=Không +document_properties_close=Ðóng + +print_progress_message=Chuẩn bị trang để in… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Hủy bỏ + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Bật/Tắt thanh lề +toggle_sidebar_notification2.title=Bật tắt thanh lề (tài liệu bao gồm bản phác thảo/tập tin đính kèm/lớp) +toggle_sidebar_label=Bật/Tắt thanh lề +document_outline.title=Hiển thị tài liệu phác thảo (nhấp đúp vào để mở rộng/thu gọn tất cả các mục) +document_outline_label=Bản phác tài liệu +attachments.title=Hiện nội dung đính kèm +attachments_label=Nội dung đính kèm +layers.title=Hiển thị các lớp (nhấp đúp để đặt lại tất cả các lớp về trạng thái mặc định) +layers_label=Lớp +thumbs.title=Hiển thị ảnh thu nhỏ +thumbs_label=Ảnh thu nhỏ +current_outline_item.title=Tìm mục phác thảo hiện tại +current_outline_item_label=Mục phác thảo hiện tại +findbar.title=Tìm trong tài liệu +findbar_label=Tìm + +additional_layers=Các lớp bổ sung +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Trang {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Trang {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Ảnh thu nhỏ của trang {{page}} + +# Find panel button title and messages +find_input.title=Tìm +find_input.placeholder=Tìm trong tài liệu… +find_previous.title=Tìm cụm từ ở phần trước +find_previous_label=Trước +find_next.title=Tìm cụm từ ở phần sau +find_next_label=Tiếp +find_highlight=Tô sáng tất cả +find_match_case_label=Phân biệt hoa, thường +find_entire_word_label=Toàn bộ từ +find_reached_top=Đã đến phần đầu tài liệu, quay trở lại từ cuối +find_reached_bottom=Đã đến phần cuối của tài liệu, quay trở lại từ đầu +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} của {{total}} đã trùng +find_match_count[two]={{current}} của {{total}} đã trùng +find_match_count[few]={{current}} của {{total}} đã trùng +find_match_count[many]={{current}} của {{total}} đã trùng +find_match_count[other]={{current}} của {{total}} đã trùng +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Nhiều hơn {{limit}} đã trùng +find_match_count_limit[one]=Nhiều hơn {{limit}} đã trùng +find_match_count_limit[two]=Nhiều hơn {{limit}} đã trùng +find_match_count_limit[few]=Nhiều hơn {{limit}} đã trùng +find_match_count_limit[many]=Nhiều hơn {{limit}} đã trùng +find_match_count_limit[other]=Nhiều hơn {{limit}} đã trùng +find_not_found=Không tìm thấy cụm từ này + +# Error panel labels +error_more_info=Thông tin thêm +error_less_info=Hiển thị ít thông tin hơn +error_close=Đóng +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Thông điệp: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stack: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Tập tin: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Dòng: {{line}} +rendering_error=Lỗi khi hiển thị trang. + +# Predefined zoom values +page_scale_width=Vừa chiều rộng +page_scale_fit=Vừa chiều cao +page_scale_auto=Tự động chọn kích thước +page_scale_actual=Kích thước thực +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Đang tải… +loading_error=Lỗi khi tải tài liệu PDF. +invalid_file_error=Tập tin PDF hỏng hoặc không hợp lệ. +missing_file_error=Thiếu tập tin PDF. +unexpected_response_error=Máy chủ có phản hồi lạ. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Chú thích] +password_label=Nhập mật khẩu để mở tập tin PDF này. +password_invalid=Mật khẩu không đúng. Vui lòng thử lại. +password_ok=OK +password_cancel=Hủy bỏ + +printing_not_supported=Cảnh báo: In ấn không được hỗ trợ đầy đủ ở trình duyệt này. +printing_not_ready=Cảnh báo: PDF chưa được tải hết để in. +web_fonts_disabled=Phông chữ Web bị vô hiệu hóa: không thể sử dụng các phông chữ PDF được nhúng. diff --git a/app/assets/javascripts/publications/locale/wo/viewer.properties b/app/assets/javascripts/publications/locale/wo/viewer.properties new file mode 100644 index 0000000..ca3f4c3 --- /dev/null +++ b/app/assets/javascripts/publications/locale/wo/viewer.properties @@ -0,0 +1,122 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Xët wi jiitu +previous_label=Bi jiitu +next.title=Xët wi ci topp +next_label=Bi ci topp + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. + +zoom_out.title=Wàññi +zoom_out_label=Wàññi +zoom_in.title=Yaatal +zoom_in_label=Yaatal +zoom.title=Yambalaŋ +presentation_mode.title=Wañarñil ci anamu wone +presentation_mode_label=Anamu Wone +open_file.title=Ubbi benn dencukaay +open_file_label=Ubbi +print.title=Móol +print_label=Móol +download.title=Yeb yi +download_label=Yeb yi +bookmark.title=Wone bi taxaw (duppi walla ubbi palanteer bu bees) +bookmark_label=Wone bi feeñ + +# Secondary toolbar and context menu + + +# Document properties dialog box +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_title=Bopp: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. + +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +thumbs.title=Wone nataal yu ndaw yi +thumbs_label=Nataal yu ndaw yi +findbar.title=Gis ci biir jukki bi +findbar_label=Wut + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Xët {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Wiñet bu xët {{page}} + +# Find panel button title and messages +find_previous.title=Seet beneen kaddu bu ni mel te jiitu +find_previous_label=Bi jiitu +find_next.title=Seet beneen kaddu bu ni mel +find_next_label=Bi ci topp +find_highlight=Melaxal lépp +find_match_case_label=Sàmm jëmmalin wi +find_reached_top=Jot nañu ndorteel xët wi, kontine dale ko ci suuf +find_reached_bottom=Jot nañu jeexitalu xët wi, kontine ci ndorte +find_not_found=Gisiñu kaddu gi + +# Error panel labels +error_more_info=Xibaar yu gën bari +error_less_info=Xibaar yu gën bari +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Bataaxal: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Juug: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Dencukaay: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Rëdd : {{line}} +rendering_error=Am njumte bu am bi xët bi di wonewu. + +# Predefined zoom values +page_scale_width=Yaatuwaay bu mët +page_scale_fit=Xët lëmm +page_scale_auto=Yambalaŋ ci saa si +page_scale_actual=Dayo bi am +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. + +loading_error=Am na njumte ci yebum dencukaay PDF bi. +invalid_file_error=Dencukaay PDF bi baaxul walla mu sankar. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Karmat {{type}}] +password_ok=OK +password_cancel=Neenal + +printing_not_supported=Artu: Joowkat bii nanguwul lool mool. diff --git a/app/assets/javascripts/publications/locale/xh/viewer.properties b/app/assets/javascripts/publications/locale/xh/viewer.properties new file mode 100644 index 0000000..541ddbf --- /dev/null +++ b/app/assets/javascripts/publications/locale/xh/viewer.properties @@ -0,0 +1,176 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=Iphepha langaphambili +previous_label=Okwangaphambili +next.title=Iphepha elilandelayo +next_label=Okulandelayo + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Iphepha +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=kwali- {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} kwali {{pagesCount}}) + +zoom_out.title=Bhekelisela Kudana +zoom_out_label=Bhekelisela Kudana +zoom_in.title=Sondeza Kufuphi +zoom_in_label=Sondeza Kufuphi +zoom.title=Yandisa / Nciphisa +presentation_mode.title=Tshintshela kwimo yonikezelo +presentation_mode_label=Imo yonikezelo +open_file.title=Vula Ifayile +open_file_label=Vula +print.title=Printa +print_label=Printa +download.title=Khuphela +download_label=Khuphela +bookmark.title=Imbonakalo ekhoyo (kopa okanye vula kwifestile entsha) +bookmark_label=Imbonakalo ekhoyo + +# Secondary toolbar and context menu +tools.title=Izixhobo zemiyalelo +tools_label=Izixhobo zemiyalelo +first_page.title=Yiya kwiphepha lokuqala +first_page_label=Yiya kwiphepha lokuqala +last_page.title=Yiya kwiphepha lokugqibela +last_page_label=Yiya kwiphepha lokugqibela +page_rotate_cw.title=Jikelisa ngasekunene +page_rotate_cw_label=Jikelisa ngasekunene +page_rotate_ccw.title=Jikelisa ngasekhohlo +page_rotate_ccw_label=Jikelisa ngasekhohlo + +cursor_text_select_tool.title=Vumela iSixhobo sokuKhetha iTeksti +cursor_text_select_tool_label=ISixhobo sokuKhetha iTeksti +cursor_hand_tool.title=Yenza iSixhobo seSandla siSebenze +cursor_hand_tool_label=ISixhobo seSandla + +# Document properties dialog box +document_properties.title=Iipropati zoxwebhu… +document_properties_label=Iipropati zoxwebhu… +document_properties_file_name=Igama lefayile: +document_properties_file_size=Isayizi yefayile: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB (iibhayiti{{size_b}}) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB (iibhayithi{{size_b}}) +document_properties_title=Umxholo: +document_properties_author=Umbhali: +document_properties_subject=Umbandela: +document_properties_keywords=Amagama aphambili: +document_properties_creation_date=Umhla wokwenziwa kwayo: +document_properties_modification_date=Umhla wokulungiswa kwayo: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Umntu oyenzileyo: +document_properties_producer=Umvelisi we-PDF: +document_properties_version=Uhlelo lwe-PDF: +document_properties_page_count=Inani lamaphepha: +document_properties_close=Vala + +print_progress_message=Ilungisa uxwebhu ukuze iprinte… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Rhoxisa + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Togola ngebha eseCaleni +toggle_sidebar_label=Togola ngebha eseCaleni +document_outline.title=Bonisa uLwandlalo loXwebhu (cofa kabini ukuze wandise/diliza zonke izinto) +document_outline_label=Isishwankathelo soxwebhu +attachments.title=Bonisa iziqhotyoshelwa +attachments_label=Iziqhoboshelo +thumbs.title=Bonisa ukrobiso kumfanekiso +thumbs_label=Ukrobiso kumfanekiso +findbar.title=Fumana kuXwebhu +findbar_label=Fumana + +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Iphepha {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Ukrobiso kumfanekiso wephepha {{page}} + +# Find panel button title and messages +find_input.title=Fumana +find_input.placeholder=Fumana kuXwebhu… +find_previous.title=Fumanisa isenzeko sangaphambili sebinzana lamagama +find_previous_label=Okwangaphambili +find_next.title=Fumanisa isenzeko esilandelayo sebinzana lamagama +find_next_label=Okulandelayo +find_highlight=Qaqambisa konke +find_match_case_label=Tshatisa ngobukhulu bukanobumba +find_reached_top=Ufike ngaphezulu ephepheni, kusukwa ngezantsi +find_reached_bottom=Ufike ekupheleni kwephepha, kusukwa ngaphezulu +find_not_found=Ibinzana alifunyenwanga + +# Error panel labels +error_more_info=Inkcazelo Engakumbi +error_less_info=Inkcazelo Encinane +error_close=Vala +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=I-PDF.js v{{version}} (yakha: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Umyalezo: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Imfumba: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Ifayile: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Umgca: {{line}} +rendering_error=Imposiso yenzekile xa bekunikezelwa iphepha. + +# Predefined zoom values +page_scale_width=Ububanzi bephepha +page_scale_fit=Ukulinganiswa kwephepha +page_scale_auto=Ukwandisa/Ukunciphisa Ngokwayo +page_scale_actual=Ubungakanani bokwenene +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=Imposiso yenzekile xa kulayishwa i-PDF. +invalid_file_error=Ifayile ye-PDF engeyiyo okanye eyonakalisiweyo. +missing_file_error=Ifayile ye-PDF edukileyo. +unexpected_response_error=Impendulo yeseva engalindelekanga. + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Ubhalo-nqaku] +password_label=Faka ipasiwedi ukuze uvule le fayile yePDF. +password_invalid=Ipasiwedi ayisebenzi. Nceda uzame kwakhona. +password_ok=KULUNGILE +password_cancel=Rhoxisa + +printing_not_supported=Isilumkiso: Ukuprinta akuxhaswa ngokupheleleyo yile bhrawuza. +printing_not_ready=Isilumkiso: IPDF ayihlohlwanga ngokupheleleyo ukwenzela ukuprinta. +web_fonts_disabled=Iifonti zewebhu ziqhwalelisiwe: ayikwazi ukusebenzisa iifonti ze-PDF ezincanyathelisiweyo. diff --git a/app/assets/javascripts/publications/locale/zh-CN/viewer.properties b/app/assets/javascripts/publications/locale/zh-CN/viewer.properties new file mode 100644 index 0000000..87e715c --- /dev/null +++ b/app/assets/javascripts/publications/locale/zh-CN/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=上一页 +previous_label=上一页 +next.title=下一页 +next_label=下一页 + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=页面 +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=/ {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} / {{pagesCount}}) + +zoom_out.title=缩小 +zoom_out_label=缩小 +zoom_in.title=放大 +zoom_in_label=放大 +zoom.title=缩放 +presentation_mode.title=切换到演示模式 +presentation_mode_label=演示模式 +open_file.title=打开文件 +open_file_label=打开 +print.title=打印 +print_label=打印 +download.title=下载 +download_label=下载 +bookmark.title=当前在看的内容(复制或在新窗口中打开) +bookmark_label=当前在看 + +# Secondary toolbar and context menu +tools.title=工具 +tools_label=工具 +first_page.title=转到第一页 +first_page_label=转到第一页 +last_page.title=转到最后一页 +last_page_label=转到最后一页 +page_rotate_cw.title=顺时针旋转 +page_rotate_cw_label=顺时针旋转 +page_rotate_ccw.title=逆时针旋转 +page_rotate_ccw_label=逆时针旋转 + +cursor_text_select_tool.title=启用文本选择工具 +cursor_text_select_tool_label=文本选择工具 +cursor_hand_tool.title=启用手形工具 +cursor_hand_tool_label=手形工具 + +scroll_page.title=使用页面滚动 +scroll_page_label=页面滚动 +scroll_vertical.title=使用垂直滚动 +scroll_vertical_label=垂直滚动 +scroll_horizontal.title=使用水平滚动 +scroll_horizontal_label=水平滚动 +scroll_wrapped.title=使用平铺滚动 +scroll_wrapped_label=平铺滚动 + +spread_none.title=不加入衔接页 +spread_none_label=单页视图 +spread_odd.title=加入衔接页使奇数页作为起始页 +spread_odd_label=双页视图 +spread_even.title=加入衔接页使偶数页作为起始页 +spread_even_label=书籍视图 + +# Document properties dialog box +document_properties.title=文档属性… +document_properties_label=文档属性… +document_properties_file_name=文件名: +document_properties_file_size=文件大小: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} 字节) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} 字节) +document_properties_title=标题: +document_properties_author=作者: +document_properties_subject=主题: +document_properties_keywords=关键词: +document_properties_creation_date=创建日期: +document_properties_modification_date=修改日期: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=创建者: +document_properties_producer=PDF 生成器: +document_properties_version=PDF 版本: +document_properties_page_count=页数: +document_properties_page_size=页面大小: +document_properties_page_size_unit_inches=英寸 +document_properties_page_size_unit_millimeters=毫米 +document_properties_page_size_orientation_portrait=纵向 +document_properties_page_size_orientation_landscape=横向 +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=文本 +document_properties_page_size_name_legal=法律 +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}}({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}}({{name}},{{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=快速 Web 视图: +document_properties_linearized_yes=是 +document_properties_linearized_no=否 +document_properties_close=关闭 + +print_progress_message=正在准备打印文档… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=取消 + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=切换侧栏 +toggle_sidebar_notification2.title=切换侧栏(文档所含的大纲/附件/图层) +toggle_sidebar_label=切换侧栏 +document_outline.title=显示文档大纲(双击展开/折叠所有项) +document_outline_label=文档大纲 +attachments.title=显示附件 +attachments_label=附件 +layers.title=显示图层(双击即可将所有图层重置为默认状态) +layers_label=图层 +thumbs.title=显示缩略图 +thumbs_label=缩略图 +current_outline_item.title=查找当前大纲项目 +current_outline_item_label=当前大纲项目 +findbar.title=在文档中查找 +findbar_label=查找 + +additional_layers=其他图层 +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=第 {{page}} 页 +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=第 {{page}} 页 +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=页面 {{page}} 的缩略图 + +# Find panel button title and messages +find_input.title=查找 +find_input.placeholder=在文档中查找… +find_previous.title=查找词语上一次出现的位置 +find_previous_label=上一页 +find_next.title=查找词语后一次出现的位置 +find_next_label=下一页 +find_highlight=全部高亮显示 +find_match_case_label=区分大小写 +find_match_diacritics_label=匹配变音符号 +find_entire_word_label=字词匹配 +find_reached_top=到达文档开头,从末尾继续 +find_reached_bottom=到达文档末尾,从开头继续 +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]=第 {{current}} 项,共匹配 {{total}} 项 +find_match_count[two]=第 {{current}} 项,共匹配 {{total}} 项 +find_match_count[few]=第 {{current}} 项,共匹配 {{total}} 项 +find_match_count[many]=第 {{current}} 项,共匹配 {{total}} 项 +find_match_count[other]=第 {{current}} 项,共匹配 {{total}} 项 +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=超过 {{limit}} 项匹配 +find_match_count_limit[one]=超过 {{limit}} 项匹配 +find_match_count_limit[two]=超过 {{limit}} 项匹配 +find_match_count_limit[few]=超过 {{limit}} 项匹配 +find_match_count_limit[many]=超过 {{limit}} 项匹配 +find_match_count_limit[other]=超过 {{limit}} 项匹配 +find_not_found=找不到指定词语 + +# Error panel labels +error_more_info=更多信息 +error_less_info=更少信息 +error_close=关闭 +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=信息:{{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=堆栈:{{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=文件:{{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=行号:{{line}} +rendering_error=渲染页面时发生错误。 + +# Predefined zoom values +page_scale_width=适合页宽 +page_scale_fit=适合页面 +page_scale_auto=自动缩放 +page_scale_actual=实际大小 +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=正在载入… +loading_error=载入 PDF 时发生错误。 +invalid_file_error=无效或损坏的 PDF 文件。 +missing_file_error=缺少 PDF 文件。 +unexpected_response_error=意外的服务器响应。 + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}},{{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} 注释] +password_label=输入密码以打开此 PDF 文件。 +password_invalid=密码无效。请重试。 +password_ok=确定 +password_cancel=取消 + +printing_not_supported=警告:此浏览器尚未完整支持打印功能。 +printing_not_ready=警告:此 PDF 未完成载入,无法打印。 +web_fonts_disabled=Web 字体已被禁用:无法使用嵌入的 PDF 字体。 diff --git a/app/assets/javascripts/publications/locale/zh-TW/viewer.properties b/app/assets/javascripts/publications/locale/zh-TW/viewer.properties new file mode 100644 index 0000000..4de74ee --- /dev/null +++ b/app/assets/javascripts/publications/locale/zh-TW/viewer.properties @@ -0,0 +1,251 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=上一頁 +previous_label=上一頁 +next.title=下一頁 +next_label=下一頁 + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=第 +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=頁,共 {{pagesCount}} 頁 +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=(第 {{pageNumber}} 頁,共 {{pagesCount}} 頁) + +zoom_out.title=縮小 +zoom_out_label=縮小 +zoom_in.title=放大 +zoom_in_label=放大 +zoom.title=縮放 +presentation_mode.title=切換至簡報模式 +presentation_mode_label=簡報模式 +open_file.title=開啟檔案 +open_file_label=開啟 +print.title=列印 +print_label=列印 +download.title=下載 +download_label=下載 +bookmark.title=目前畫面(複製或開啟於新視窗) +bookmark_label=目前檢視 + +# Secondary toolbar and context menu +tools.title=工具 +tools_label=工具 +first_page.title=跳到第一頁 +first_page_label=跳到第一頁 +last_page.title=跳到最後一頁 +last_page_label=跳到最後一頁 +page_rotate_cw.title=順時針旋轉 +page_rotate_cw_label=順時針旋轉 +page_rotate_ccw.title=逆時針旋轉 +page_rotate_ccw_label=逆時針旋轉 + +cursor_text_select_tool.title=開啟文字選擇工具 +cursor_text_select_tool_label=文字選擇工具 +cursor_hand_tool.title=開啟頁面移動工具 +cursor_hand_tool_label=頁面移動工具 + +scroll_page.title=使用頁面捲動功能 +scroll_page_label=頁面捲動功能 +scroll_vertical.title=使用垂直捲動版面 +scroll_vertical_label=垂直捲動 +scroll_horizontal.title=使用水平捲動版面 +scroll_horizontal_label=水平捲動 +scroll_wrapped.title=使用多頁捲動版面 +scroll_wrapped_label=多頁捲動 + +spread_none.title=不要進行跨頁顯示 +spread_none_label=不跨頁 +spread_odd.title=從奇數頁開始跨頁 +spread_odd_label=奇數跨頁 +spread_even.title=從偶數頁開始跨頁 +spread_even_label=偶數跨頁 + +# Document properties dialog box +document_properties.title=文件內容… +document_properties_label=文件內容… +document_properties_file_name=檔案名稱: +document_properties_file_size=檔案大小: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB({{size_b}} 位元組) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB({{size_b}} 位元組) +document_properties_title=標題: +document_properties_author=作者: +document_properties_subject=主旨: +document_properties_keywords=關鍵字: +document_properties_creation_date=建立日期: +document_properties_modification_date=修改日期: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}} {{time}} +document_properties_creator=建立者: +document_properties_producer=PDF 產生器: +document_properties_version=PDF 版本: +document_properties_page_count=頁數: +document_properties_page_size=頁面大小: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=垂直 +document_properties_page_size_orientation_landscape=水平 +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letter +document_properties_page_size_name_legal=Legal +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}}({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}}({{name}},{{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=快速 Web 檢視: +document_properties_linearized_yes=是 +document_properties_linearized_no=否 +document_properties_close=關閉 + +print_progress_message=正在準備列印文件… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=取消 + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=切換側邊欄 +toggle_sidebar_notification2.title=切換側邊欄(包含大綱、附件、圖層的文件) +toggle_sidebar_label=切換側邊欄 +document_outline.title=顯示文件大綱(雙擊展開/摺疊所有項目) +document_outline_label=文件大綱 +attachments.title=顯示附件 +attachments_label=附件 +layers.title=顯示圖層(滑鼠雙擊即可將所有圖層重設為預設狀態) +layers_label=圖層 +thumbs.title=顯示縮圖 +thumbs_label=縮圖 +current_outline_item.title=尋找目前的大綱項目 +current_outline_item_label=目前的大綱項目 +findbar.title=在文件中尋找 +findbar_label=尋找 + +additional_layers=其他圖層 +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=第 {{page}} 頁 +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=第 {{page}} 頁 +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=頁 {{page}} 的縮圖 + +# Find panel button title and messages +find_input.title=尋找 +find_input.placeholder=在文件中搜尋… +find_previous.title=尋找文字前次出現的位置 +find_previous_label=上一個 +find_next.title=尋找文字下次出現的位置 +find_next_label=下一個 +find_highlight=全部強調標示 +find_match_case_label=區分大小寫 +find_match_diacritics_label=符合變音符號 +find_entire_word_label=符合整個字 +find_reached_top=已搜尋至文件頂端,自底端繼續搜尋 +find_reached_bottom=已搜尋至文件底端,自頂端繼續搜尋 +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]=第 {{current}} 筆,共找到 {{total}} 筆 +find_match_count[two]=第 {{current}} 筆,共找到 {{total}} 筆 +find_match_count[few]=第 {{current}} 筆,共找到 {{total}} 筆 +find_match_count[many]=第 {{current}} 筆,共找到 {{total}} 筆 +find_match_count[other]=第 {{current}} 筆,共找到 {{total}} 筆 +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=找到超過 {{limit}} 筆 +find_match_count_limit[one]=找到超過 {{limit}} 筆 +find_match_count_limit[two]=找到超過 {{limit}} 筆 +find_match_count_limit[few]=找到超過 {{limit}} 筆 +find_match_count_limit[many]=找到超過 {{limit}} 筆 +find_match_count_limit[other]=找到超過 {{limit}} 筆 +find_not_found=找不到指定文字 + +# Error panel labels +error_more_info=更多資訊 +error_less_info=更少資訊 +error_close=關閉 +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=訊息: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=堆疊: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=檔案: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=行: {{line}} +rendering_error=描繪頁面時發生錯誤。 + +# Predefined zoom values +page_scale_width=頁面寬度 +page_scale_fit=縮放至頁面大小 +page_scale_auto=自動縮放 +page_scale_actual=實際大小 +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=載入中… +loading_error=載入 PDF 時發生錯誤。 +invalid_file_error=無效或毀損的 PDF 檔案。 +missing_file_error=找不到 PDF 檔案。 +unexpected_response_error=伺服器回應未預期的內容。 + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}} {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} 註解] +password_label=請輸入用來開啟此 PDF 檔案的密碼。 +password_invalid=密碼不正確,請再試一次。 +password_ok=確定 +password_cancel=取消 + +printing_not_supported=警告: 此瀏覽器未完整支援列印功能。 +printing_not_ready=警告: 此 PDF 未完成下載以供列印。 +web_fonts_disabled=已停用網路字型 (Web fonts): 無法使用 PDF 內嵌字型。 diff --git a/app/assets/javascripts/publications/pdf-turn.js b/app/assets/javascripts/publications/pdf-turn.js new file mode 100644 index 0000000..6449e49 --- /dev/null +++ b/app/assets/javascripts/publications/pdf-turn.js @@ -0,0 +1,205 @@ + /********************************************************/ + /** HERE MAIN MODIFIED PART FOR turnjs SUPPORT **/ +/********************************************************/ +/// requires jquery and turnjs +/// all code added in viewer.js (from pdfjs build) in order to support +/// flipbook is commented with '$FB:' string to allow to find it easilly + +var bookFlip = { + _width: [], //flipbook pages width + _height: [], //flipbook pages height + active: false, //flipbook mode on + _spreadBk: NaN, //spread mode backup to restore + _evSpread: null,//spread mode changed default event handler + _spread: NaN, //spread page mode + toStart: false, //PDFjs require flipbook at start + _intoView: null,//link handler default function + _visPages: null,//visible pages function + _ready: false, //ready to start flipbook + + // event listeners when bookFlip need different handling + init: function(){ + $(document).on('rotationchanging', () => {this.rotate()}); + $(document).on('scalechanging', () => {this.resize()}); + $(document).on('pagechanging', () => {this.flip()}); + + $(document).on('documentinit', () => { + this.stop(); + this._ready = false; + }); + + $(document).on('scrollmodechanged', () => { + var scroll = PDFViewerApplication.pdfViewer.scrollMode; + if (scroll === 3)this.start(); + else this.stop(); + var button = PDFViewerApplication.appConfig.secondaryToolbar.bookFlipButton; + button.classList.toggle('toggled', scroll === 3); + }); + + $(document).on('switchspreadmode', (evt) => { + this.spread(evt.originalEvent.detail.mode); + PDFViewerApplication.eventBus.dispatch('spreadmodechanged', { + source: PDFViewerApplication, + mode: evt.originalEvent.detail.mode + }); + }); + + $(document).on('pagesloaded', () => { + this._ready = true; + if(this.toStart){ + this.toStart = false; + PDFViewerApplication.pdfViewer.scrollMode = 3; + } + }); + + $(document).on('baseviewerinit', () => { + PDFViewerApplicationOptions.set('scrollModeOnLoad',3); + + this._intoView = PDFViewerApplication.pdfViewer.scrollPageIntoView; + this._visPages = PDFViewerApplication.pdfViewer._getVisiblePages; + }); + }, + // startup flipbook + start: function(){ + if(this.active || !this._ready)return; + this.active = true; + + var viewer = PDFViewerApplication.pdfViewer; + + $('.scrollModeButtons').removeClass('toggled'); + + this._spreadBk = viewer.spreadMode; + var selected = $('.spreadModeButtons.toggled').attr('id'); + this._spread = (this._spreadBk !== 2) ? 0 : 2; + viewer.spreadMode = 0; + viewer._spreadMode = -1; + $('.spreadModeButtons').removeClass('toggled'); + $('#' + selected).addClass('toggled'); + + this._evSpread = PDFViewerApplication.eventBus._listeners.switchspreadmode; + PDFViewerApplication.eventBus._listeners.switchspreadmode = null; + + viewer.scrollPageIntoView = (data) => {return this.link(data)}; + viewer._getVisiblePages = () => {return this.load()}; + + var scale = viewer.currentScale; + var parent = this; + $('#viewer .page').each(function(){ + parent._width[$(this).attr('data-page-number')] = $(this).width() / scale; + parent._height[$(this).attr('data-page-number')] = $(this).height() / scale; + }); + + $('#viewer').removeClass('pdfViewer').addClass('bookViewer').css({ opacity: 1 });; + + $('#spreadOdd').prop('disabled', true); + var pages = PDFViewerApplication.pagesCount; + for(var page = 3; page < pages + (pages%2); page ++){ + if(this._height[page]!=this._height[page-1] || this._width[page]!=this._width[page-1]){ + $('#spreadEven').prop('disabled', true); + this._spread = 0; + } + } + + $('#viewer').turn({ + elevation: 50, + width: this._size(PDFViewerApplication.page,'width') * this._spreadMult(), + height: this._size(PDFViewerApplication.page,'height'), + page: PDFViewerApplication.page, + when: { + turned: function(event, page) { + PDFViewerApplication.page = page; + viewer.update(); + } + }, + display: this._spreadType() + }); + }, + // shutdown flipbook + stop: function(){ + if(!this.active)return; + this.active = false; + + var viewer = PDFViewerApplication.pdfViewer; + + $('#viewer').turn('destroy'); + + viewer.scrollPageIntoView = this._intoView; + viewer._getVisiblePages = this._visPages; + + PDFViewerApplication.eventBus._listeners.switchspreadmode = this._evSpread; + viewer.spreadMode = this._spreadBk; + + $('#viewer .page').removeAttr('style'); + $('#viewer').removeAttr('style').removeClass('shadow bookViewer').addClass('pdfViewer'); + + var parent = this; + $('#viewer .page').each(function(){ + var page = $(this).attr('data-page-number'); + $(this).css( 'width', parent._size(page,'width')).css( 'height', parent._size(page,'height')); + }); + + }, + // resize flipbook pages + resize: function(){ + if(!this.active)return; + var page = PDFViewerApplication.page; + $('#viewer').turn('size', this._size(page,'width') * this._spreadMult(), this._size(page,'height')); + }, + // rotate flipbook pages + rotate: function(){ + if(!this.active)return; + [this._height, this._width] = [this._width, this._height]; + this.resize(); + }, + // change flipbook spread mode + spread: function(spreadMode){ + if(!this.active)return; + this._spread = spreadMode; + $('#viewer').turn('display', this._spreadType()); + this.resize(); + }, + // turn page + flip: function(){ + if(!this.active)return; + $('#viewer').turn('page', PDFViewerApplication.page); + if(!PDFViewerApplication.pdfViewer.hasEqualPageSizes)this.resize(); + }, + // follow internal links + link: function(data){ + if(!this.active)return; + PDFViewerApplication.page = data.pageNumber; + }, + // load pages near shown page + load: function(){ + if(!this.active)return; + var views = PDFViewerApplication.pdfViewer._pages; + var arr = []; + var page = PDFViewerApplication.page; + var min = Math.max(page - ((this._spread === 0) ? 2 : 3 + (page%2)), 0); + var max = Math.min(page + ((this._spread === 0) ? 1 : 3 - (page%2)), views.length); + + for (var i = min, ii = max; i < ii; i++) { + arr.push({ + id: views[i].id, + view: views[i], + x: 0, y: 0, percent: 100 + }); + } + + return { first:arr[page - min - 1], last:arr[arr.length-1], views:arr }; + }, + _spreadType: function(){ + return (this._spread === 0) ? 'single' : 'double'; + }, + _spreadMult: function(){ + return (this._spread === 0) ? 1 : 2; + }, + _size: function(page,request){ + var size; + if (request === 'width') size = this._width[page]; + if (request === 'height') size = this._height[page]; + return size * PDFViewerApplication.pdfViewer.currentScale; + } +}; + +bookFlip.init(); \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/bcmaps/.gitattributes b/app/assets/javascripts/publications/pdf/bcmaps/.gitattributes new file mode 100644 index 0000000..556f8c8 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/bcmaps/.gitattributes @@ -0,0 +1 @@ +* binary diff --git a/app/assets/javascripts/publications/pdf/bcmaps/78-EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/78-EUC-H.bcmap new file mode 100644 index 0000000..2655fc7 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/78-EUC-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/78-EUC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/78-EUC-V.bcmap new file mode 100644 index 0000000..f1ed853 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/78-EUC-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/78-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/78-H.bcmap new file mode 100644 index 0000000..39e89d3 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/78-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/78-RKSJ-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/78-RKSJ-H.bcmap new file mode 100644 index 0000000..e4167cb Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/78-RKSJ-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/78-RKSJ-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/78-RKSJ-V.bcmap new file mode 100644 index 0000000..50b1646 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/78-RKSJ-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/78-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/78-V.bcmap new file mode 100644 index 0000000..d7af99b Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/78-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/78ms-RKSJ-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/78ms-RKSJ-H.bcmap new file mode 100644 index 0000000..37077d0 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/78ms-RKSJ-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/78ms-RKSJ-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/78ms-RKSJ-V.bcmap new file mode 100644 index 0000000..acf2323 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/78ms-RKSJ-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/83pv-RKSJ-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/83pv-RKSJ-H.bcmap new file mode 100644 index 0000000..2359bc5 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/83pv-RKSJ-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/90ms-RKSJ-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/90ms-RKSJ-H.bcmap new file mode 100644 index 0000000..af82938 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/90ms-RKSJ-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/90ms-RKSJ-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/90ms-RKSJ-V.bcmap new file mode 100644 index 0000000..780549d Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/90ms-RKSJ-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/90msp-RKSJ-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/90msp-RKSJ-H.bcmap new file mode 100644 index 0000000..bfd3119 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/90msp-RKSJ-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/90msp-RKSJ-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/90msp-RKSJ-V.bcmap new file mode 100644 index 0000000..25ef14a Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/90msp-RKSJ-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/90pv-RKSJ-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/90pv-RKSJ-H.bcmap new file mode 100644 index 0000000..02f713b Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/90pv-RKSJ-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/90pv-RKSJ-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/90pv-RKSJ-V.bcmap new file mode 100644 index 0000000..d08e0cc Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/90pv-RKSJ-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Add-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Add-H.bcmap new file mode 100644 index 0000000..59442ac Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Add-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Add-RKSJ-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Add-RKSJ-H.bcmap new file mode 100644 index 0000000..a3065e4 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Add-RKSJ-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Add-RKSJ-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Add-RKSJ-V.bcmap new file mode 100644 index 0000000..040014c Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Add-RKSJ-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Add-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Add-V.bcmap new file mode 100644 index 0000000..2f816d3 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Add-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-0.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-0.bcmap new file mode 100644 index 0000000..88ec04a Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-0.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-1.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-1.bcmap new file mode 100644 index 0000000..03a5014 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-1.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-2.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-2.bcmap new file mode 100644 index 0000000..2aa9514 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-2.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-3.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-3.bcmap new file mode 100644 index 0000000..86d8b8c Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-3.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-4.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-4.bcmap new file mode 100644 index 0000000..f50fc6c Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-4.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-5.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-5.bcmap new file mode 100644 index 0000000..6caf4a8 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-5.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-6.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-6.bcmap new file mode 100644 index 0000000..b77fb07 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-6.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-UCS2.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-UCS2.bcmap new file mode 100644 index 0000000..69d79a2 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-UCS2.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-0.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-0.bcmap new file mode 100644 index 0000000..3610108 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-0.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-1.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-1.bcmap new file mode 100644 index 0000000..707bb10 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-1.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-2.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-2.bcmap new file mode 100644 index 0000000..f7648cc Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-2.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-3.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-3.bcmap new file mode 100644 index 0000000..8521458 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-3.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-4.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-4.bcmap new file mode 100644 index 0000000..e40c63a Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-4.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-5.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-5.bcmap new file mode 100644 index 0000000..d7623b5 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-5.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-UCS2.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-UCS2.bcmap new file mode 100644 index 0000000..7586525 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-UCS2.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-0.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-0.bcmap new file mode 100644 index 0000000..f0e94ec Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-0.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-1.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-1.bcmap new file mode 100644 index 0000000..dad42c5 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-1.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-2.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-2.bcmap new file mode 100644 index 0000000..090819a Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-2.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-3.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-3.bcmap new file mode 100644 index 0000000..087dfc1 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-3.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-4.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-4.bcmap new file mode 100644 index 0000000..46aa9bf Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-4.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-5.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-5.bcmap new file mode 100644 index 0000000..5b4b65c Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-5.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-6.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-6.bcmap new file mode 100644 index 0000000..e77d699 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-6.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-UCS2.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-UCS2.bcmap new file mode 100644 index 0000000..128a141 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-UCS2.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-0.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-0.bcmap new file mode 100644 index 0000000..cef1a99 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-0.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-1.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-1.bcmap new file mode 100644 index 0000000..11ffa36 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-1.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-2.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-2.bcmap new file mode 100644 index 0000000..3172308 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-2.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-UCS2.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-UCS2.bcmap new file mode 100644 index 0000000..f3371c0 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-UCS2.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/B5-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/B5-H.bcmap new file mode 100644 index 0000000..beb4d22 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/B5-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/B5-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/B5-V.bcmap new file mode 100644 index 0000000..2d4f87d Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/B5-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/B5pc-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/B5pc-H.bcmap new file mode 100644 index 0000000..ce00131 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/B5pc-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/B5pc-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/B5pc-V.bcmap new file mode 100644 index 0000000..73b99ff Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/B5pc-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/CNS-EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/CNS-EUC-H.bcmap new file mode 100644 index 0000000..61d1d0c Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/CNS-EUC-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/CNS-EUC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/CNS-EUC-V.bcmap new file mode 100644 index 0000000..1a393a5 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/CNS-EUC-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/CNS1-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/CNS1-H.bcmap new file mode 100644 index 0000000..f738e21 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/CNS1-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/CNS1-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/CNS1-V.bcmap new file mode 100644 index 0000000..9c3169f Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/CNS1-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/CNS2-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/CNS2-H.bcmap new file mode 100644 index 0000000..c89b352 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/CNS2-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/CNS2-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/CNS2-V.bcmap new file mode 100644 index 0000000..7588cec --- /dev/null +++ b/app/assets/javascripts/publications/pdf/bcmaps/CNS2-V.bcmap @@ -0,0 +1,3 @@ +RCopyright 1990-2009 Adobe Systems Incorporated. +All rights reserved. +See ./LICENSECNS2-H \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/bcmaps/ETHK-B5-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/ETHK-B5-H.bcmap new file mode 100644 index 0000000..cb29415 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/ETHK-B5-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/ETHK-B5-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/ETHK-B5-V.bcmap new file mode 100644 index 0000000..f09aec6 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/ETHK-B5-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/ETen-B5-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/ETen-B5-H.bcmap new file mode 100644 index 0000000..c2d7746 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/ETen-B5-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/ETen-B5-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/ETen-B5-V.bcmap new file mode 100644 index 0000000..89bff15 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/ETen-B5-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/ETenms-B5-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/ETenms-B5-H.bcmap new file mode 100644 index 0000000..a7d69db --- /dev/null +++ b/app/assets/javascripts/publications/pdf/bcmaps/ETenms-B5-H.bcmap @@ -0,0 +1,3 @@ +RCopyright 1990-2009 Adobe Systems Incorporated. +All rights reserved. +See ./LICENSE ETen-B5-H` ^ \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/bcmaps/ETenms-B5-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/ETenms-B5-V.bcmap new file mode 100644 index 0000000..adc5d61 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/ETenms-B5-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/EUC-H.bcmap new file mode 100644 index 0000000..e92ea5b Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/EUC-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/EUC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/EUC-V.bcmap new file mode 100644 index 0000000..7a7c183 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/EUC-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Ext-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Ext-H.bcmap new file mode 100644 index 0000000..3b5cde4 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Ext-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Ext-RKSJ-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Ext-RKSJ-H.bcmap new file mode 100644 index 0000000..ea4d2d9 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Ext-RKSJ-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Ext-RKSJ-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Ext-RKSJ-V.bcmap new file mode 100644 index 0000000..3457c27 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Ext-RKSJ-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Ext-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Ext-V.bcmap new file mode 100644 index 0000000..4999ca4 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Ext-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GB-EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GB-EUC-H.bcmap new file mode 100644 index 0000000..e39908b Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/GB-EUC-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GB-EUC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GB-EUC-V.bcmap new file mode 100644 index 0000000..d5be544 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/GB-EUC-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GB-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GB-H.bcmap new file mode 100644 index 0000000..39189c5 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/bcmaps/GB-H.bcmap @@ -0,0 +1,4 @@ +RCopyright 1990-2009 Adobe Systems Incorporated. +All rights reserved. +See ./LICENSE!!]aX!!]`21> p z$]"Rd-U7* 4%+ Z {/%<9Kb1]." `],"] +"]h"]F"]$"]"]`"]>"]"]z"]X"]6"]"]r"]P"]."] "]j"]H"]&"]"]b"]@"]"]|"]Z"]8"]"]t"]R"]0"]"]l"]J"]("]"]d"]B"] "X~']W"]5"]"]q"]O"]-"] "]i"]G"]%"]"]a"]?"]"]{"]Y"]7"]"]s"]Q"]/"] "]k"]I"]'"]"]c"]A"]"]}"]["]9 \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GB-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GB-V.bcmap new file mode 100644 index 0000000..3108345 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/GB-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBK-EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBK-EUC-H.bcmap new file mode 100644 index 0000000..05fff7e Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/GBK-EUC-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBK-EUC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBK-EUC-V.bcmap new file mode 100644 index 0000000..0cdf6be Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/GBK-EUC-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBK2K-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBK2K-H.bcmap new file mode 100644 index 0000000..46f6ba5 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/GBK2K-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBK2K-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBK2K-V.bcmap new file mode 100644 index 0000000..d9a9479 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/GBK2K-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBKp-EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBKp-EUC-H.bcmap new file mode 100644 index 0000000..5cb0af6 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/GBKp-EUC-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBKp-EUC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBKp-EUC-V.bcmap new file mode 100644 index 0000000..bca93b8 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/GBKp-EUC-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBT-EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBT-EUC-H.bcmap new file mode 100644 index 0000000..4b4e2d3 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/GBT-EUC-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBT-EUC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBT-EUC-V.bcmap new file mode 100644 index 0000000..38f7066 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/GBT-EUC-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBT-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBT-H.bcmap new file mode 100644 index 0000000..8437ac3 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/GBT-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBT-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBT-V.bcmap new file mode 100644 index 0000000..697ab4a Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/GBT-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBTpc-EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBTpc-EUC-H.bcmap new file mode 100644 index 0000000..f6e50e8 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/GBTpc-EUC-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBTpc-EUC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBTpc-EUC-V.bcmap new file mode 100644 index 0000000..6c0d71a Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/GBTpc-EUC-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBpc-EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBpc-EUC-H.bcmap new file mode 100644 index 0000000..c9edf67 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/GBpc-EUC-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBpc-EUC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBpc-EUC-V.bcmap new file mode 100644 index 0000000..31450c9 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/GBpc-EUC-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/H.bcmap new file mode 100644 index 0000000..7b24ea4 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/HKdla-B5-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/HKdla-B5-H.bcmap new file mode 100644 index 0000000..7d30c05 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/HKdla-B5-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/HKdla-B5-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/HKdla-B5-V.bcmap new file mode 100644 index 0000000..7894694 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/HKdla-B5-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/HKdlb-B5-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/HKdlb-B5-H.bcmap new file mode 100644 index 0000000..d829a23 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/HKdlb-B5-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/HKdlb-B5-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/HKdlb-B5-V.bcmap new file mode 100644 index 0000000..2b572b5 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/HKdlb-B5-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/HKgccs-B5-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/HKgccs-B5-H.bcmap new file mode 100644 index 0000000..971a4f2 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/HKgccs-B5-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/HKgccs-B5-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/HKgccs-B5-V.bcmap new file mode 100644 index 0000000..d353ca2 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/HKgccs-B5-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/HKm314-B5-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/HKm314-B5-H.bcmap new file mode 100644 index 0000000..576dc01 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/HKm314-B5-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/HKm314-B5-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/HKm314-B5-V.bcmap new file mode 100644 index 0000000..0e96d0e Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/HKm314-B5-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/HKm471-B5-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/HKm471-B5-H.bcmap new file mode 100644 index 0000000..11d170c Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/HKm471-B5-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/HKm471-B5-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/HKm471-B5-V.bcmap new file mode 100644 index 0000000..54959bf Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/HKm471-B5-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/HKscs-B5-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/HKscs-B5-H.bcmap new file mode 100644 index 0000000..6ef7857 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/HKscs-B5-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/HKscs-B5-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/HKscs-B5-V.bcmap new file mode 100644 index 0000000..1fb2fa2 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/HKscs-B5-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Hankaku.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Hankaku.bcmap new file mode 100644 index 0000000..4b8ec7f Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Hankaku.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Hiragana.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Hiragana.bcmap new file mode 100644 index 0000000..17e983e Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Hiragana.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSC-EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSC-EUC-H.bcmap new file mode 100644 index 0000000..a45c65f Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/KSC-EUC-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSC-EUC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSC-EUC-V.bcmap new file mode 100644 index 0000000..0e7b21f Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/KSC-EUC-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSC-H.bcmap new file mode 100644 index 0000000..b9b22b6 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/KSC-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSC-Johab-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSC-Johab-H.bcmap new file mode 100644 index 0000000..2531ffc Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/KSC-Johab-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSC-Johab-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSC-Johab-V.bcmap new file mode 100644 index 0000000..367ceb2 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/KSC-Johab-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSC-V.bcmap new file mode 100644 index 0000000..6ae2f0b Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/KSC-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-H.bcmap new file mode 100644 index 0000000..a8d4240 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-HW-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-HW-H.bcmap new file mode 100644 index 0000000..8b4ae18 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-HW-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-HW-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-HW-V.bcmap new file mode 100644 index 0000000..b655dbc Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-HW-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-V.bcmap new file mode 100644 index 0000000..21f97f6 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSCpc-EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSCpc-EUC-H.bcmap new file mode 100644 index 0000000..e06f361 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/KSCpc-EUC-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSCpc-EUC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSCpc-EUC-V.bcmap new file mode 100644 index 0000000..f3c9113 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/KSCpc-EUC-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Katakana.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Katakana.bcmap new file mode 100644 index 0000000..524303c Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Katakana.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/LICENSE b/app/assets/javascripts/publications/pdf/bcmaps/LICENSE new file mode 100644 index 0000000..b1ad168 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/bcmaps/LICENSE @@ -0,0 +1,36 @@ +%%Copyright: ----------------------------------------------------------- +%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated. +%%Copyright: All rights reserved. +%%Copyright: +%%Copyright: Redistribution and use in source and binary forms, with or +%%Copyright: without modification, are permitted provided that the +%%Copyright: following conditions are met: +%%Copyright: +%%Copyright: Redistributions of source code must retain the above +%%Copyright: copyright notice, this list of conditions and the following +%%Copyright: disclaimer. +%%Copyright: +%%Copyright: Redistributions in binary form must reproduce the above +%%Copyright: copyright notice, this list of conditions and the following +%%Copyright: disclaimer in the documentation and/or other materials +%%Copyright: provided with the distribution. +%%Copyright: +%%Copyright: Neither the name of Adobe Systems Incorporated nor the names +%%Copyright: of its contributors may be used to endorse or promote +%%Copyright: products derived from this software without specific prior +%%Copyright: written permission. +%%Copyright: +%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +%%Copyright: ----------------------------------------------------------- diff --git a/app/assets/javascripts/publications/pdf/bcmaps/NWP-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/NWP-H.bcmap new file mode 100644 index 0000000..afc5e4b Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/NWP-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/NWP-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/NWP-V.bcmap new file mode 100644 index 0000000..bb5785e Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/NWP-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/RKSJ-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/RKSJ-H.bcmap new file mode 100644 index 0000000..fb8d298 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/RKSJ-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/RKSJ-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/RKSJ-V.bcmap new file mode 100644 index 0000000..a2555a6 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/RKSJ-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Roman.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Roman.bcmap new file mode 100644 index 0000000..f896dcf Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/Roman.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UCS2-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UCS2-H.bcmap new file mode 100644 index 0000000..d5db27c Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UCS2-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UCS2-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UCS2-V.bcmap new file mode 100644 index 0000000..1dc9b7a Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UCS2-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF16-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF16-H.bcmap new file mode 100644 index 0000000..961afef Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF16-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF16-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF16-V.bcmap new file mode 100644 index 0000000..df0cffe Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF16-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF32-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF32-H.bcmap new file mode 100644 index 0000000..1ab18a1 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF32-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF32-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF32-V.bcmap new file mode 100644 index 0000000..ad14662 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF32-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF8-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF8-H.bcmap new file mode 100644 index 0000000..83c6bd7 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF8-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF8-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF8-V.bcmap new file mode 100644 index 0000000..22a27e4 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF8-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UCS2-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UCS2-H.bcmap new file mode 100644 index 0000000..5bd6228 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UCS2-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UCS2-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UCS2-V.bcmap new file mode 100644 index 0000000..53c534b Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UCS2-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF16-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF16-H.bcmap new file mode 100644 index 0000000..b95045b Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF16-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF16-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF16-V.bcmap new file mode 100644 index 0000000..51f023e Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF16-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF32-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF32-H.bcmap new file mode 100644 index 0000000..f0dbd14 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF32-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF32-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF32-V.bcmap new file mode 100644 index 0000000..ce9c30a Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF32-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF8-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF8-H.bcmap new file mode 100644 index 0000000..982ca46 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF8-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF8-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF8-V.bcmap new file mode 100644 index 0000000..f78020d Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF8-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-H.bcmap new file mode 100644 index 0000000..7daf56a Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-HW-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-HW-H.bcmap new file mode 100644 index 0000000..ac9975c Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-HW-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-HW-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-HW-V.bcmap new file mode 100644 index 0000000..3da0a1c Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-HW-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-V.bcmap new file mode 100644 index 0000000..c50b9dd Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF16-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF16-H.bcmap new file mode 100644 index 0000000..6761344 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF16-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF16-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF16-V.bcmap new file mode 100644 index 0000000..70bf90c Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF16-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF32-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF32-H.bcmap new file mode 100644 index 0000000..7a83d53 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF32-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF32-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF32-V.bcmap new file mode 100644 index 0000000..7a87135 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF32-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF8-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF8-H.bcmap new file mode 100644 index 0000000..9f0334c Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF8-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF8-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF8-V.bcmap new file mode 100644 index 0000000..808a94f Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF8-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF16-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF16-H.bcmap new file mode 100644 index 0000000..d768bf8 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF16-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF16-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF16-V.bcmap new file mode 100644 index 0000000..3d5bf6f Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF16-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF32-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF32-H.bcmap new file mode 100644 index 0000000..09eee10 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF32-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF32-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF32-V.bcmap new file mode 100644 index 0000000..6c54600 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF32-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF8-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF8-H.bcmap new file mode 100644 index 0000000..1b1a64f Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF8-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF8-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF8-V.bcmap new file mode 100644 index 0000000..994aa9e Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF8-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJISPro-UCS2-HW-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJISPro-UCS2-HW-V.bcmap new file mode 100644 index 0000000..643f921 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJISPro-UCS2-HW-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJISPro-UCS2-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJISPro-UCS2-V.bcmap new file mode 100644 index 0000000..c148f67 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJISPro-UCS2-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJISPro-UTF8-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJISPro-UTF8-V.bcmap new file mode 100644 index 0000000..1849d80 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJISPro-UTF8-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJISX0213-UTF32-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJISX0213-UTF32-H.bcmap new file mode 100644 index 0000000..a83a677 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJISX0213-UTF32-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJISX0213-UTF32-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJISX0213-UTF32-V.bcmap new file mode 100644 index 0000000..f527248 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJISX0213-UTF32-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJISX02132004-UTF32-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJISX02132004-UTF32-H.bcmap new file mode 100644 index 0000000..e1a988d Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJISX02132004-UTF32-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJISX02132004-UTF32-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJISX02132004-UTF32-V.bcmap new file mode 100644 index 0000000..47e054a Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniJISX02132004-UTF32-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UCS2-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UCS2-H.bcmap new file mode 100644 index 0000000..b5b9485 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UCS2-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UCS2-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UCS2-V.bcmap new file mode 100644 index 0000000..026adca Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UCS2-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF16-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF16-H.bcmap new file mode 100644 index 0000000..fd4e66e Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF16-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF16-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF16-V.bcmap new file mode 100644 index 0000000..075efb7 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF16-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF32-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF32-H.bcmap new file mode 100644 index 0000000..769d214 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF32-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF32-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF32-V.bcmap new file mode 100644 index 0000000..bdab208 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF32-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF8-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF8-H.bcmap new file mode 100644 index 0000000..6ff8674 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF8-H.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF8-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF8-V.bcmap new file mode 100644 index 0000000..8dfa76a Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF8-V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/V.bcmap new file mode 100644 index 0000000..fdec990 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/V.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/bcmaps/WP-Symbol.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/WP-Symbol.bcmap new file mode 100644 index 0000000..46729bb Binary files /dev/null and b/app/assets/javascripts/publications/pdf/bcmaps/WP-Symbol.bcmap differ diff --git a/app/assets/javascripts/publications/pdf/compressed.tracemonkey-pldi-09.pdf b/app/assets/javascripts/publications/pdf/compressed.tracemonkey-pldi-09.pdf new file mode 100644 index 0000000..6557018 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/compressed.tracemonkey-pldi-09.pdf differ diff --git a/app/assets/javascripts/publications/pdf/images/annotation-check.svg b/app/assets/javascripts/publications/pdf/images/annotation-check.svg new file mode 100644 index 0000000..71cd16d --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/annotation-check.svg @@ -0,0 +1,11 @@ + + + + diff --git a/app/assets/javascripts/publications/pdf/images/annotation-comment.svg b/app/assets/javascripts/publications/pdf/images/annotation-comment.svg new file mode 100644 index 0000000..86f1f17 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/annotation-comment.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/app/assets/javascripts/publications/pdf/images/annotation-help.svg b/app/assets/javascripts/publications/pdf/images/annotation-help.svg new file mode 100644 index 0000000..00938fe --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/annotation-help.svg @@ -0,0 +1,26 @@ + + + + + + + + + + diff --git a/app/assets/javascripts/publications/pdf/images/annotation-insert.svg b/app/assets/javascripts/publications/pdf/images/annotation-insert.svg new file mode 100644 index 0000000..519ef68 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/annotation-insert.svg @@ -0,0 +1,10 @@ + + + + diff --git a/app/assets/javascripts/publications/pdf/images/annotation-key.svg b/app/assets/javascripts/publications/pdf/images/annotation-key.svg new file mode 100644 index 0000000..8d09d53 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/annotation-key.svg @@ -0,0 +1,11 @@ + + + + diff --git a/app/assets/javascripts/publications/pdf/images/annotation-newparagraph.svg b/app/assets/javascripts/publications/pdf/images/annotation-newparagraph.svg new file mode 100644 index 0000000..38d2497 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/annotation-newparagraph.svg @@ -0,0 +1,11 @@ + + + + diff --git a/app/assets/javascripts/publications/pdf/images/annotation-noicon.svg b/app/assets/javascripts/publications/pdf/images/annotation-noicon.svg new file mode 100644 index 0000000..c07d108 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/annotation-noicon.svg @@ -0,0 +1,7 @@ + + + diff --git a/app/assets/javascripts/publications/pdf/images/annotation-note.svg b/app/assets/javascripts/publications/pdf/images/annotation-note.svg new file mode 100644 index 0000000..7017365 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/annotation-note.svg @@ -0,0 +1,42 @@ + + + + + + + + diff --git a/app/assets/javascripts/publications/pdf/images/annotation-paragraph.svg b/app/assets/javascripts/publications/pdf/images/annotation-paragraph.svg new file mode 100644 index 0000000..6ae5212 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/annotation-paragraph.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/app/assets/javascripts/publications/pdf/images/findbarButton-next-rtl.png b/app/assets/javascripts/publications/pdf/images/findbarButton-next-rtl.png new file mode 100644 index 0000000..bef0274 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/findbarButton-next-rtl.png differ diff --git a/app/assets/javascripts/publications/pdf/images/findbarButton-next-rtl@2x.png b/app/assets/javascripts/publications/pdf/images/findbarButton-next-rtl@2x.png new file mode 100644 index 0000000..1da6dc9 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/findbarButton-next-rtl@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/findbarButton-next.png b/app/assets/javascripts/publications/pdf/images/findbarButton-next.png new file mode 100644 index 0000000..de1d0fc Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/findbarButton-next.png differ diff --git a/app/assets/javascripts/publications/pdf/images/findbarButton-next.svg b/app/assets/javascripts/publications/pdf/images/findbarButton-next.svg new file mode 100644 index 0000000..a81eb02 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/findbarButton-next.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/findbarButton-next@2x.png b/app/assets/javascripts/publications/pdf/images/findbarButton-next@2x.png new file mode 100644 index 0000000..0250307 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/findbarButton-next@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/findbarButton-previous-rtl.png b/app/assets/javascripts/publications/pdf/images/findbarButton-previous-rtl.png new file mode 100644 index 0000000..de1d0fc Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/findbarButton-previous-rtl.png differ diff --git a/app/assets/javascripts/publications/pdf/images/findbarButton-previous-rtl@2x.png b/app/assets/javascripts/publications/pdf/images/findbarButton-previous-rtl@2x.png new file mode 100644 index 0000000..0250307 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/findbarButton-previous-rtl@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/findbarButton-previous.png b/app/assets/javascripts/publications/pdf/images/findbarButton-previous.png new file mode 100644 index 0000000..bef0274 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/findbarButton-previous.png differ diff --git a/app/assets/javascripts/publications/pdf/images/findbarButton-previous.svg b/app/assets/javascripts/publications/pdf/images/findbarButton-previous.svg new file mode 100644 index 0000000..5fd7032 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/findbarButton-previous.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/findbarButton-previous@2x.png b/app/assets/javascripts/publications/pdf/images/findbarButton-previous@2x.png new file mode 100644 index 0000000..1da6dc9 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/findbarButton-previous@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/grab.cur b/app/assets/javascripts/publications/pdf/images/grab.cur new file mode 100644 index 0000000..db7ad5a Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/grab.cur differ diff --git a/app/assets/javascripts/publications/pdf/images/grabbing.cur b/app/assets/javascripts/publications/pdf/images/grabbing.cur new file mode 100644 index 0000000..e0dfd04 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/grabbing.cur differ diff --git a/app/assets/javascripts/publications/pdf/images/loading-dark.svg b/app/assets/javascripts/publications/pdf/images/loading-dark.svg new file mode 100644 index 0000000..fa5269b --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/loading-dark.svg @@ -0,0 +1,24 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/loading-icon.gif b/app/assets/javascripts/publications/pdf/images/loading-icon.gif new file mode 100644 index 0000000..1c72ebb Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/loading-icon.gif differ diff --git a/app/assets/javascripts/publications/pdf/images/loading-small.png b/app/assets/javascripts/publications/pdf/images/loading-small.png new file mode 100644 index 0000000..8831a80 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/loading-small.png differ diff --git a/app/assets/javascripts/publications/pdf/images/loading-small@2x.png b/app/assets/javascripts/publications/pdf/images/loading-small@2x.png new file mode 100644 index 0000000..b25b445 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/loading-small@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/loading.svg b/app/assets/javascripts/publications/pdf/images/loading.svg new file mode 100644 index 0000000..0a15ff6 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/loading.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-documentProperties.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-documentProperties.png new file mode 100644 index 0000000..40925e2 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-documentProperties.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-documentProperties.svg b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-documentProperties.svg new file mode 100644 index 0000000..6bd55cd --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-documentProperties.svg @@ -0,0 +1,15 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-documentProperties@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-documentProperties@2x.png new file mode 100644 index 0000000..adb240e Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-documentProperties@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-firstPage.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-firstPage.png new file mode 100644 index 0000000..e68846a Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-firstPage.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-firstPage.svg b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-firstPage.svg new file mode 100644 index 0000000..2fa0fa6 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-firstPage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-firstPage@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-firstPage@2x.png new file mode 100644 index 0000000..3ad8af5 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-firstPage@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-handTool.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-handTool.png new file mode 100644 index 0000000..cb85a84 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-handTool.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-handTool.svg b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-handTool.svg new file mode 100644 index 0000000..3d038fa --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-handTool.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-handTool@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-handTool@2x.png new file mode 100644 index 0000000..5c13f77 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-handTool@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-lastPage.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-lastPage.png new file mode 100644 index 0000000..be763e0 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-lastPage.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-lastPage.svg b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-lastPage.svg new file mode 100644 index 0000000..53fa9a6 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-lastPage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-lastPage@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-lastPage@2x.png new file mode 100644 index 0000000..8570984 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-lastPage@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCcw.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCcw.png new file mode 100644 index 0000000..675d6da Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCcw.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCcw.svg b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCcw.svg new file mode 100644 index 0000000..c71ea8e --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCcw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCcw@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCcw@2x.png new file mode 100644 index 0000000..b9e7431 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCcw@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCw.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCw.png new file mode 100644 index 0000000..e1c7598 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCw.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCw.svg b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCw.svg new file mode 100644 index 0000000..e1e19e7 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCw.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCw@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCw@2x.png new file mode 100644 index 0000000..cb257b4 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCw@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollHorizontal.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollHorizontal.png new file mode 100644 index 0000000..cb702fc Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollHorizontal.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollHorizontal.svg b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollHorizontal.svg new file mode 100644 index 0000000..8693eec --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollHorizontal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollHorizontal@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollHorizontal@2x.png new file mode 100644 index 0000000..7f05289 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollHorizontal@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollPage.svg b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollPage.svg new file mode 100644 index 0000000..bea2f0d --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollPage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollVertical.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollVertical.png new file mode 100644 index 0000000..0b8427a Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollVertical.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollVertical.svg b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollVertical.svg new file mode 100644 index 0000000..ee1cf22 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollVertical.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollVertical@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollVertical@2x.png new file mode 100644 index 0000000..72ab55e Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollVertical@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollWrapped.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollWrapped.png new file mode 100644 index 0000000..165fc8b Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollWrapped.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollWrapped.svg b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollWrapped.svg new file mode 100644 index 0000000..804e746 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollWrapped.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollWrapped@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollWrapped@2x.png new file mode 100644 index 0000000..4246141 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollWrapped@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-selectTool.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-selectTool.png new file mode 100644 index 0000000..25520a6 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-selectTool.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-selectTool.svg b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-selectTool.svg new file mode 100644 index 0000000..43e9789 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-selectTool.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-selectTool@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-selectTool@2x.png new file mode 100644 index 0000000..a58aaef Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-selectTool@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadEven.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadEven.png new file mode 100644 index 0000000..3fa07e7 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadEven.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadEven.svg b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadEven.svg new file mode 100644 index 0000000..ddec5e6 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadEven.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadEven@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadEven@2x.png new file mode 100644 index 0000000..32e5033 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadEven@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadNone.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadNone.png new file mode 100644 index 0000000..1611473 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadNone.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadNone.svg b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadNone.svg new file mode 100644 index 0000000..63318c5 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadNone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadNone@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadNone@2x.png new file mode 100644 index 0000000..8e51cf3 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadNone@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadOdd.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadOdd.png new file mode 100644 index 0000000..5126313 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadOdd.png differ diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadOdd.svg b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadOdd.svg new file mode 100644 index 0000000..29909e9 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadOdd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadOdd@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadOdd@2x.png new file mode 100644 index 0000000..5996b74 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadOdd@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/shadow.png b/app/assets/javascripts/publications/pdf/images/shadow.png new file mode 100644 index 0000000..a00061a Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/shadow.png differ diff --git a/app/assets/javascripts/publications/pdf/images/texture.png b/app/assets/javascripts/publications/pdf/images/texture.png new file mode 100644 index 0000000..12bae83 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/texture.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-bookmark.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-bookmark.png new file mode 100644 index 0000000..a187be6 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-bookmark.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-bookmark.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-bookmark.svg new file mode 100644 index 0000000..79d39b0 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-bookmark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-bookmark@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-bookmark@2x.png new file mode 100644 index 0000000..4efbaa6 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-bookmark@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-currentOutlineItem.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-currentOutlineItem.svg new file mode 100644 index 0000000..c1c72b2 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-currentOutlineItem.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-download.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-download.png new file mode 100644 index 0000000..eaab35f Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-download.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-download.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-download.svg new file mode 100644 index 0000000..2cdb5db --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-download.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-download@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-download@2x.png new file mode 100644 index 0000000..896face Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-download@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-menuArrow.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-menuArrow.svg new file mode 100644 index 0000000..46e41e1 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-menuArrow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-menuArrows.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-menuArrows.png new file mode 100644 index 0000000..e50ca4e Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-menuArrows.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-menuArrows@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-menuArrows@2x.png new file mode 100644 index 0000000..f7570bc Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-menuArrows@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-openFile.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-openFile.png new file mode 100644 index 0000000..b5cf1bd Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-openFile.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-openFile.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-openFile.svg new file mode 100644 index 0000000..cb35980 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-openFile.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-openFile@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-openFile@2x.png new file mode 100644 index 0000000..91ab765 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-openFile@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown-rtl.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown-rtl.png new file mode 100644 index 0000000..1957f79 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown-rtl.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown-rtl@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown-rtl@2x.png new file mode 100644 index 0000000..16ebcb8 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown-rtl@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown.png new file mode 100644 index 0000000..8219ecf Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown.svg new file mode 100644 index 0000000..c5d8b0f --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown.svg @@ -0,0 +1,7 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown@2x.png new file mode 100644 index 0000000..758c01d Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp-rtl.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp-rtl.png new file mode 100644 index 0000000..98e7ce4 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp-rtl.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp-rtl@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp-rtl@2x.png new file mode 100644 index 0000000..a01b023 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp-rtl@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp.png new file mode 100644 index 0000000..fb9daa3 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp.svg new file mode 100644 index 0000000..aa0160a --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp.svg @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp@2x.png new file mode 100644 index 0000000..a5cfd75 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-presentationMode.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-presentationMode.png new file mode 100644 index 0000000..3ac2124 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-presentationMode.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-presentationMode.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-presentationMode.svg new file mode 100644 index 0000000..3f1f832 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-presentationMode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-presentationMode@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-presentationMode@2x.png new file mode 100644 index 0000000..cada9e7 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-presentationMode@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-print.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-print.png new file mode 100644 index 0000000..51275e5 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-print.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-print.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-print.svg new file mode 100644 index 0000000..d521c9a --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-print.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-print@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-print@2x.png new file mode 100644 index 0000000..53d18da Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-print@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-search.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-search.png new file mode 100644 index 0000000..f9b7557 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-search.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-search.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-search.svg new file mode 100644 index 0000000..28b7774 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-search.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-search@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-search@2x.png new file mode 100644 index 0000000..456b133 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-search@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle-rtl.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle-rtl.png new file mode 100644 index 0000000..8437095 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle-rtl.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle-rtl@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle-rtl@2x.png new file mode 100644 index 0000000..9d9bfa4 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle-rtl@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle.png new file mode 100644 index 0000000..1f90f83 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle.svg new file mode 100644 index 0000000..dbef238 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle@2x.png new file mode 100644 index 0000000..b066fe5 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle-rtl.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle-rtl.png new file mode 100644 index 0000000..6f85ec0 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle-rtl.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle-rtl@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle-rtl@2x.png new file mode 100644 index 0000000..291e006 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle-rtl@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle.png new file mode 100644 index 0000000..025dc90 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle.svg new file mode 100644 index 0000000..691c41c --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle@2x.png new file mode 100644 index 0000000..7f834df Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-viewAttachments.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewAttachments.png new file mode 100644 index 0000000..fcd0b26 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewAttachments.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-viewAttachments.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewAttachments.svg new file mode 100644 index 0000000..e914ec0 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewAttachments.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-viewAttachments@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewAttachments@2x.png new file mode 100644 index 0000000..4a5e2b8 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewAttachments@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-viewLayers.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewLayers.svg new file mode 100644 index 0000000..e8687b7 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewLayers.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline-rtl.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline-rtl.png new file mode 100644 index 0000000..aaa9430 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline-rtl.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline-rtl@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline-rtl@2x.png new file mode 100644 index 0000000..3410f70 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline-rtl@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline.png new file mode 100644 index 0000000..976365a Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline.svg new file mode 100644 index 0000000..030c28d --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline@2x.png new file mode 100644 index 0000000..b6a197f Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-viewThumbnail.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewThumbnail.png new file mode 100644 index 0000000..584ba55 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewThumbnail.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-viewThumbnail.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewThumbnail.svg new file mode 100644 index 0000000..b997ec4 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewThumbnail.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-viewThumbnail@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewThumbnail@2x.png new file mode 100644 index 0000000..a0208b4 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewThumbnail@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomIn.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomIn.png new file mode 100644 index 0000000..513d081 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomIn.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomIn.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomIn.svg new file mode 100644 index 0000000..480d2ce --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomIn.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomIn@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomIn@2x.png new file mode 100644 index 0000000..d5d49d5 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomIn@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomOut.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomOut.png new file mode 100644 index 0000000..156c26b Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomOut.png differ diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomOut.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomOut.svg new file mode 100644 index 0000000..527f521 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomOut.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomOut@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomOut@2x.png new file mode 100644 index 0000000..959e191 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomOut@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/treeitem-collapsed-rtl.png b/app/assets/javascripts/publications/pdf/images/treeitem-collapsed-rtl.png new file mode 100644 index 0000000..0496b35 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/treeitem-collapsed-rtl.png differ diff --git a/app/assets/javascripts/publications/pdf/images/treeitem-collapsed-rtl@2x.png b/app/assets/javascripts/publications/pdf/images/treeitem-collapsed-rtl@2x.png new file mode 100644 index 0000000..6ad9ebc Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/treeitem-collapsed-rtl@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/treeitem-collapsed.png b/app/assets/javascripts/publications/pdf/images/treeitem-collapsed.png new file mode 100644 index 0000000..06d4d37 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/treeitem-collapsed.png differ diff --git a/app/assets/javascripts/publications/pdf/images/treeitem-collapsed.svg b/app/assets/javascripts/publications/pdf/images/treeitem-collapsed.svg new file mode 100644 index 0000000..831cddf --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/treeitem-collapsed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/treeitem-collapsed@2x.png b/app/assets/javascripts/publications/pdf/images/treeitem-collapsed@2x.png new file mode 100644 index 0000000..eec1e58 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/treeitem-collapsed@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/images/treeitem-expanded.png b/app/assets/javascripts/publications/pdf/images/treeitem-expanded.png new file mode 100644 index 0000000..c8d5573 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/treeitem-expanded.png differ diff --git a/app/assets/javascripts/publications/pdf/images/treeitem-expanded.svg b/app/assets/javascripts/publications/pdf/images/treeitem-expanded.svg new file mode 100644 index 0000000..2d45f0c --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/treeitem-expanded.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/treeitem-expanded@2x.png b/app/assets/javascripts/publications/pdf/images/treeitem-expanded@2x.png new file mode 100644 index 0000000..3b3b610 Binary files /dev/null and b/app/assets/javascripts/publications/pdf/images/treeitem-expanded@2x.png differ diff --git a/app/assets/javascripts/publications/pdf/pdf.js b/app/assets/javascripts/publications/pdf/pdf.js new file mode 100644 index 0000000..1e0433e --- /dev/null +++ b/app/assets/javascripts/publications/pdf/pdf.js @@ -0,0 +1,24493 @@ +/** + * @licstart The following is the entire license notice for the + * Javascript code in this page + * + * Copyright 2022 Mozilla Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @licend The above is the entire license notice for the + * Javascript code in this page + */ + +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define("pdfjs-dist/build/pdf", [], factory); + else if(typeof exports === 'object') + exports["pdfjs-dist/build/pdf"] = factory(); + else + root["pdfjs-dist/build/pdf"] = root.pdfjsLib = factory(); +})(this, function() { +return /******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ([ +/* 0 */, +/* 1 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.VerbosityLevel = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.UNSUPPORTED_FEATURES = exports.TextRenderingMode = exports.StreamType = exports.RenderingIntentFlag = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.IsLittleEndianCached = exports.IsEvalSupportedCached = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FontType = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.CMapCompressionType = exports.BaseException = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMode = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0; +exports.arrayByteLength = arrayByteLength; +exports.arraysToBytes = arraysToBytes; +exports.assert = assert; +exports.bytesToString = bytesToString; +exports.createPromiseCapability = createPromiseCapability; +exports.createValidAbsoluteUrl = createValidAbsoluteUrl; +exports.escapeString = escapeString; +exports.getModificationDate = getModificationDate; +exports.getVerbosityLevel = getVerbosityLevel; +exports.info = info; +exports.isArrayBuffer = isArrayBuffer; +exports.isArrayEqual = isArrayEqual; +exports.isAscii = isAscii; +exports.isSameOrigin = isSameOrigin; +exports.objectFromMap = objectFromMap; +exports.objectSize = objectSize; +exports.setVerbosityLevel = setVerbosityLevel; +exports.shadow = shadow; +exports.string32 = string32; +exports.stringToBytes = stringToBytes; +exports.stringToPDFString = stringToPDFString; +exports.stringToUTF16BEString = stringToUTF16BEString; +exports.stringToUTF8String = stringToUTF8String; +exports.unreachable = unreachable; +exports.utf8StringToString = utf8StringToString; +exports.warn = warn; + +__w_pdfjs_require__(2); + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0]; +exports.IDENTITY_MATRIX = IDENTITY_MATRIX; +var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0]; +exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX; +var RenderingIntentFlag = { + ANY: 0x01, + DISPLAY: 0x02, + PRINT: 0x04, + ANNOTATIONS_FORMS: 0x10, + ANNOTATIONS_STORAGE: 0x20, + ANNOTATIONS_DISABLE: 0x40, + OPLIST: 0x100 +}; +exports.RenderingIntentFlag = RenderingIntentFlag; +var AnnotationMode = { + DISABLE: 0, + ENABLE: 1, + ENABLE_FORMS: 2, + ENABLE_STORAGE: 3 +}; +exports.AnnotationMode = AnnotationMode; +var PermissionFlag = { + PRINT: 0x04, + MODIFY_CONTENTS: 0x08, + COPY: 0x10, + MODIFY_ANNOTATIONS: 0x20, + FILL_INTERACTIVE_FORMS: 0x100, + COPY_FOR_ACCESSIBILITY: 0x200, + ASSEMBLE: 0x400, + PRINT_HIGH_QUALITY: 0x800 +}; +exports.PermissionFlag = PermissionFlag; +var TextRenderingMode = { + FILL: 0, + STROKE: 1, + FILL_STROKE: 2, + INVISIBLE: 3, + FILL_ADD_TO_PATH: 4, + STROKE_ADD_TO_PATH: 5, + FILL_STROKE_ADD_TO_PATH: 6, + ADD_TO_PATH: 7, + FILL_STROKE_MASK: 3, + ADD_TO_PATH_FLAG: 4 +}; +exports.TextRenderingMode = TextRenderingMode; +var ImageKind = { + GRAYSCALE_1BPP: 1, + RGB_24BPP: 2, + RGBA_32BPP: 3 +}; +exports.ImageKind = ImageKind; +var AnnotationType = { + TEXT: 1, + LINK: 2, + FREETEXT: 3, + LINE: 4, + SQUARE: 5, + CIRCLE: 6, + POLYGON: 7, + POLYLINE: 8, + HIGHLIGHT: 9, + UNDERLINE: 10, + SQUIGGLY: 11, + STRIKEOUT: 12, + STAMP: 13, + CARET: 14, + INK: 15, + POPUP: 16, + FILEATTACHMENT: 17, + SOUND: 18, + MOVIE: 19, + WIDGET: 20, + SCREEN: 21, + PRINTERMARK: 22, + TRAPNET: 23, + WATERMARK: 24, + THREED: 25, + REDACT: 26 +}; +exports.AnnotationType = AnnotationType; +var AnnotationStateModelType = { + MARKED: "Marked", + REVIEW: "Review" +}; +exports.AnnotationStateModelType = AnnotationStateModelType; +var AnnotationMarkedState = { + MARKED: "Marked", + UNMARKED: "Unmarked" +}; +exports.AnnotationMarkedState = AnnotationMarkedState; +var AnnotationReviewState = { + ACCEPTED: "Accepted", + REJECTED: "Rejected", + CANCELLED: "Cancelled", + COMPLETED: "Completed", + NONE: "None" +}; +exports.AnnotationReviewState = AnnotationReviewState; +var AnnotationReplyType = { + GROUP: "Group", + REPLY: "R" +}; +exports.AnnotationReplyType = AnnotationReplyType; +var AnnotationFlag = { + INVISIBLE: 0x01, + HIDDEN: 0x02, + PRINT: 0x04, + NOZOOM: 0x08, + NOROTATE: 0x10, + NOVIEW: 0x20, + READONLY: 0x40, + LOCKED: 0x80, + TOGGLENOVIEW: 0x100, + LOCKEDCONTENTS: 0x200 +}; +exports.AnnotationFlag = AnnotationFlag; +var AnnotationFieldFlag = { + READONLY: 0x0000001, + REQUIRED: 0x0000002, + NOEXPORT: 0x0000004, + MULTILINE: 0x0001000, + PASSWORD: 0x0002000, + NOTOGGLETOOFF: 0x0004000, + RADIO: 0x0008000, + PUSHBUTTON: 0x0010000, + COMBO: 0x0020000, + EDIT: 0x0040000, + SORT: 0x0080000, + FILESELECT: 0x0100000, + MULTISELECT: 0x0200000, + DONOTSPELLCHECK: 0x0400000, + DONOTSCROLL: 0x0800000, + COMB: 0x1000000, + RICHTEXT: 0x2000000, + RADIOSINUNISON: 0x2000000, + COMMITONSELCHANGE: 0x4000000 +}; +exports.AnnotationFieldFlag = AnnotationFieldFlag; +var AnnotationBorderStyleType = { + SOLID: 1, + DASHED: 2, + BEVELED: 3, + INSET: 4, + UNDERLINE: 5 +}; +exports.AnnotationBorderStyleType = AnnotationBorderStyleType; +var AnnotationActionEventType = { + E: "Mouse Enter", + X: "Mouse Exit", + D: "Mouse Down", + U: "Mouse Up", + Fo: "Focus", + Bl: "Blur", + PO: "PageOpen", + PC: "PageClose", + PV: "PageVisible", + PI: "PageInvisible", + K: "Keystroke", + F: "Format", + V: "Validate", + C: "Calculate" +}; +exports.AnnotationActionEventType = AnnotationActionEventType; +var DocumentActionEventType = { + WC: "WillClose", + WS: "WillSave", + DS: "DidSave", + WP: "WillPrint", + DP: "DidPrint" +}; +exports.DocumentActionEventType = DocumentActionEventType; +var PageActionEventType = { + O: "PageOpen", + C: "PageClose" +}; +exports.PageActionEventType = PageActionEventType; +var StreamType = { + UNKNOWN: "UNKNOWN", + FLATE: "FLATE", + LZW: "LZW", + DCT: "DCT", + JPX: "JPX", + JBIG: "JBIG", + A85: "A85", + AHX: "AHX", + CCF: "CCF", + RLX: "RLX" +}; +exports.StreamType = StreamType; +var FontType = { + UNKNOWN: "UNKNOWN", + TYPE1: "TYPE1", + TYPE1STANDARD: "TYPE1STANDARD", + TYPE1C: "TYPE1C", + CIDFONTTYPE0: "CIDFONTTYPE0", + CIDFONTTYPE0C: "CIDFONTTYPE0C", + TRUETYPE: "TRUETYPE", + CIDFONTTYPE2: "CIDFONTTYPE2", + TYPE3: "TYPE3", + OPENTYPE: "OPENTYPE", + TYPE0: "TYPE0", + MMTYPE1: "MMTYPE1" +}; +exports.FontType = FontType; +var VerbosityLevel = { + ERRORS: 0, + WARNINGS: 1, + INFOS: 5 +}; +exports.VerbosityLevel = VerbosityLevel; +var CMapCompressionType = { + NONE: 0, + BINARY: 1, + STREAM: 2 +}; +exports.CMapCompressionType = CMapCompressionType; +var OPS = { + dependency: 1, + setLineWidth: 2, + setLineCap: 3, + setLineJoin: 4, + setMiterLimit: 5, + setDash: 6, + setRenderingIntent: 7, + setFlatness: 8, + setGState: 9, + save: 10, + restore: 11, + transform: 12, + moveTo: 13, + lineTo: 14, + curveTo: 15, + curveTo2: 16, + curveTo3: 17, + closePath: 18, + rectangle: 19, + stroke: 20, + closeStroke: 21, + fill: 22, + eoFill: 23, + fillStroke: 24, + eoFillStroke: 25, + closeFillStroke: 26, + closeEOFillStroke: 27, + endPath: 28, + clip: 29, + eoClip: 30, + beginText: 31, + endText: 32, + setCharSpacing: 33, + setWordSpacing: 34, + setHScale: 35, + setLeading: 36, + setFont: 37, + setTextRenderingMode: 38, + setTextRise: 39, + moveText: 40, + setLeadingMoveText: 41, + setTextMatrix: 42, + nextLine: 43, + showText: 44, + showSpacedText: 45, + nextLineShowText: 46, + nextLineSetSpacingShowText: 47, + setCharWidth: 48, + setCharWidthAndBounds: 49, + setStrokeColorSpace: 50, + setFillColorSpace: 51, + setStrokeColor: 52, + setStrokeColorN: 53, + setFillColor: 54, + setFillColorN: 55, + setStrokeGray: 56, + setFillGray: 57, + setStrokeRGBColor: 58, + setFillRGBColor: 59, + setStrokeCMYKColor: 60, + setFillCMYKColor: 61, + shadingFill: 62, + beginInlineImage: 63, + beginImageData: 64, + endInlineImage: 65, + paintXObject: 66, + markPoint: 67, + markPointProps: 68, + beginMarkedContent: 69, + beginMarkedContentProps: 70, + endMarkedContent: 71, + beginCompat: 72, + endCompat: 73, + paintFormXObjectBegin: 74, + paintFormXObjectEnd: 75, + beginGroup: 76, + endGroup: 77, + beginAnnotations: 78, + endAnnotations: 79, + beginAnnotation: 80, + endAnnotation: 81, + paintJpegXObject: 82, + paintImageMaskXObject: 83, + paintImageMaskXObjectGroup: 84, + paintImageXObject: 85, + paintInlineImageXObject: 86, + paintInlineImageXObjectGroup: 87, + paintImageXObjectRepeat: 88, + paintImageMaskXObjectRepeat: 89, + paintSolidColorImageMask: 90, + constructPath: 91 +}; +exports.OPS = OPS; +var UNSUPPORTED_FEATURES = { + unknown: "unknown", + forms: "forms", + javaScript: "javaScript", + signatures: "signatures", + smask: "smask", + shadingPattern: "shadingPattern", + font: "font", + errorTilingPattern: "errorTilingPattern", + errorExtGState: "errorExtGState", + errorXObject: "errorXObject", + errorFontLoadType3: "errorFontLoadType3", + errorFontState: "errorFontState", + errorFontMissing: "errorFontMissing", + errorFontTranslate: "errorFontTranslate", + errorColorSpace: "errorColorSpace", + errorOperatorList: "errorOperatorList", + errorFontToUnicode: "errorFontToUnicode", + errorFontLoadNative: "errorFontLoadNative", + errorFontBuildPath: "errorFontBuildPath", + errorFontGetPath: "errorFontGetPath", + errorMarkedContent: "errorMarkedContent", + errorContentSubStream: "errorContentSubStream" +}; +exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES; +var PasswordResponses = { + NEED_PASSWORD: 1, + INCORRECT_PASSWORD: 2 +}; +exports.PasswordResponses = PasswordResponses; +var verbosity = VerbosityLevel.WARNINGS; + +function setVerbosityLevel(level) { + if (Number.isInteger(level)) { + verbosity = level; + } +} + +function getVerbosityLevel() { + return verbosity; +} + +function info(msg) { + if (verbosity >= VerbosityLevel.INFOS) { + console.log("Info: ".concat(msg)); + } +} + +function warn(msg) { + if (verbosity >= VerbosityLevel.WARNINGS) { + console.log("Warning: ".concat(msg)); + } +} + +function unreachable(msg) { + throw new Error(msg); +} + +function assert(cond, msg) { + if (!cond) { + unreachable(msg); + } +} + +function isSameOrigin(baseUrl, otherUrl) { + var base; + + try { + base = new URL(baseUrl); + + if (!base.origin || base.origin === "null") { + return false; + } + } catch (e) { + return false; + } + + var other = new URL(otherUrl, base); + return base.origin === other.origin; +} + +function _isValidProtocol(url) { + if (!url) { + return false; + } + + switch (url.protocol) { + case "http:": + case "https:": + case "ftp:": + case "mailto:": + case "tel:": + return true; + + default: + return false; + } +} + +function createValidAbsoluteUrl(url) { + var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + + if (!url) { + return null; + } + + try { + if (options && typeof url === "string") { + if (options.addDefaultProtocol && url.startsWith("www.")) { + var dots = url.match(/\./g); + + if (dots && dots.length >= 2) { + url = "http://".concat(url); + } + } + + if (options.tryConvertEncoding) { + try { + url = stringToUTF8String(url); + } catch (ex) {} + } + } + + var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url); + + if (_isValidProtocol(absoluteUrl)) { + return absoluteUrl; + } + } catch (ex) {} + + return null; +} + +function shadow(obj, prop, value) { + Object.defineProperty(obj, prop, { + value: value, + enumerable: true, + configurable: true, + writable: false + }); + return value; +} + +var BaseException = function BaseExceptionClosure() { + function BaseException(message, name) { + if (this.constructor === BaseException) { + unreachable("Cannot initialize BaseException."); + } + + this.message = message; + this.name = name; + } + + BaseException.prototype = new Error(); + BaseException.constructor = BaseException; + return BaseException; +}(); + +exports.BaseException = BaseException; + +var PasswordException = /*#__PURE__*/function (_BaseException) { + _inherits(PasswordException, _BaseException); + + var _super = _createSuper(PasswordException); + + function PasswordException(msg, code) { + var _this; + + _classCallCheck(this, PasswordException); + + _this = _super.call(this, msg, "PasswordException"); + _this.code = code; + return _this; + } + + return _createClass(PasswordException); +}(BaseException); + +exports.PasswordException = PasswordException; + +var UnknownErrorException = /*#__PURE__*/function (_BaseException2) { + _inherits(UnknownErrorException, _BaseException2); + + var _super2 = _createSuper(UnknownErrorException); + + function UnknownErrorException(msg, details) { + var _this2; + + _classCallCheck(this, UnknownErrorException); + + _this2 = _super2.call(this, msg, "UnknownErrorException"); + _this2.details = details; + return _this2; + } + + return _createClass(UnknownErrorException); +}(BaseException); + +exports.UnknownErrorException = UnknownErrorException; + +var InvalidPDFException = /*#__PURE__*/function (_BaseException3) { + _inherits(InvalidPDFException, _BaseException3); + + var _super3 = _createSuper(InvalidPDFException); + + function InvalidPDFException(msg) { + _classCallCheck(this, InvalidPDFException); + + return _super3.call(this, msg, "InvalidPDFException"); + } + + return _createClass(InvalidPDFException); +}(BaseException); + +exports.InvalidPDFException = InvalidPDFException; + +var MissingPDFException = /*#__PURE__*/function (_BaseException4) { + _inherits(MissingPDFException, _BaseException4); + + var _super4 = _createSuper(MissingPDFException); + + function MissingPDFException(msg) { + _classCallCheck(this, MissingPDFException); + + return _super4.call(this, msg, "MissingPDFException"); + } + + return _createClass(MissingPDFException); +}(BaseException); + +exports.MissingPDFException = MissingPDFException; + +var UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) { + _inherits(UnexpectedResponseException, _BaseException5); + + var _super5 = _createSuper(UnexpectedResponseException); + + function UnexpectedResponseException(msg, status) { + var _this3; + + _classCallCheck(this, UnexpectedResponseException); + + _this3 = _super5.call(this, msg, "UnexpectedResponseException"); + _this3.status = status; + return _this3; + } + + return _createClass(UnexpectedResponseException); +}(BaseException); + +exports.UnexpectedResponseException = UnexpectedResponseException; + +var FormatError = /*#__PURE__*/function (_BaseException6) { + _inherits(FormatError, _BaseException6); + + var _super6 = _createSuper(FormatError); + + function FormatError(msg) { + _classCallCheck(this, FormatError); + + return _super6.call(this, msg, "FormatError"); + } + + return _createClass(FormatError); +}(BaseException); + +exports.FormatError = FormatError; + +var AbortException = /*#__PURE__*/function (_BaseException7) { + _inherits(AbortException, _BaseException7); + + var _super7 = _createSuper(AbortException); + + function AbortException(msg) { + _classCallCheck(this, AbortException); + + return _super7.call(this, msg, "AbortException"); + } + + return _createClass(AbortException); +}(BaseException); + +exports.AbortException = AbortException; + +function bytesToString(bytes) { + if (_typeof(bytes) !== "object" || bytes === null || bytes.length === undefined) { + unreachable("Invalid argument for bytesToString"); + } + + var length = bytes.length; + var MAX_ARGUMENT_COUNT = 8192; + + if (length < MAX_ARGUMENT_COUNT) { + return String.fromCharCode.apply(null, bytes); + } + + var strBuf = []; + + for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) { + var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length); + var chunk = bytes.subarray(i, chunkEnd); + strBuf.push(String.fromCharCode.apply(null, chunk)); + } + + return strBuf.join(""); +} + +function stringToBytes(str) { + if (typeof str !== "string") { + unreachable("Invalid argument for stringToBytes"); + } + + var length = str.length; + var bytes = new Uint8Array(length); + + for (var i = 0; i < length; ++i) { + bytes[i] = str.charCodeAt(i) & 0xff; + } + + return bytes; +} + +function arrayByteLength(arr) { + if (arr.length !== undefined) { + return arr.length; + } + + if (arr.byteLength !== undefined) { + return arr.byteLength; + } + + unreachable("Invalid argument for arrayByteLength"); +} + +function arraysToBytes(arr) { + var length = arr.length; + + if (length === 1 && arr[0] instanceof Uint8Array) { + return arr[0]; + } + + var resultLength = 0; + + for (var i = 0; i < length; i++) { + resultLength += arrayByteLength(arr[i]); + } + + var pos = 0; + var data = new Uint8Array(resultLength); + + for (var _i = 0; _i < length; _i++) { + var item = arr[_i]; + + if (!(item instanceof Uint8Array)) { + if (typeof item === "string") { + item = stringToBytes(item); + } else { + item = new Uint8Array(item); + } + } + + var itemLength = item.byteLength; + data.set(item, pos); + pos += itemLength; + } + + return data; +} + +function string32(value) { + return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff); +} + +function objectSize(obj) { + return Object.keys(obj).length; +} + +function objectFromMap(map) { + var obj = Object.create(null); + + var _iterator = _createForOfIteratorHelper(map), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _step$value = _slicedToArray(_step.value, 2), + key = _step$value[0], + value = _step$value[1]; + + obj[key] = value; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + return obj; +} + +function isLittleEndian() { + var buffer8 = new Uint8Array(4); + buffer8[0] = 1; + var view32 = new Uint32Array(buffer8.buffer, 0, 1); + return view32[0] === 1; +} + +var IsLittleEndianCached = { + get value() { + return shadow(this, "value", isLittleEndian()); + } + +}; +exports.IsLittleEndianCached = IsLittleEndianCached; + +function isEvalSupported() { + try { + new Function(""); + return true; + } catch (e) { + return false; + } +} + +var IsEvalSupportedCached = { + get value() { + return shadow(this, "value", isEvalSupported()); + } + +}; +exports.IsEvalSupportedCached = IsEvalSupportedCached; + +var hexNumbers = _toConsumableArray(Array(256).keys()).map(function (n) { + return n.toString(16).padStart(2, "0"); +}); + +var Util = /*#__PURE__*/function () { + function Util() { + _classCallCheck(this, Util); + } + + _createClass(Util, null, [{ + key: "makeHexColor", + value: function makeHexColor(r, g, b) { + return "#".concat(hexNumbers[r]).concat(hexNumbers[g]).concat(hexNumbers[b]); + } + }, { + key: "transform", + value: function transform(m1, m2) { + return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]]; + } + }, { + key: "applyTransform", + value: function applyTransform(p, m) { + var xt = p[0] * m[0] + p[1] * m[2] + m[4]; + var yt = p[0] * m[1] + p[1] * m[3] + m[5]; + return [xt, yt]; + } + }, { + key: "applyInverseTransform", + value: function applyInverseTransform(p, m) { + var d = m[0] * m[3] - m[1] * m[2]; + var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d; + var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d; + return [xt, yt]; + } + }, { + key: "getAxialAlignedBoundingBox", + value: function getAxialAlignedBoundingBox(r, m) { + var p1 = Util.applyTransform(r, m); + var p2 = Util.applyTransform(r.slice(2, 4), m); + var p3 = Util.applyTransform([r[0], r[3]], m); + var p4 = Util.applyTransform([r[2], r[1]], m); + return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])]; + } + }, { + key: "inverseTransform", + value: function inverseTransform(m) { + var d = m[0] * m[3] - m[1] * m[2]; + return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d]; + } + }, { + key: "apply3dTransform", + value: function apply3dTransform(m, v) { + return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]]; + } + }, { + key: "singularValueDecompose2dScale", + value: function singularValueDecompose2dScale(m) { + var transpose = [m[0], m[2], m[1], m[3]]; + var a = m[0] * transpose[0] + m[1] * transpose[2]; + var b = m[0] * transpose[1] + m[1] * transpose[3]; + var c = m[2] * transpose[0] + m[3] * transpose[2]; + var d = m[2] * transpose[1] + m[3] * transpose[3]; + var first = (a + d) / 2; + var second = Math.sqrt(Math.pow(a + d, 2) - 4 * (a * d - c * b)) / 2; + var sx = first + second || 1; + var sy = first - second || 1; + return [Math.sqrt(sx), Math.sqrt(sy)]; + } + }, { + key: "normalizeRect", + value: function normalizeRect(rect) { + var r = rect.slice(0); + + if (rect[0] > rect[2]) { + r[0] = rect[2]; + r[2] = rect[0]; + } + + if (rect[1] > rect[3]) { + r[1] = rect[3]; + r[3] = rect[1]; + } + + return r; + } + }, { + key: "intersect", + value: function intersect(rect1, rect2) { + function compare(a, b) { + return a - b; + } + + var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare); + var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare); + var result = []; + rect1 = Util.normalizeRect(rect1); + rect2 = Util.normalizeRect(rect2); + + if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) { + result[0] = orderedX[1]; + result[2] = orderedX[2]; + } else { + return null; + } + + if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) { + result[1] = orderedY[1]; + result[3] = orderedY[2]; + } else { + return null; + } + + return result; + } + }, { + key: "bezierBoundingBox", + value: function bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) { + var tvalues = [], + bounds = [[], []]; + var a, b, c, t, t1, t2, b2ac, sqrtb2ac; + + for (var i = 0; i < 2; ++i) { + if (i === 0) { + b = 6 * x0 - 12 * x1 + 6 * x2; + a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3; + c = 3 * x1 - 3 * x0; + } else { + b = 6 * y0 - 12 * y1 + 6 * y2; + a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3; + c = 3 * y1 - 3 * y0; + } + + if (Math.abs(a) < 1e-12) { + if (Math.abs(b) < 1e-12) { + continue; + } + + t = -c / b; + + if (0 < t && t < 1) { + tvalues.push(t); + } + + continue; + } + + b2ac = b * b - 4 * c * a; + sqrtb2ac = Math.sqrt(b2ac); + + if (b2ac < 0) { + continue; + } + + t1 = (-b + sqrtb2ac) / (2 * a); + + if (0 < t1 && t1 < 1) { + tvalues.push(t1); + } + + t2 = (-b - sqrtb2ac) / (2 * a); + + if (0 < t2 && t2 < 1) { + tvalues.push(t2); + } + } + + var j = tvalues.length, + mt; + var jlen = j; + + while (j--) { + t = tvalues[j]; + mt = 1 - t; + bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3; + bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3; + } + + bounds[0][jlen] = x0; + bounds[1][jlen] = y0; + bounds[0][jlen + 1] = x3; + bounds[1][jlen + 1] = y3; + bounds[0].length = bounds[1].length = jlen + 2; + return [Math.min.apply(Math, _toConsumableArray(bounds[0])), Math.min.apply(Math, _toConsumableArray(bounds[1])), Math.max.apply(Math, _toConsumableArray(bounds[0])), Math.max.apply(Math, _toConsumableArray(bounds[1]))]; + } + }]); + + return Util; +}(); + +exports.Util = Util; +var PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac]; + +function stringToPDFString(str) { + if (str[0] >= "\xEF") { + var encoding; + + if (str[0] === "\xFE" && str[1] === "\xFF") { + encoding = "utf-16be"; + } else if (str[0] === "\xFF" && str[1] === "\xFE") { + encoding = "utf-16le"; + } else if (str[0] === "\xEF" && str[1] === "\xBB" && str[2] === "\xBF") { + encoding = "utf-8"; + } + + if (encoding) { + try { + var decoder = new TextDecoder(encoding, { + fatal: true + }); + var buffer = stringToBytes(str); + return decoder.decode(buffer); + } catch (ex) { + warn("stringToPDFString: \"".concat(ex, "\".")); + } + } + } + + var strBuf = []; + + for (var i = 0, ii = str.length; i < ii; i++) { + var code = PDFStringTranslateTable[str.charCodeAt(i)]; + strBuf.push(code ? String.fromCharCode(code) : str.charAt(i)); + } + + return strBuf.join(""); +} + +function escapeString(str) { + return str.replace(/([()\\\n\r])/g, function (match) { + if (match === "\n") { + return "\\n"; + } else if (match === "\r") { + return "\\r"; + } + + return "\\".concat(match); + }); +} + +function isAscii(str) { + return /^[\x00-\x7F]*$/.test(str); +} + +function stringToUTF16BEString(str) { + var buf = ["\xFE\xFF"]; + + for (var i = 0, ii = str.length; i < ii; i++) { + var _char = str.charCodeAt(i); + + buf.push(String.fromCharCode(_char >> 8 & 0xff), String.fromCharCode(_char & 0xff)); + } + + return buf.join(""); +} + +function stringToUTF8String(str) { + return decodeURIComponent(escape(str)); +} + +function utf8StringToString(str) { + return unescape(encodeURIComponent(str)); +} + +function isArrayBuffer(v) { + return _typeof(v) === "object" && v !== null && v.byteLength !== undefined; +} + +function isArrayEqual(arr1, arr2) { + if (arr1.length !== arr2.length) { + return false; + } + + for (var i = 0, ii = arr1.length; i < ii; i++) { + if (arr1[i] !== arr2[i]) { + return false; + } + } + + return true; +} + +function getModificationDate() { + var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(); + var buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, "0"), date.getUTCDate().toString().padStart(2, "0"), date.getUTCHours().toString().padStart(2, "0"), date.getUTCMinutes().toString().padStart(2, "0"), date.getUTCSeconds().toString().padStart(2, "0")]; + return buffer.join(""); +} + +function createPromiseCapability() { + var capability = Object.create(null); + var isSettled = false; + Object.defineProperty(capability, "settled", { + get: function get() { + return isSettled; + } + }); + capability.promise = new Promise(function (resolve, reject) { + capability.resolve = function (data) { + isSettled = true; + resolve(data); + }; + + capability.reject = function (reason) { + isSettled = true; + reject(reason); + }; + }); + return capability; +} + +/***/ }), +/* 2 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + + +var _is_node = __w_pdfjs_require__(3); + +if (!globalThis._pdfjsCompatibilityChecked) { + globalThis._pdfjsCompatibilityChecked = true; + + (function checkNodeBtoa() { + if (globalThis.btoa || !_is_node.isNodeJS) { + return; + } + + globalThis.btoa = function (chars) { + return Buffer.from(chars, "binary").toString("base64"); + }; + })(); + + (function checkNodeAtob() { + if (globalThis.atob || !_is_node.isNodeJS) { + return; + } + + globalThis.atob = function (input) { + return Buffer.from(input, "base64").toString("binary"); + }; + })(); + + (function checkDOMMatrix() { + if (globalThis.DOMMatrix || !_is_node.isNodeJS) { + return; + } + + globalThis.DOMMatrix = require("dommatrix/dist/dommatrix.js"); + })(); + + (function checkPromise() { + if (globalThis.Promise.allSettled) { + return; + } + + globalThis.Promise = __w_pdfjs_require__(4); + })(); + + (function checkReadableStream() { + if (globalThis.ReadableStream || !_is_node.isNodeJS) { + return; + } + + globalThis.ReadableStream = require("web-streams-polyfill/dist/ponyfill.js").ReadableStream; + })(); + + (function checkStructuredClone() { + if (globalThis.structuredClone) { + return; + } + + __w_pdfjs_require__(128); + })(); +} + +/***/ }), +/* 3 */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.isNodeJS = void 0; + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +var isNodeJS = (typeof process === "undefined" ? "undefined" : _typeof(process)) === "object" && process + "" === "[object process]" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== "browser"); +exports.isNodeJS = isNodeJS; + +/***/ }), +/* 4 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +__w_pdfjs_require__(5); +__w_pdfjs_require__(90); +__w_pdfjs_require__(96); +__w_pdfjs_require__(98); +__w_pdfjs_require__(122); +__w_pdfjs_require__(123); +__w_pdfjs_require__(124); +__w_pdfjs_require__(125); +var path = __w_pdfjs_require__(127); +module.exports = path.Promise; + +/***/ }), +/* 5 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(6); +var global = __w_pdfjs_require__(7); +var isPrototypeOf = __w_pdfjs_require__(26); +var getPrototypeOf = __w_pdfjs_require__(68); +var setPrototypeOf = __w_pdfjs_require__(70); +var copyConstructorProperties = __w_pdfjs_require__(56); +var create = __w_pdfjs_require__(72); +var createNonEnumerableProperty = __w_pdfjs_require__(45); +var createPropertyDescriptor = __w_pdfjs_require__(14); +var clearErrorStack = __w_pdfjs_require__(76); +var installErrorCause = __w_pdfjs_require__(77); +var iterate = __w_pdfjs_require__(78); +var normalizeStringArgument = __w_pdfjs_require__(87); +var wellKnownSymbol = __w_pdfjs_require__(35); +var ERROR_STACK_INSTALLABLE = __w_pdfjs_require__(89); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var Error = global.Error; +var push = [].push; +var $AggregateError = function AggregateError(errors, message) { + var options = arguments.length > 2 ? arguments[2] : undefined; + var isInstance = isPrototypeOf(AggregateErrorPrototype, this); + var that; + if (setPrototypeOf) { + that = setPrototypeOf(new Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype); + } else { + that = isInstance ? this : create(AggregateErrorPrototype); + createNonEnumerableProperty(that, TO_STRING_TAG, 'Error'); + } + if (message !== undefined) + createNonEnumerableProperty(that, 'message', normalizeStringArgument(message)); + if (ERROR_STACK_INSTALLABLE) + createNonEnumerableProperty(that, 'stack', clearErrorStack(that.stack, 1)); + installErrorCause(that, options); + var errorsArray = []; + iterate(errors, push, { that: errorsArray }); + createNonEnumerableProperty(that, 'errors', errorsArray); + return that; +}; +if (setPrototypeOf) + setPrototypeOf($AggregateError, Error); +else + copyConstructorProperties($AggregateError, Error, { name: true }); +var AggregateErrorPrototype = $AggregateError.prototype = create(Error.prototype, { + constructor: createPropertyDescriptor(1, $AggregateError), + message: createPropertyDescriptor(1, ''), + name: createPropertyDescriptor(1, 'AggregateError') +}); +$({ global: true }, { AggregateError: $AggregateError }); + +/***/ }), +/* 6 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var getOwnPropertyDescriptor = (__w_pdfjs_require__(8).f); +var createNonEnumerableProperty = __w_pdfjs_require__(45); +var redefine = __w_pdfjs_require__(49); +var setGlobal = __w_pdfjs_require__(39); +var copyConstructorProperties = __w_pdfjs_require__(56); +var isForced = __w_pdfjs_require__(67); +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = global; + } else if (STATIC) { + target = global[TARGET] || setGlobal(TARGET, {}); + } else { + target = (global[TARGET] || {}).prototype; + } + if (target) + for (key in source) { + sourceProperty = source[key]; + if (options.noTargetGet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else + targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty == typeof targetProperty) + continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + if (options.sham || targetProperty && targetProperty.sham) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + redefine(target, key, sourceProperty, options); + } +}; + +/***/ }), +/* 7 */ +/***/ ((module) => { + +var check = function (it) { + return it && it.Math == Math && it; +}; +module.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || (function () { + return this; +}()) || Function('return this')(); + +/***/ }), +/* 8 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +var DESCRIPTORS = __w_pdfjs_require__(9); +var call = __w_pdfjs_require__(11); +var propertyIsEnumerableModule = __w_pdfjs_require__(13); +var createPropertyDescriptor = __w_pdfjs_require__(14); +var toIndexedObject = __w_pdfjs_require__(15); +var toPropertyKey = __w_pdfjs_require__(20); +var hasOwn = __w_pdfjs_require__(40); +var IE8_DOM_DEFINE = __w_pdfjs_require__(43); +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPropertyKey(P); + if (IE8_DOM_DEFINE) + try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { + } + if (hasOwn(O, P)) + return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); +}; + +/***/ }), +/* 9 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(10); +module.exports = !fails(function () { + return Object.defineProperty({}, 1, { + get: function () { + return 7; + } + })[1] != 7; +}); + +/***/ }), +/* 10 */ +/***/ ((module) => { + +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + +/***/ }), +/* 11 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var NATIVE_BIND = __w_pdfjs_require__(12); +var call = Function.prototype.call; +module.exports = NATIVE_BIND ? call.bind(call) : function () { + return call.apply(call, arguments); +}; + +/***/ }), +/* 12 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(10); +module.exports = !fails(function () { + var test = function () { + }.bind(); + return typeof test != 'function' || test.hasOwnProperty('prototype'); +}); + +/***/ }), +/* 13 */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +var $propertyIsEnumerable = {}.propertyIsEnumerable; +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); +exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; +} : $propertyIsEnumerable; + +/***/ }), +/* 14 */ +/***/ ((module) => { + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + +/***/ }), +/* 15 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var IndexedObject = __w_pdfjs_require__(16); +var requireObjectCoercible = __w_pdfjs_require__(19); +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + +/***/ }), +/* 16 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var uncurryThis = __w_pdfjs_require__(17); +var fails = __w_pdfjs_require__(10); +var classof = __w_pdfjs_require__(18); +var Object = global.Object; +var split = uncurryThis(''.split); +module.exports = fails(function () { + return !Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) == 'String' ? split(it, '') : Object(it); +} : Object; + +/***/ }), +/* 17 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var NATIVE_BIND = __w_pdfjs_require__(12); +var FunctionPrototype = Function.prototype; +var bind = FunctionPrototype.bind; +var call = FunctionPrototype.call; +var uncurryThis = NATIVE_BIND && bind.bind(call, call); +module.exports = NATIVE_BIND ? function (fn) { + return fn && uncurryThis(fn); +} : function (fn) { + return fn && function () { + return call.apply(fn, arguments); + }; +}; + +/***/ }), +/* 18 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(17); +var toString = uncurryThis({}.toString); +var stringSlice = uncurryThis(''.slice); +module.exports = function (it) { + return stringSlice(toString(it), 8, -1); +}; + +/***/ }), +/* 19 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var TypeError = global.TypeError; +module.exports = function (it) { + if (it == undefined) + throw TypeError("Can't call method on " + it); + return it; +}; + +/***/ }), +/* 20 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toPrimitive = __w_pdfjs_require__(21); +var isSymbol = __w_pdfjs_require__(24); +module.exports = function (argument) { + var key = toPrimitive(argument, 'string'); + return isSymbol(key) ? key : key + ''; +}; + +/***/ }), +/* 21 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var call = __w_pdfjs_require__(11); +var isObject = __w_pdfjs_require__(22); +var isSymbol = __w_pdfjs_require__(24); +var getMethod = __w_pdfjs_require__(31); +var ordinaryToPrimitive = __w_pdfjs_require__(34); +var wellKnownSymbol = __w_pdfjs_require__(35); +var TypeError = global.TypeError; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); +module.exports = function (input, pref) { + if (!isObject(input) || isSymbol(input)) + return input; + var exoticToPrim = getMethod(input, TO_PRIMITIVE); + var result; + if (exoticToPrim) { + if (pref === undefined) + pref = 'default'; + result = call(exoticToPrim, input, pref); + if (!isObject(result) || isSymbol(result)) + return result; + throw TypeError("Can't convert object to primitive value"); + } + if (pref === undefined) + pref = 'number'; + return ordinaryToPrimitive(input, pref); +}; + +/***/ }), +/* 22 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var isCallable = __w_pdfjs_require__(23); +module.exports = function (it) { + return typeof it == 'object' ? it !== null : isCallable(it); +}; + +/***/ }), +/* 23 */ +/***/ ((module) => { + +module.exports = function (argument) { + return typeof argument == 'function'; +}; + +/***/ }), +/* 24 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var getBuiltIn = __w_pdfjs_require__(25); +var isCallable = __w_pdfjs_require__(23); +var isPrototypeOf = __w_pdfjs_require__(26); +var USE_SYMBOL_AS_UID = __w_pdfjs_require__(27); +var Object = global.Object; +module.exports = USE_SYMBOL_AS_UID ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + var $Symbol = getBuiltIn('Symbol'); + return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it)); +}; + +/***/ }), +/* 25 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var isCallable = __w_pdfjs_require__(23); +var aFunction = function (argument) { + return isCallable(argument) ? argument : undefined; +}; +module.exports = function (namespace, method) { + return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method]; +}; + +/***/ }), +/* 26 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(17); +module.exports = uncurryThis({}.isPrototypeOf); + +/***/ }), +/* 27 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var NATIVE_SYMBOL = __w_pdfjs_require__(28); +module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol'; + +/***/ }), +/* 28 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var V8_VERSION = __w_pdfjs_require__(29); +var fails = __w_pdfjs_require__(10); +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol(); + return !String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + +/***/ }), +/* 29 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var userAgent = __w_pdfjs_require__(30); +var process = global.process; +var Deno = global.Deno; +var versions = process && process.versions || Deno && Deno.version; +var v8 = versions && versions.v8; +var match, version; +if (v8) { + match = v8.split('.'); + version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); +} +if (!version && userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) + version = +match[1]; + } +} +module.exports = version; + +/***/ }), +/* 30 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var getBuiltIn = __w_pdfjs_require__(25); +module.exports = getBuiltIn('navigator', 'userAgent') || ''; + +/***/ }), +/* 31 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var aCallable = __w_pdfjs_require__(32); +module.exports = function (V, P) { + var func = V[P]; + return func == null ? undefined : aCallable(func); +}; + +/***/ }), +/* 32 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var isCallable = __w_pdfjs_require__(23); +var tryToString = __w_pdfjs_require__(33); +var TypeError = global.TypeError; +module.exports = function (argument) { + if (isCallable(argument)) + return argument; + throw TypeError(tryToString(argument) + ' is not a function'); +}; + +/***/ }), +/* 33 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var String = global.String; +module.exports = function (argument) { + try { + return String(argument); + } catch (error) { + return 'Object'; + } +}; + +/***/ }), +/* 34 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var call = __w_pdfjs_require__(11); +var isCallable = __w_pdfjs_require__(23); +var isObject = __w_pdfjs_require__(22); +var TypeError = global.TypeError; +module.exports = function (input, pref) { + var fn, val; + if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) + return val; + if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) + return val; + if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) + return val; + throw TypeError("Can't convert object to primitive value"); +}; + +/***/ }), +/* 35 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var shared = __w_pdfjs_require__(36); +var hasOwn = __w_pdfjs_require__(40); +var uid = __w_pdfjs_require__(42); +var NATIVE_SYMBOL = __w_pdfjs_require__(28); +var USE_SYMBOL_AS_UID = __w_pdfjs_require__(27); +var WellKnownSymbolsStore = shared('wks'); +var Symbol = global.Symbol; +var symbolFor = Symbol && Symbol['for']; +var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid; +module.exports = function (name) { + if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) { + var description = 'Symbol.' + name; + if (NATIVE_SYMBOL && hasOwn(Symbol, name)) { + WellKnownSymbolsStore[name] = Symbol[name]; + } else if (USE_SYMBOL_AS_UID && symbolFor) { + WellKnownSymbolsStore[name] = symbolFor(description); + } else { + WellKnownSymbolsStore[name] = createWellKnownSymbol(description); + } + } + return WellKnownSymbolsStore[name]; +}; + +/***/ }), +/* 36 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var IS_PURE = __w_pdfjs_require__(37); +var store = __w_pdfjs_require__(38); +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: '3.21.1', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)', + license: 'https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE', + source: 'https://github.com/zloirock/core-js' +}); + +/***/ }), +/* 37 */ +/***/ ((module) => { + +module.exports = false; + +/***/ }), +/* 38 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var setGlobal = __w_pdfjs_require__(39); +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || setGlobal(SHARED, {}); +module.exports = store; + +/***/ }), +/* 39 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var defineProperty = Object.defineProperty; +module.exports = function (key, value) { + try { + defineProperty(global, key, { + value: value, + configurable: true, + writable: true + }); + } catch (error) { + global[key] = value; + } + return value; +}; + +/***/ }), +/* 40 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(17); +var toObject = __w_pdfjs_require__(41); +var hasOwnProperty = uncurryThis({}.hasOwnProperty); +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty(toObject(it), key); +}; + +/***/ }), +/* 41 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var requireObjectCoercible = __w_pdfjs_require__(19); +var Object = global.Object; +module.exports = function (argument) { + return Object(requireObjectCoercible(argument)); +}; + +/***/ }), +/* 42 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(17); +var id = 0; +var postfix = Math.random(); +var toString = uncurryThis(1.0.toString); +module.exports = function (key) { + return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); +}; + +/***/ }), +/* 43 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var DESCRIPTORS = __w_pdfjs_require__(9); +var fails = __w_pdfjs_require__(10); +var createElement = __w_pdfjs_require__(44); +module.exports = !DESCRIPTORS && !fails(function () { + return Object.defineProperty(createElement('div'), 'a', { + get: function () { + return 7; + } + }).a != 7; +}); + +/***/ }), +/* 44 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var isObject = __w_pdfjs_require__(22); +var document = global.document; +var EXISTS = isObject(document) && isObject(document.createElement); +module.exports = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + +/***/ }), +/* 45 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var DESCRIPTORS = __w_pdfjs_require__(9); +var definePropertyModule = __w_pdfjs_require__(46); +var createPropertyDescriptor = __w_pdfjs_require__(14); +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + +/***/ }), +/* 46 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var DESCRIPTORS = __w_pdfjs_require__(9); +var IE8_DOM_DEFINE = __w_pdfjs_require__(43); +var V8_PROTOTYPE_DEFINE_BUG = __w_pdfjs_require__(47); +var anObject = __w_pdfjs_require__(48); +var toPropertyKey = __w_pdfjs_require__(20); +var TypeError = global.TypeError; +var $defineProperty = Object.defineProperty; +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var ENUMERABLE = 'enumerable'; +var CONFIGURABLE = 'configurable'; +var WRITABLE = 'writable'; +exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { + var current = $getOwnPropertyDescriptor(O, P); + if (current && current[WRITABLE]) { + O[P] = Attributes.value; + Attributes = { + configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], + enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], + writable: false + }; + } + } + return $defineProperty(O, P, Attributes); +} : $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (IE8_DOM_DEFINE) + try { + return $defineProperty(O, P, Attributes); + } catch (error) { + } + if ('get' in Attributes || 'set' in Attributes) + throw TypeError('Accessors not supported'); + if ('value' in Attributes) + O[P] = Attributes.value; + return O; +}; + +/***/ }), +/* 47 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var DESCRIPTORS = __w_pdfjs_require__(9); +var fails = __w_pdfjs_require__(10); +module.exports = DESCRIPTORS && fails(function () { + return Object.defineProperty(function () { + }, 'prototype', { + value: 42, + writable: false + }).prototype != 42; +}); + +/***/ }), +/* 48 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var isObject = __w_pdfjs_require__(22); +var String = global.String; +var TypeError = global.TypeError; +module.exports = function (argument) { + if (isObject(argument)) + return argument; + throw TypeError(String(argument) + ' is not an object'); +}; + +/***/ }), +/* 49 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var isCallable = __w_pdfjs_require__(23); +var hasOwn = __w_pdfjs_require__(40); +var createNonEnumerableProperty = __w_pdfjs_require__(45); +var setGlobal = __w_pdfjs_require__(39); +var inspectSource = __w_pdfjs_require__(50); +var InternalStateModule = __w_pdfjs_require__(51); +var CONFIGURABLE_FUNCTION_NAME = (__w_pdfjs_require__(55).CONFIGURABLE); +var getInternalState = InternalStateModule.get; +var enforceInternalState = InternalStateModule.enforce; +var TEMPLATE = String(String).split('String'); +(module.exports = function (O, key, value, options) { + var unsafe = options ? !!options.unsafe : false; + var simple = options ? !!options.enumerable : false; + var noTargetGet = options ? !!options.noTargetGet : false; + var name = options && options.name !== undefined ? options.name : key; + var state; + if (isCallable(value)) { + if (String(name).slice(0, 7) === 'Symbol(') { + name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']'; + } + if (!hasOwn(value, 'name') || CONFIGURABLE_FUNCTION_NAME && value.name !== name) { + createNonEnumerableProperty(value, 'name', name); + } + state = enforceInternalState(value); + if (!state.source) { + state.source = TEMPLATE.join(typeof name == 'string' ? name : ''); + } + } + if (O === global) { + if (simple) + O[key] = value; + else + setGlobal(key, value); + return; + } else if (!unsafe) { + delete O[key]; + } else if (!noTargetGet && O[key]) { + simple = true; + } + if (simple) + O[key] = value; + else + createNonEnumerableProperty(O, key, value); +})(Function.prototype, 'toString', function toString() { + return isCallable(this) && getInternalState(this).source || inspectSource(this); +}); + +/***/ }), +/* 50 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(17); +var isCallable = __w_pdfjs_require__(23); +var store = __w_pdfjs_require__(38); +var functionToString = uncurryThis(Function.toString); +if (!isCallable(store.inspectSource)) { + store.inspectSource = function (it) { + return functionToString(it); + }; +} +module.exports = store.inspectSource; + +/***/ }), +/* 51 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var NATIVE_WEAK_MAP = __w_pdfjs_require__(52); +var global = __w_pdfjs_require__(7); +var uncurryThis = __w_pdfjs_require__(17); +var isObject = __w_pdfjs_require__(22); +var createNonEnumerableProperty = __w_pdfjs_require__(45); +var hasOwn = __w_pdfjs_require__(40); +var shared = __w_pdfjs_require__(38); +var sharedKey = __w_pdfjs_require__(53); +var hiddenKeys = __w_pdfjs_require__(54); +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var TypeError = global.TypeError; +var WeakMap = global.WeakMap; +var set, get, has; +var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); +}; +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw TypeError('Incompatible receiver, ' + TYPE + ' required'); + } + return state; + }; +}; +if (NATIVE_WEAK_MAP || shared.state) { + var store = shared.state || (shared.state = new WeakMap()); + var wmget = uncurryThis(store.get); + var wmhas = uncurryThis(store.has); + var wmset = uncurryThis(store.set); + set = function (it, metadata) { + if (wmhas(store, it)) + throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + wmset(store, it, metadata); + return metadata; + }; + get = function (it) { + return wmget(store, it) || {}; + }; + has = function (it) { + return wmhas(store, it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys[STATE] = true; + set = function (it, metadata) { + if (hasOwn(it, STATE)) + throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return hasOwn(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return hasOwn(it, STATE); + }; +} +module.exports = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor +}; + +/***/ }), +/* 52 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var isCallable = __w_pdfjs_require__(23); +var inspectSource = __w_pdfjs_require__(50); +var WeakMap = global.WeakMap; +module.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap)); + +/***/ }), +/* 53 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var shared = __w_pdfjs_require__(36); +var uid = __w_pdfjs_require__(42); +var keys = shared('keys'); +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + +/***/ }), +/* 54 */ +/***/ ((module) => { + +module.exports = {}; + +/***/ }), +/* 55 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var DESCRIPTORS = __w_pdfjs_require__(9); +var hasOwn = __w_pdfjs_require__(40); +var FunctionPrototype = Function.prototype; +var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; +var EXISTS = hasOwn(FunctionPrototype, 'name'); +var PROPER = EXISTS && function something() { +}.name === 'something'; +var CONFIGURABLE = EXISTS && (!DESCRIPTORS || DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable); +module.exports = { + EXISTS: EXISTS, + PROPER: PROPER, + CONFIGURABLE: CONFIGURABLE +}; + +/***/ }), +/* 56 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var hasOwn = __w_pdfjs_require__(40); +var ownKeys = __w_pdfjs_require__(57); +var getOwnPropertyDescriptorModule = __w_pdfjs_require__(8); +var definePropertyModule = __w_pdfjs_require__(46); +module.exports = function (target, source, exceptions) { + var keys = ownKeys(source); + var defineProperty = definePropertyModule.f; + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + } +}; + +/***/ }), +/* 57 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var getBuiltIn = __w_pdfjs_require__(25); +var uncurryThis = __w_pdfjs_require__(17); +var getOwnPropertyNamesModule = __w_pdfjs_require__(58); +var getOwnPropertySymbolsModule = __w_pdfjs_require__(66); +var anObject = __w_pdfjs_require__(48); +var concat = uncurryThis([].concat); +module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; +}; + +/***/ }), +/* 58 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +var internalObjectKeys = __w_pdfjs_require__(59); +var enumBugKeys = __w_pdfjs_require__(65); +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + +/***/ }), +/* 59 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(17); +var hasOwn = __w_pdfjs_require__(40); +var toIndexedObject = __w_pdfjs_require__(15); +var indexOf = (__w_pdfjs_require__(60).indexOf); +var hiddenKeys = __w_pdfjs_require__(54); +var push = uncurryThis([].push); +module.exports = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) + !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); + while (names.length > i) + if (hasOwn(O, key = names[i++])) { + ~indexOf(result, key) || push(result, key); + } + return result; +}; + +/***/ }), +/* 60 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toIndexedObject = __w_pdfjs_require__(15); +var toAbsoluteIndex = __w_pdfjs_require__(61); +var lengthOfArrayLike = __w_pdfjs_require__(63); +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = lengthOfArrayLike(O); + var index = toAbsoluteIndex(fromIndex, length); + var value; + if (IS_INCLUDES && el != el) + while (length > index) { + value = O[index++]; + if (value != value) + return true; + } + else + for (; length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) + return IS_INCLUDES || index || 0; + } + return !IS_INCLUDES && -1; + }; +}; +module.exports = { + includes: createMethod(true), + indexOf: createMethod(false) +}; + +/***/ }), +/* 61 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toIntegerOrInfinity = __w_pdfjs_require__(62); +var max = Math.max; +var min = Math.min; +module.exports = function (index, length) { + var integer = toIntegerOrInfinity(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + +/***/ }), +/* 62 */ +/***/ ((module) => { + +var ceil = Math.ceil; +var floor = Math.floor; +module.exports = function (argument) { + var number = +argument; + return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number); +}; + +/***/ }), +/* 63 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toLength = __w_pdfjs_require__(64); +module.exports = function (obj) { + return toLength(obj.length); +}; + +/***/ }), +/* 64 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toIntegerOrInfinity = __w_pdfjs_require__(62); +var min = Math.min; +module.exports = function (argument) { + return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; +}; + +/***/ }), +/* 65 */ +/***/ ((module) => { + +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + +/***/ }), +/* 66 */ +/***/ ((__unused_webpack_module, exports) => { + +exports.f = Object.getOwnPropertySymbols; + +/***/ }), +/* 67 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(10); +var isCallable = __w_pdfjs_require__(23); +var replacement = /#|\.prototype\./; +var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value == POLYFILL ? true : value == NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection; +}; +var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; +var data = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; +module.exports = isForced; + +/***/ }), +/* 68 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var hasOwn = __w_pdfjs_require__(40); +var isCallable = __w_pdfjs_require__(23); +var toObject = __w_pdfjs_require__(41); +var sharedKey = __w_pdfjs_require__(53); +var CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(69); +var IE_PROTO = sharedKey('IE_PROTO'); +var Object = global.Object; +var ObjectPrototype = Object.prototype; +module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { + var object = toObject(O); + if (hasOwn(object, IE_PROTO)) + return object[IE_PROTO]; + var constructor = object.constructor; + if (isCallable(constructor) && object instanceof constructor) { + return constructor.prototype; + } + return object instanceof Object ? ObjectPrototype : null; +}; + +/***/ }), +/* 69 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(10); +module.exports = !fails(function () { + function F() { + } + F.prototype.constructor = null; + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + +/***/ }), +/* 70 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(17); +var anObject = __w_pdfjs_require__(48); +var aPossiblePrototype = __w_pdfjs_require__(71); +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? (function () { + var CORRECT_SETTER = false; + var test = {}; + var setter; + try { + setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set); + setter(test, []); + CORRECT_SETTER = test instanceof Array; + } catch (error) { + } + return function setPrototypeOf(O, proto) { + anObject(O); + aPossiblePrototype(proto); + if (CORRECT_SETTER) + setter(O, proto); + else + O.__proto__ = proto; + return O; + }; +}()) : undefined); + +/***/ }), +/* 71 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var isCallable = __w_pdfjs_require__(23); +var String = global.String; +var TypeError = global.TypeError; +module.exports = function (argument) { + if (typeof argument == 'object' || isCallable(argument)) + return argument; + throw TypeError("Can't set " + String(argument) + ' as a prototype'); +}; + +/***/ }), +/* 72 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var anObject = __w_pdfjs_require__(48); +var definePropertiesModule = __w_pdfjs_require__(73); +var enumBugKeys = __w_pdfjs_require__(65); +var hiddenKeys = __w_pdfjs_require__(54); +var html = __w_pdfjs_require__(75); +var documentCreateElement = __w_pdfjs_require__(44); +var sharedKey = __w_pdfjs_require__(53); +var GT = '>'; +var LT = '<'; +var PROTOTYPE = 'prototype'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); +var EmptyConstructor = function () { +}; +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; +var NullProtoObjectViaActiveX = function (activeXDocument) { + activeXDocument.write(scriptTag('')); + activeXDocument.close(); + var temp = activeXDocument.parentWindow.Object; + activeXDocument = null; + return temp; +}; +var NullProtoObjectViaIFrame = function () { + var iframe = documentCreateElement('iframe'); + var JS = 'java' + SCRIPT + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + iframe.src = String(JS); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(scriptTag('document.F=Object')); + iframeDocument.close(); + return iframeDocument.F; +}; +var activeXDocument; +var NullProtoObject = function () { + try { + activeXDocument = new ActiveXObject('htmlfile'); + } catch (error) { + } + NullProtoObject = typeof document != 'undefined' ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument); + var length = enumBugKeys.length; + while (length--) + delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); +}; +hiddenKeys[IE_PROTO] = true; +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + EmptyConstructor[PROTOTYPE] = anObject(O); + result = new EmptyConstructor(); + EmptyConstructor[PROTOTYPE] = null; + result[IE_PROTO] = O; + } else + result = NullProtoObject(); + return Properties === undefined ? result : definePropertiesModule.f(result, Properties); +}; + +/***/ }), +/* 73 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +var DESCRIPTORS = __w_pdfjs_require__(9); +var V8_PROTOTYPE_DEFINE_BUG = __w_pdfjs_require__(47); +var definePropertyModule = __w_pdfjs_require__(46); +var anObject = __w_pdfjs_require__(48); +var toIndexedObject = __w_pdfjs_require__(15); +var objectKeys = __w_pdfjs_require__(74); +exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var props = toIndexedObject(Properties); + var keys = objectKeys(Properties); + var length = keys.length; + var index = 0; + var key; + while (length > index) + definePropertyModule.f(O, key = keys[index++], props[key]); + return O; +}; + +/***/ }), +/* 74 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var internalObjectKeys = __w_pdfjs_require__(59); +var enumBugKeys = __w_pdfjs_require__(65); +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + +/***/ }), +/* 75 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var getBuiltIn = __w_pdfjs_require__(25); +module.exports = getBuiltIn('document', 'documentElement'); + +/***/ }), +/* 76 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(17); +var replace = uncurryThis(''.replace); +var TEST = function (arg) { + return String(Error(arg).stack); +}('zxcasd'); +var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; +var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); +module.exports = function (stack, dropEntries) { + if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string') { + while (dropEntries--) + stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); + } + return stack; +}; + +/***/ }), +/* 77 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var isObject = __w_pdfjs_require__(22); +var createNonEnumerableProperty = __w_pdfjs_require__(45); +module.exports = function (O, options) { + if (isObject(options) && 'cause' in options) { + createNonEnumerableProperty(O, 'cause', options.cause); + } +}; + +/***/ }), +/* 78 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var bind = __w_pdfjs_require__(79); +var call = __w_pdfjs_require__(11); +var anObject = __w_pdfjs_require__(48); +var tryToString = __w_pdfjs_require__(33); +var isArrayIteratorMethod = __w_pdfjs_require__(80); +var lengthOfArrayLike = __w_pdfjs_require__(63); +var isPrototypeOf = __w_pdfjs_require__(26); +var getIterator = __w_pdfjs_require__(82); +var getIteratorMethod = __w_pdfjs_require__(83); +var iteratorClose = __w_pdfjs_require__(86); +var TypeError = global.TypeError; +var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; +}; +var ResultPrototype = Result.prototype; +module.exports = function (iterable, unboundFunction, options) { + var that = options && options.that; + var AS_ENTRIES = !!(options && options.AS_ENTRIES); + var IS_ITERATOR = !!(options && options.IS_ITERATOR); + var INTERRUPTED = !!(options && options.INTERRUPTED); + var fn = bind(unboundFunction, that); + var iterator, iterFn, index, length, result, next, step; + var stop = function (condition) { + if (iterator) + iteratorClose(iterator, 'normal', condition); + return new Result(true, condition); + }; + var callFn = function (value) { + if (AS_ENTRIES) { + anObject(value); + return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); + } + return INTERRUPTED ? fn(value, stop) : fn(value); + }; + if (IS_ITERATOR) { + iterator = iterable; + } else { + iterFn = getIteratorMethod(iterable); + if (!iterFn) + throw TypeError(tryToString(iterable) + ' is not iterable'); + if (isArrayIteratorMethod(iterFn)) { + for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { + result = callFn(iterable[index]); + if (result && isPrototypeOf(ResultPrototype, result)) + return result; + } + return new Result(false); + } + iterator = getIterator(iterable, iterFn); + } + next = iterator.next; + while (!(step = call(next, iterator)).done) { + try { + result = callFn(step.value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } + if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) + return result; + } + return new Result(false); +}; + +/***/ }), +/* 79 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(17); +var aCallable = __w_pdfjs_require__(32); +var NATIVE_BIND = __w_pdfjs_require__(12); +var bind = uncurryThis(uncurryThis.bind); +module.exports = function (fn, that) { + aCallable(fn); + return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function () { + return fn.apply(that, arguments); + }; +}; + +/***/ }), +/* 80 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var wellKnownSymbol = __w_pdfjs_require__(35); +var Iterators = __w_pdfjs_require__(81); +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); +}; + +/***/ }), +/* 81 */ +/***/ ((module) => { + +module.exports = {}; + +/***/ }), +/* 82 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var call = __w_pdfjs_require__(11); +var aCallable = __w_pdfjs_require__(32); +var anObject = __w_pdfjs_require__(48); +var tryToString = __w_pdfjs_require__(33); +var getIteratorMethod = __w_pdfjs_require__(83); +var TypeError = global.TypeError; +module.exports = function (argument, usingIterator) { + var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; + if (aCallable(iteratorMethod)) + return anObject(call(iteratorMethod, argument)); + throw TypeError(tryToString(argument) + ' is not iterable'); +}; + +/***/ }), +/* 83 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var classof = __w_pdfjs_require__(84); +var getMethod = __w_pdfjs_require__(31); +var Iterators = __w_pdfjs_require__(81); +var wellKnownSymbol = __w_pdfjs_require__(35); +var ITERATOR = wellKnownSymbol('iterator'); +module.exports = function (it) { + if (it != undefined) + return getMethod(it, ITERATOR) || getMethod(it, '@@iterator') || Iterators[classof(it)]; +}; + +/***/ }), +/* 84 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(85); +var isCallable = __w_pdfjs_require__(23); +var classofRaw = __w_pdfjs_require__(18); +var wellKnownSymbol = __w_pdfjs_require__(35); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var Object = global.Object; +var CORRECT_ARGUMENTS = classofRaw((function () { + return arguments; +}())) == 'Arguments'; +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { + } +}; +module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result; +}; + +/***/ }), +/* 85 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var wellKnownSymbol = __w_pdfjs_require__(35); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; +test[TO_STRING_TAG] = 'z'; +module.exports = String(test) === '[object z]'; + +/***/ }), +/* 86 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var call = __w_pdfjs_require__(11); +var anObject = __w_pdfjs_require__(48); +var getMethod = __w_pdfjs_require__(31); +module.exports = function (iterator, kind, value) { + var innerResult, innerError; + anObject(iterator); + try { + innerResult = getMethod(iterator, 'return'); + if (!innerResult) { + if (kind === 'throw') + throw value; + return value; + } + innerResult = call(innerResult, iterator); + } catch (error) { + innerError = true; + innerResult = error; + } + if (kind === 'throw') + throw value; + if (innerError) + throw innerResult; + anObject(innerResult); + return value; +}; + +/***/ }), +/* 87 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toString = __w_pdfjs_require__(88); +module.exports = function (argument, $default) { + return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument); +}; + +/***/ }), +/* 88 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var classof = __w_pdfjs_require__(84); +var String = global.String; +module.exports = function (argument) { + if (classof(argument) === 'Symbol') + throw TypeError('Cannot convert a Symbol value to a string'); + return String(argument); +}; + +/***/ }), +/* 89 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(10); +var createPropertyDescriptor = __w_pdfjs_require__(14); +module.exports = !fails(function () { + var error = Error('a'); + if (!('stack' in error)) + return true; + Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7)); + return error.stack !== 7; +}); + +/***/ }), +/* 90 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var toIndexedObject = __w_pdfjs_require__(15); +var addToUnscopables = __w_pdfjs_require__(91); +var Iterators = __w_pdfjs_require__(81); +var InternalStateModule = __w_pdfjs_require__(51); +var defineProperty = (__w_pdfjs_require__(46).f); +var defineIterator = __w_pdfjs_require__(92); +var IS_PURE = __w_pdfjs_require__(37); +var DESCRIPTORS = __w_pdfjs_require__(9); +var ARRAY_ITERATOR = 'Array Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); +module.exports = defineIterator(Array, 'Array', function (iterated, kind) { + setInternalState(this, { + type: ARRAY_ITERATOR, + target: toIndexedObject(iterated), + index: 0, + kind: kind + }); +}, function () { + var state = getInternalState(this); + var target = state.target; + var kind = state.kind; + var index = state.index++; + if (!target || index >= target.length) { + state.target = undefined; + return { + value: undefined, + done: true + }; + } + if (kind == 'keys') + return { + value: index, + done: false + }; + if (kind == 'values') + return { + value: target[index], + done: false + }; + return { + value: [ + index, + target[index] + ], + done: false + }; +}, 'values'); +var values = Iterators.Arguments = Iterators.Array; +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); +if (!IS_PURE && DESCRIPTORS && values.name !== 'values') + try { + defineProperty(values, 'name', { value: 'values' }); + } catch (error) { + } + +/***/ }), +/* 91 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var wellKnownSymbol = __w_pdfjs_require__(35); +var create = __w_pdfjs_require__(72); +var definePropertyModule = __w_pdfjs_require__(46); +var UNSCOPABLES = wellKnownSymbol('unscopables'); +var ArrayPrototype = Array.prototype; +if (ArrayPrototype[UNSCOPABLES] == undefined) { + definePropertyModule.f(ArrayPrototype, UNSCOPABLES, { + configurable: true, + value: create(null) + }); +} +module.exports = function (key) { + ArrayPrototype[UNSCOPABLES][key] = true; +}; + +/***/ }), +/* 92 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(6); +var call = __w_pdfjs_require__(11); +var IS_PURE = __w_pdfjs_require__(37); +var FunctionName = __w_pdfjs_require__(55); +var isCallable = __w_pdfjs_require__(23); +var createIteratorConstructor = __w_pdfjs_require__(93); +var getPrototypeOf = __w_pdfjs_require__(68); +var setPrototypeOf = __w_pdfjs_require__(70); +var setToStringTag = __w_pdfjs_require__(95); +var createNonEnumerableProperty = __w_pdfjs_require__(45); +var redefine = __w_pdfjs_require__(49); +var wellKnownSymbol = __w_pdfjs_require__(35); +var Iterators = __w_pdfjs_require__(81); +var IteratorsCore = __w_pdfjs_require__(94); +var PROPER_FUNCTION_NAME = FunctionName.PROPER; +var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; +var IteratorPrototype = IteratorsCore.IteratorPrototype; +var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; +var ITERATOR = wellKnownSymbol('iterator'); +var KEYS = 'keys'; +var VALUES = 'values'; +var ENTRIES = 'entries'; +var returnThis = function () { + return this; +}; +module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { + createIteratorConstructor(IteratorConstructor, NAME, next); + var getIterationMethod = function (KIND) { + if (KIND === DEFAULT && defaultIterator) + return defaultIterator; + if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) + return IterablePrototype[KIND]; + switch (KIND) { + case KEYS: + return function keys() { + return new IteratorConstructor(this, KIND); + }; + case VALUES: + return function values() { + return new IteratorConstructor(this, KIND); + }; + case ENTRIES: + return function entries() { + return new IteratorConstructor(this, KIND); + }; + } + return function () { + return new IteratorConstructor(this); + }; + }; + var TO_STRING_TAG = NAME + ' Iterator'; + var INCORRECT_VALUES_NAME = false; + var IterablePrototype = Iterable.prototype; + var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT]; + var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); + var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; + var CurrentIteratorPrototype, methods, KEY; + if (anyNativeIterator) { + CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); + if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { + if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { + if (setPrototypeOf) { + setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); + } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) { + redefine(CurrentIteratorPrototype, ITERATOR, returnThis); + } + } + setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); + if (IS_PURE) + Iterators[TO_STRING_TAG] = returnThis; + } + } + if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { + if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) { + createNonEnumerableProperty(IterablePrototype, 'name', VALUES); + } else { + INCORRECT_VALUES_NAME = true; + defaultIterator = function values() { + return call(nativeIterator, this); + }; + } + } + if (DEFAULT) { + methods = { + values: getIterationMethod(VALUES), + keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), + entries: getIterationMethod(ENTRIES) + }; + if (FORCED) + for (KEY in methods) { + if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { + redefine(IterablePrototype, KEY, methods[KEY]); + } + } + else + $({ + target: NAME, + proto: true, + forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME + }, methods); + } + if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { + redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); + } + Iterators[NAME] = defaultIterator; + return methods; +}; + +/***/ }), +/* 93 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var IteratorPrototype = (__w_pdfjs_require__(94).IteratorPrototype); +var create = __w_pdfjs_require__(72); +var createPropertyDescriptor = __w_pdfjs_require__(14); +var setToStringTag = __w_pdfjs_require__(95); +var Iterators = __w_pdfjs_require__(81); +var returnThis = function () { + return this; +}; +module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) { + var TO_STRING_TAG = NAME + ' Iterator'; + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); + setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); + Iterators[TO_STRING_TAG] = returnThis; + return IteratorConstructor; +}; + +/***/ }), +/* 94 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var fails = __w_pdfjs_require__(10); +var isCallable = __w_pdfjs_require__(23); +var create = __w_pdfjs_require__(72); +var getPrototypeOf = __w_pdfjs_require__(68); +var redefine = __w_pdfjs_require__(49); +var wellKnownSymbol = __w_pdfjs_require__(35); +var IS_PURE = __w_pdfjs_require__(37); +var ITERATOR = wellKnownSymbol('iterator'); +var BUGGY_SAFARI_ITERATORS = false; +var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; +if ([].keys) { + arrayIterator = [].keys(); + if (!('next' in arrayIterator)) + BUGGY_SAFARI_ITERATORS = true; + else { + PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); + if (PrototypeOfArrayIteratorPrototype !== Object.prototype) + IteratorPrototype = PrototypeOfArrayIteratorPrototype; + } +} +var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () { + var test = {}; + return IteratorPrototype[ITERATOR].call(test) !== test; +}); +if (NEW_ITERATOR_PROTOTYPE) + IteratorPrototype = {}; +else if (IS_PURE) + IteratorPrototype = create(IteratorPrototype); +if (!isCallable(IteratorPrototype[ITERATOR])) { + redefine(IteratorPrototype, ITERATOR, function () { + return this; + }); +} +module.exports = { + IteratorPrototype: IteratorPrototype, + BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS +}; + +/***/ }), +/* 95 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var defineProperty = (__w_pdfjs_require__(46).f); +var hasOwn = __w_pdfjs_require__(40); +var wellKnownSymbol = __w_pdfjs_require__(35); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +module.exports = function (target, TAG, STATIC) { + if (target && !STATIC) + target = target.prototype; + if (target && !hasOwn(target, TO_STRING_TAG)) { + defineProperty(target, TO_STRING_TAG, { + configurable: true, + value: TAG + }); + } +}; + +/***/ }), +/* 96 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(85); +var redefine = __w_pdfjs_require__(49); +var toString = __w_pdfjs_require__(97); +if (!TO_STRING_TAG_SUPPORT) { + redefine(Object.prototype, 'toString', toString, { unsafe: true }); +} + +/***/ }), +/* 97 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(85); +var classof = __w_pdfjs_require__(84); +module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { + return '[object ' + classof(this) + ']'; +}; + +/***/ }), +/* 98 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(6); +var IS_PURE = __w_pdfjs_require__(37); +var global = __w_pdfjs_require__(7); +var getBuiltIn = __w_pdfjs_require__(25); +var call = __w_pdfjs_require__(11); +var NativePromise = __w_pdfjs_require__(99); +var redefine = __w_pdfjs_require__(49); +var redefineAll = __w_pdfjs_require__(100); +var setPrototypeOf = __w_pdfjs_require__(70); +var setToStringTag = __w_pdfjs_require__(95); +var setSpecies = __w_pdfjs_require__(101); +var aCallable = __w_pdfjs_require__(32); +var isCallable = __w_pdfjs_require__(23); +var isObject = __w_pdfjs_require__(22); +var anInstance = __w_pdfjs_require__(102); +var inspectSource = __w_pdfjs_require__(50); +var iterate = __w_pdfjs_require__(78); +var checkCorrectnessOfIteration = __w_pdfjs_require__(103); +var speciesConstructor = __w_pdfjs_require__(104); +var task = (__w_pdfjs_require__(107).set); +var microtask = __w_pdfjs_require__(113); +var promiseResolve = __w_pdfjs_require__(116); +var hostReportErrors = __w_pdfjs_require__(118); +var newPromiseCapabilityModule = __w_pdfjs_require__(117); +var perform = __w_pdfjs_require__(119); +var Queue = __w_pdfjs_require__(120); +var InternalStateModule = __w_pdfjs_require__(51); +var isForced = __w_pdfjs_require__(67); +var wellKnownSymbol = __w_pdfjs_require__(35); +var IS_BROWSER = __w_pdfjs_require__(121); +var IS_NODE = __w_pdfjs_require__(112); +var V8_VERSION = __w_pdfjs_require__(29); +var SPECIES = wellKnownSymbol('species'); +var PROMISE = 'Promise'; +var getInternalState = InternalStateModule.getterFor(PROMISE); +var setInternalState = InternalStateModule.set; +var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); +var NativePromisePrototype = NativePromise && NativePromise.prototype; +var PromiseConstructor = NativePromise; +var PromisePrototype = NativePromisePrototype; +var TypeError = global.TypeError; +var document = global.document; +var process = global.process; +var newPromiseCapability = newPromiseCapabilityModule.f; +var newGenericPromiseCapability = newPromiseCapability; +var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); +var NATIVE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent); +var UNHANDLED_REJECTION = 'unhandledrejection'; +var REJECTION_HANDLED = 'rejectionhandled'; +var PENDING = 0; +var FULFILLED = 1; +var REJECTED = 2; +var HANDLED = 1; +var UNHANDLED = 2; +var SUBCLASSING = false; +var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; +var FORCED = isForced(PROMISE, function () { + var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor); + var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor); + if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) + return true; + if (IS_PURE && !PromisePrototype['finally']) + return true; + if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) + return false; + var promise = new PromiseConstructor(function (resolve) { + resolve(1); + }); + var FakePromise = function (exec) { + exec(function () { + }, function () { + }); + }; + var constructor = promise.constructor = {}; + constructor[SPECIES] = FakePromise; + SUBCLASSING = promise.then(function () { + }) instanceof FakePromise; + if (!SUBCLASSING) + return true; + return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT; +}); +var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) { + PromiseConstructor.all(iterable)['catch'](function () { + }); +}); +var isThenable = function (it) { + var then; + return isObject(it) && isCallable(then = it.then) ? then : false; +}; +var callReaction = function (reaction, state) { + var value = state.value; + var ok = state.state == FULFILLED; + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (state.rejection === UNHANDLED) + onHandleUnhandled(state); + state.rejection = HANDLED; + } + if (handler === true) + result = value; + else { + if (domain) + domain.enter(); + result = handler(value); + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + call(then, result, resolve, reject); + } else + resolve(result); + } else + reject(value); + } catch (error) { + if (domain && !exited) + domain.exit(); + reject(error); + } +}; +var notify = function (state, isReject) { + if (state.notified) + return; + state.notified = true; + microtask(function () { + var reactions = state.reactions; + var reaction; + while (reaction = reactions.get()) { + callReaction(reaction, state); + } + state.notified = false; + if (isReject && !state.rejection) + onUnhandled(state); + }); +}; +var dispatchEvent = function (name, promise, reason) { + var event, handler; + if (DISPATCH_EVENT) { + event = document.createEvent('Event'); + event.promise = promise; + event.reason = reason; + event.initEvent(name, false, true); + global.dispatchEvent(event); + } else + event = { + promise: promise, + reason: reason + }; + if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) + handler(event); + else if (name === UNHANDLED_REJECTION) + hostReportErrors('Unhandled promise rejection', reason); +}; +var onUnhandled = function (state) { + call(task, global, function () { + var promise = state.facade; + var value = state.value; + var IS_UNHANDLED = isUnhandled(state); + var result; + if (IS_UNHANDLED) { + result = perform(function () { + if (IS_NODE) { + process.emit('unhandledRejection', value, promise); + } else + dispatchEvent(UNHANDLED_REJECTION, promise, value); + }); + state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; + if (result.error) + throw result.value; + } + }); +}; +var isUnhandled = function (state) { + return state.rejection !== HANDLED && !state.parent; +}; +var onHandleUnhandled = function (state) { + call(task, global, function () { + var promise = state.facade; + if (IS_NODE) { + process.emit('rejectionHandled', promise); + } else + dispatchEvent(REJECTION_HANDLED, promise, state.value); + }); +}; +var bind = function (fn, state, unwrap) { + return function (value) { + fn(state, value, unwrap); + }; +}; +var internalReject = function (state, value, unwrap) { + if (state.done) + return; + state.done = true; + if (unwrap) + state = unwrap; + state.value = value; + state.state = REJECTED; + notify(state, true); +}; +var internalResolve = function (state, value, unwrap) { + if (state.done) + return; + state.done = true; + if (unwrap) + state = unwrap; + try { + if (state.facade === value) + throw TypeError("Promise can't be resolved itself"); + var then = isThenable(value); + if (then) { + microtask(function () { + var wrapper = { done: false }; + try { + call(then, value, bind(internalResolve, wrapper, state), bind(internalReject, wrapper, state)); + } catch (error) { + internalReject(wrapper, error, state); + } + }); + } else { + state.value = value; + state.state = FULFILLED; + notify(state, false); + } + } catch (error) { + internalReject({ done: false }, error, state); + } +}; +if (FORCED) { + PromiseConstructor = function Promise(executor) { + anInstance(this, PromisePrototype); + aCallable(executor); + call(Internal, this); + var state = getInternalState(this); + try { + executor(bind(internalResolve, state), bind(internalReject, state)); + } catch (error) { + internalReject(state, error); + } + }; + PromisePrototype = PromiseConstructor.prototype; + Internal = function Promise(executor) { + setInternalState(this, { + type: PROMISE, + done: false, + notified: false, + parent: false, + reactions: new Queue(), + rejection: false, + state: PENDING, + value: undefined + }); + }; + Internal.prototype = redefineAll(PromisePrototype, { + then: function then(onFulfilled, onRejected) { + var state = getInternalPromiseState(this); + var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); + state.parent = true; + reaction.ok = isCallable(onFulfilled) ? onFulfilled : true; + reaction.fail = isCallable(onRejected) && onRejected; + reaction.domain = IS_NODE ? process.domain : undefined; + if (state.state == PENDING) + state.reactions.add(reaction); + else + microtask(function () { + callReaction(reaction, state); + }); + return reaction.promise; + }, + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } + }); + OwnPromiseCapability = function () { + var promise = new Internal(); + var state = getInternalState(promise); + this.promise = promise; + this.resolve = bind(internalResolve, state); + this.reject = bind(internalReject, state); + }; + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C); + }; + if (!IS_PURE && isCallable(NativePromise) && NativePromisePrototype !== Object.prototype) { + nativeThen = NativePromisePrototype.then; + if (!SUBCLASSING) { + redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) { + var that = this; + return new PromiseConstructor(function (resolve, reject) { + call(nativeThen, that, resolve, reject); + }).then(onFulfilled, onRejected); + }, { unsafe: true }); + redefine(NativePromisePrototype, 'catch', PromisePrototype['catch'], { unsafe: true }); + } + try { + delete NativePromisePrototype.constructor; + } catch (error) { + } + if (setPrototypeOf) { + setPrototypeOf(NativePromisePrototype, PromisePrototype); + } + } +} +$({ + global: true, + wrap: true, + forced: FORCED +}, { Promise: PromiseConstructor }); +setToStringTag(PromiseConstructor, PROMISE, false, true); +setSpecies(PROMISE); +PromiseWrapper = getBuiltIn(PROMISE); +$({ + target: PROMISE, + stat: true, + forced: FORCED +}, { + reject: function reject(r) { + var capability = newPromiseCapability(this); + call(capability.reject, undefined, r); + return capability.promise; + } +}); +$({ + target: PROMISE, + stat: true, + forced: IS_PURE || FORCED +}, { + resolve: function resolve(x) { + return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x); + } +}); +$({ + target: PROMISE, + stat: true, + forced: INCORRECT_ITERATION +}, { + all: function all(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call($promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) + return; + alreadyCalled = true; + values[index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.error) + reject(result.value); + return capability.promise; + }, + race: function race(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + iterate(iterable, function (promise) { + call($promiseResolve, C, promise).then(capability.resolve, reject); + }); + }); + if (result.error) + reject(result.value); + return capability.promise; + } +}); + +/***/ }), +/* 99 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +module.exports = global.Promise; + +/***/ }), +/* 100 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var redefine = __w_pdfjs_require__(49); +module.exports = function (target, src, options) { + for (var key in src) + redefine(target, key, src[key], options); + return target; +}; + +/***/ }), +/* 101 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var getBuiltIn = __w_pdfjs_require__(25); +var definePropertyModule = __w_pdfjs_require__(46); +var wellKnownSymbol = __w_pdfjs_require__(35); +var DESCRIPTORS = __w_pdfjs_require__(9); +var SPECIES = wellKnownSymbol('species'); +module.exports = function (CONSTRUCTOR_NAME) { + var Constructor = getBuiltIn(CONSTRUCTOR_NAME); + var defineProperty = definePropertyModule.f; + if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { + defineProperty(Constructor, SPECIES, { + configurable: true, + get: function () { + return this; + } + }); + } +}; + +/***/ }), +/* 102 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var isPrototypeOf = __w_pdfjs_require__(26); +var TypeError = global.TypeError; +module.exports = function (it, Prototype) { + if (isPrototypeOf(Prototype, it)) + return it; + throw TypeError('Incorrect invocation'); +}; + +/***/ }), +/* 103 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var wellKnownSymbol = __w_pdfjs_require__(35); +var ITERATOR = wellKnownSymbol('iterator'); +var SAFE_CLOSING = false; +try { + var called = 0; + var iteratorWithReturn = { + next: function () { + return { done: !!called++ }; + }, + 'return': function () { + SAFE_CLOSING = true; + } + }; + iteratorWithReturn[ITERATOR] = function () { + return this; + }; + Array.from(iteratorWithReturn, function () { + throw 2; + }); +} catch (error) { +} +module.exports = function (exec, SKIP_CLOSING) { + if (!SKIP_CLOSING && !SAFE_CLOSING) + return false; + var ITERATION_SUPPORT = false; + try { + var object = {}; + object[ITERATOR] = function () { + return { + next: function () { + return { done: ITERATION_SUPPORT = true }; + } + }; + }; + exec(object); + } catch (error) { + } + return ITERATION_SUPPORT; +}; + +/***/ }), +/* 104 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var anObject = __w_pdfjs_require__(48); +var aConstructor = __w_pdfjs_require__(105); +var wellKnownSymbol = __w_pdfjs_require__(35); +var SPECIES = wellKnownSymbol('species'); +module.exports = function (O, defaultConstructor) { + var C = anObject(O).constructor; + var S; + return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S); +}; + +/***/ }), +/* 105 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var isConstructor = __w_pdfjs_require__(106); +var tryToString = __w_pdfjs_require__(33); +var TypeError = global.TypeError; +module.exports = function (argument) { + if (isConstructor(argument)) + return argument; + throw TypeError(tryToString(argument) + ' is not a constructor'); +}; + +/***/ }), +/* 106 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(17); +var fails = __w_pdfjs_require__(10); +var isCallable = __w_pdfjs_require__(23); +var classof = __w_pdfjs_require__(84); +var getBuiltIn = __w_pdfjs_require__(25); +var inspectSource = __w_pdfjs_require__(50); +var noop = function () { +}; +var empty = []; +var construct = getBuiltIn('Reflect', 'construct'); +var constructorRegExp = /^\s*(?:class|function)\b/; +var exec = uncurryThis(constructorRegExp.exec); +var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); +var isConstructorModern = function isConstructor(argument) { + if (!isCallable(argument)) + return false; + try { + construct(noop, empty, argument); + return true; + } catch (error) { + return false; + } +}; +var isConstructorLegacy = function isConstructor(argument) { + if (!isCallable(argument)) + return false; + switch (classof(argument)) { + case 'AsyncFunction': + case 'GeneratorFunction': + case 'AsyncGeneratorFunction': + return false; + } + try { + return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); + } catch (error) { + return true; + } +}; +isConstructorLegacy.sham = true; +module.exports = !construct || fails(function () { + var called; + return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) || !isConstructorModern(function () { + called = true; + }) || called; +}) ? isConstructorLegacy : isConstructorModern; + +/***/ }), +/* 107 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var apply = __w_pdfjs_require__(108); +var bind = __w_pdfjs_require__(79); +var isCallable = __w_pdfjs_require__(23); +var hasOwn = __w_pdfjs_require__(40); +var fails = __w_pdfjs_require__(10); +var html = __w_pdfjs_require__(75); +var arraySlice = __w_pdfjs_require__(109); +var createElement = __w_pdfjs_require__(44); +var validateArgumentsLength = __w_pdfjs_require__(110); +var IS_IOS = __w_pdfjs_require__(111); +var IS_NODE = __w_pdfjs_require__(112); +var set = global.setImmediate; +var clear = global.clearImmediate; +var process = global.process; +var Dispatch = global.Dispatch; +var Function = global.Function; +var MessageChannel = global.MessageChannel; +var String = global.String; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var location, defer, channel, port; +try { + location = global.location; +} catch (error) { +} +var run = function (id) { + if (hasOwn(queue, id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; +var runner = function (id) { + return function () { + run(id); + }; +}; +var listener = function (event) { + run(event.data); +}; +var post = function (id) { + global.postMessage(String(id), location.protocol + '//' + location.host); +}; +if (!set || !clear) { + set = function setImmediate(handler) { + validateArgumentsLength(arguments.length, 1); + var fn = isCallable(handler) ? handler : Function(handler); + var args = arraySlice(arguments, 1); + queue[++counter] = function () { + apply(fn, undefined, args); + }; + defer(counter); + return counter; + }; + clear = function clearImmediate(id) { + delete queue[id]; + }; + if (IS_NODE) { + defer = function (id) { + process.nextTick(runner(id)); + }; + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(runner(id)); + }; + } else if (MessageChannel && !IS_IOS) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = listener; + defer = bind(port.postMessage, port); + } else if (global.addEventListener && isCallable(global.postMessage) && !global.importScripts && location && location.protocol !== 'file:' && !fails(post)) { + defer = post; + global.addEventListener('message', listener, false); + } else if (ONREADYSTATECHANGE in createElement('script')) { + defer = function (id) { + html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run(id); + }; + }; + } else { + defer = function (id) { + setTimeout(runner(id), 0); + }; + } +} +module.exports = { + set: set, + clear: clear +}; + +/***/ }), +/* 108 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var NATIVE_BIND = __w_pdfjs_require__(12); +var FunctionPrototype = Function.prototype; +var apply = FunctionPrototype.apply; +var call = FunctionPrototype.call; +module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { + return call.apply(apply, arguments); +}); + +/***/ }), +/* 109 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(17); +module.exports = uncurryThis([].slice); + +/***/ }), +/* 110 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var TypeError = global.TypeError; +module.exports = function (passed, required) { + if (passed < required) + throw TypeError('Not enough arguments'); + return passed; +}; + +/***/ }), +/* 111 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var userAgent = __w_pdfjs_require__(30); +module.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent); + +/***/ }), +/* 112 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var classof = __w_pdfjs_require__(18); +var global = __w_pdfjs_require__(7); +module.exports = classof(global.process) == 'process'; + +/***/ }), +/* 113 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var bind = __w_pdfjs_require__(79); +var getOwnPropertyDescriptor = (__w_pdfjs_require__(8).f); +var macrotask = (__w_pdfjs_require__(107).set); +var IS_IOS = __w_pdfjs_require__(111); +var IS_IOS_PEBBLE = __w_pdfjs_require__(114); +var IS_WEBOS_WEBKIT = __w_pdfjs_require__(115); +var IS_NODE = __w_pdfjs_require__(112); +var MutationObserver = global.MutationObserver || global.WebKitMutationObserver; +var document = global.document; +var process = global.process; +var Promise = global.Promise; +var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask'); +var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value; +var flush, head, last, notify, toggle, node, promise, then; +if (!queueMicrotask) { + flush = function () { + var parent, fn; + if (IS_NODE && (parent = process.domain)) + parent.exit(); + while (head) { + fn = head.fn; + head = head.next; + try { + fn(); + } catch (error) { + if (head) + notify(); + else + last = undefined; + throw error; + } + } + last = undefined; + if (parent) + parent.enter(); + }; + if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) { + toggle = true; + node = document.createTextNode(''); + new MutationObserver(flush).observe(node, { characterData: true }); + notify = function () { + node.data = toggle = !toggle; + }; + } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) { + promise = Promise.resolve(undefined); + promise.constructor = Promise; + then = bind(promise.then, promise); + notify = function () { + then(flush); + }; + } else if (IS_NODE) { + notify = function () { + process.nextTick(flush); + }; + } else { + macrotask = bind(macrotask, global); + notify = function () { + macrotask(flush); + }; + } +} +module.exports = queueMicrotask || function (fn) { + var task = { + fn: fn, + next: undefined + }; + if (last) + last.next = task; + if (!head) { + head = task; + notify(); + } + last = task; +}; + +/***/ }), +/* 114 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var userAgent = __w_pdfjs_require__(30); +var global = __w_pdfjs_require__(7); +module.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined; + +/***/ }), +/* 115 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var userAgent = __w_pdfjs_require__(30); +module.exports = /web0s(?!.*chrome)/i.test(userAgent); + +/***/ }), +/* 116 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var anObject = __w_pdfjs_require__(48); +var isObject = __w_pdfjs_require__(22); +var newPromiseCapability = __w_pdfjs_require__(117); +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) + return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; + +/***/ }), +/* 117 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var aCallable = __w_pdfjs_require__(32); +var PromiseCapability = function (C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) + throw TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aCallable(resolve); + this.reject = aCallable(reject); +}; +module.exports.f = function (C) { + return new PromiseCapability(C); +}; + +/***/ }), +/* 118 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +module.exports = function (a, b) { + var console = global.console; + if (console && console.error) { + arguments.length == 1 ? console.error(a) : console.error(a, b); + } +}; + +/***/ }), +/* 119 */ +/***/ ((module) => { + +module.exports = function (exec) { + try { + return { + error: false, + value: exec() + }; + } catch (error) { + return { + error: true, + value: error + }; + } +}; + +/***/ }), +/* 120 */ +/***/ ((module) => { + +var Queue = function () { + this.head = null; + this.tail = null; +}; +Queue.prototype = { + add: function (item) { + var entry = { + item: item, + next: null + }; + if (this.head) + this.tail.next = entry; + else + this.head = entry; + this.tail = entry; + }, + get: function () { + var entry = this.head; + if (entry) { + this.head = entry.next; + if (this.tail === entry) + this.tail = null; + return entry.item; + } + } +}; +module.exports = Queue; + +/***/ }), +/* 121 */ +/***/ ((module) => { + +module.exports = typeof window == 'object'; + +/***/ }), +/* 122 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(6); +var call = __w_pdfjs_require__(11); +var aCallable = __w_pdfjs_require__(32); +var newPromiseCapabilityModule = __w_pdfjs_require__(117); +var perform = __w_pdfjs_require__(119); +var iterate = __w_pdfjs_require__(78); +$({ + target: 'Promise', + stat: true +}, { + allSettled: function allSettled(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call(promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) + return; + alreadyCalled = true; + values[index] = { + status: 'fulfilled', + value: value + }; + --remaining || resolve(values); + }, function (error) { + if (alreadyCalled) + return; + alreadyCalled = true; + values[index] = { + status: 'rejected', + reason: error + }; + --remaining || resolve(values); + }); + }); + --remaining || resolve(values); + }); + if (result.error) + reject(result.value); + return capability.promise; + } +}); + +/***/ }), +/* 123 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(6); +var aCallable = __w_pdfjs_require__(32); +var getBuiltIn = __w_pdfjs_require__(25); +var call = __w_pdfjs_require__(11); +var newPromiseCapabilityModule = __w_pdfjs_require__(117); +var perform = __w_pdfjs_require__(119); +var iterate = __w_pdfjs_require__(78); +var PROMISE_ANY_ERROR = 'No one promise resolved'; +$({ + target: 'Promise', + stat: true +}, { + any: function any(iterable) { + var C = this; + var AggregateError = getBuiltIn('AggregateError'); + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aCallable(C.resolve); + var errors = []; + var counter = 0; + var remaining = 1; + var alreadyResolved = false; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyRejected = false; + remaining++; + call(promiseResolve, C, promise).then(function (value) { + if (alreadyRejected || alreadyResolved) + return; + alreadyResolved = true; + resolve(value); + }, function (error) { + if (alreadyRejected || alreadyResolved) + return; + alreadyRejected = true; + errors[index] = error; + --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); + }); + }); + --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); + }); + if (result.error) + reject(result.value); + return capability.promise; + } +}); + +/***/ }), +/* 124 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(6); +var IS_PURE = __w_pdfjs_require__(37); +var NativePromise = __w_pdfjs_require__(99); +var fails = __w_pdfjs_require__(10); +var getBuiltIn = __w_pdfjs_require__(25); +var isCallable = __w_pdfjs_require__(23); +var speciesConstructor = __w_pdfjs_require__(104); +var promiseResolve = __w_pdfjs_require__(116); +var redefine = __w_pdfjs_require__(49); +var NON_GENERIC = !!NativePromise && fails(function () { + NativePromise.prototype['finally'].call({ + then: function () { + } + }, function () { + }); +}); +$({ + target: 'Promise', + proto: true, + real: true, + forced: NON_GENERIC +}, { + 'finally': function (onFinally) { + var C = speciesConstructor(this, getBuiltIn('Promise')); + var isFunction = isCallable(onFinally); + return this.then(isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { + return x; + }); + } : onFinally, isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { + throw e; + }); + } : onFinally); + } +}); +if (!IS_PURE && isCallable(NativePromise)) { + var method = getBuiltIn('Promise').prototype['finally']; + if (NativePromise.prototype['finally'] !== method) { + redefine(NativePromise.prototype, 'finally', method, { unsafe: true }); + } +} + +/***/ }), +/* 125 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var charAt = (__w_pdfjs_require__(126).charAt); +var toString = __w_pdfjs_require__(88); +var InternalStateModule = __w_pdfjs_require__(51); +var defineIterator = __w_pdfjs_require__(92); +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); +defineIterator(String, 'String', function (iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: toString(iterated), + index: 0 + }); +}, function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) + return { + value: undefined, + done: true + }; + point = charAt(string, index); + state.index += point.length; + return { + value: point, + done: false + }; +}); + +/***/ }), +/* 126 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(17); +var toIntegerOrInfinity = __w_pdfjs_require__(62); +var toString = __w_pdfjs_require__(88); +var requireObjectCoercible = __w_pdfjs_require__(19); +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var stringSlice = uncurryThis(''.slice); +var createMethod = function (CONVERT_TO_STRING) { + return function ($this, pos) { + var S = toString(requireObjectCoercible($this)); + var position = toIntegerOrInfinity(pos); + var size = S.length; + var first, second; + if (position < 0 || position >= size) + return CONVERT_TO_STRING ? '' : undefined; + first = charCodeAt(S, position); + return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? charAt(S, position) : first : CONVERT_TO_STRING ? stringSlice(S, position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; + }; +}; +module.exports = { + codeAt: createMethod(false), + charAt: createMethod(true) +}; + +/***/ }), +/* 127 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +module.exports = global; + +/***/ }), +/* 128 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +__w_pdfjs_require__(90); +__w_pdfjs_require__(96); +__w_pdfjs_require__(129); +__w_pdfjs_require__(140); +__w_pdfjs_require__(141); +var path = __w_pdfjs_require__(127); +module.exports = path.structuredClone; + +/***/ }), +/* 129 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var collection = __w_pdfjs_require__(130); +var collectionStrong = __w_pdfjs_require__(139); +collection('Map', function (init) { + return function Map() { + return init(this, arguments.length ? arguments[0] : undefined); + }; +}, collectionStrong); + +/***/ }), +/* 130 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(6); +var global = __w_pdfjs_require__(7); +var uncurryThis = __w_pdfjs_require__(17); +var isForced = __w_pdfjs_require__(67); +var redefine = __w_pdfjs_require__(49); +var InternalMetadataModule = __w_pdfjs_require__(131); +var iterate = __w_pdfjs_require__(78); +var anInstance = __w_pdfjs_require__(102); +var isCallable = __w_pdfjs_require__(23); +var isObject = __w_pdfjs_require__(22); +var fails = __w_pdfjs_require__(10); +var checkCorrectnessOfIteration = __w_pdfjs_require__(103); +var setToStringTag = __w_pdfjs_require__(95); +var inheritIfRequired = __w_pdfjs_require__(138); +module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { + var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1; + var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1; + var ADDER = IS_MAP ? 'set' : 'add'; + var NativeConstructor = global[CONSTRUCTOR_NAME]; + var NativePrototype = NativeConstructor && NativeConstructor.prototype; + var Constructor = NativeConstructor; + var exported = {}; + var fixMethod = function (KEY) { + var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]); + redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) { + uncurriedNativeMethod(this, value === 0 ? 0 : value); + return this; + } : KEY == 'delete' ? function (key) { + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : KEY == 'get' ? function get(key) { + return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : KEY == 'has' ? function has(key) { + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : function set(key, value) { + uncurriedNativeMethod(this, key === 0 ? 0 : key, value); + return this; + }); + }; + var REPLACE = isForced(CONSTRUCTOR_NAME, !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () { + new NativeConstructor().entries().next(); + }))); + if (REPLACE) { + Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); + InternalMetadataModule.enable(); + } else if (isForced(CONSTRUCTOR_NAME, true)) { + var instance = new Constructor(); + var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; + var THROWS_ON_PRIMITIVES = fails(function () { + instance.has(1); + }); + var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { + new NativeConstructor(iterable); + }); + var BUGGY_ZERO = !IS_WEAK && fails(function () { + var $instance = new NativeConstructor(); + var index = 5; + while (index--) + $instance[ADDER](index, index); + return !$instance.has(-0); + }); + if (!ACCEPT_ITERABLES) { + Constructor = wrapper(function (dummy, iterable) { + anInstance(dummy, NativePrototype); + var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); + if (iterable != undefined) + iterate(iterable, that[ADDER], { + that: that, + AS_ENTRIES: IS_MAP + }); + return that; + }); + Constructor.prototype = NativePrototype; + NativePrototype.constructor = Constructor; + } + if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { + fixMethod('delete'); + fixMethod('has'); + IS_MAP && fixMethod('get'); + } + if (BUGGY_ZERO || HASNT_CHAINING) + fixMethod(ADDER); + if (IS_WEAK && NativePrototype.clear) + delete NativePrototype.clear; + } + exported[CONSTRUCTOR_NAME] = Constructor; + $({ + global: true, + forced: Constructor != NativeConstructor + }, exported); + setToStringTag(Constructor, CONSTRUCTOR_NAME); + if (!IS_WEAK) + common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); + return Constructor; +}; + +/***/ }), +/* 131 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var $ = __w_pdfjs_require__(6); +var uncurryThis = __w_pdfjs_require__(17); +var hiddenKeys = __w_pdfjs_require__(54); +var isObject = __w_pdfjs_require__(22); +var hasOwn = __w_pdfjs_require__(40); +var defineProperty = (__w_pdfjs_require__(46).f); +var getOwnPropertyNamesModule = __w_pdfjs_require__(58); +var getOwnPropertyNamesExternalModule = __w_pdfjs_require__(132); +var isExtensible = __w_pdfjs_require__(135); +var uid = __w_pdfjs_require__(42); +var FREEZING = __w_pdfjs_require__(137); +var REQUIRED = false; +var METADATA = uid('meta'); +var id = 0; +var setMetadata = function (it) { + defineProperty(it, METADATA, { + value: { + objectID: 'O' + id++, + weakData: {} + } + }); +}; +var fastKey = function (it, create) { + if (!isObject(it)) + return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!hasOwn(it, METADATA)) { + if (!isExtensible(it)) + return 'F'; + if (!create) + return 'E'; + setMetadata(it); + } + return it[METADATA].objectID; +}; +var getWeakData = function (it, create) { + if (!hasOwn(it, METADATA)) { + if (!isExtensible(it)) + return true; + if (!create) + return false; + setMetadata(it); + } + return it[METADATA].weakData; +}; +var onFreeze = function (it) { + if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) + setMetadata(it); + return it; +}; +var enable = function () { + meta.enable = function () { + }; + REQUIRED = true; + var getOwnPropertyNames = getOwnPropertyNamesModule.f; + var splice = uncurryThis([].splice); + var test = {}; + test[METADATA] = 1; + if (getOwnPropertyNames(test).length) { + getOwnPropertyNamesModule.f = function (it) { + var result = getOwnPropertyNames(it); + for (var i = 0, length = result.length; i < length; i++) { + if (result[i] === METADATA) { + splice(result, i, 1); + break; + } + } + return result; + }; + $({ + target: 'Object', + stat: true, + forced: true + }, { getOwnPropertyNames: getOwnPropertyNamesExternalModule.f }); + } +}; +var meta = module.exports = { + enable: enable, + fastKey: fastKey, + getWeakData: getWeakData, + onFreeze: onFreeze +}; +hiddenKeys[METADATA] = true; + +/***/ }), +/* 132 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var classof = __w_pdfjs_require__(18); +var toIndexedObject = __w_pdfjs_require__(15); +var $getOwnPropertyNames = (__w_pdfjs_require__(58).f); +var arraySlice = __w_pdfjs_require__(133); +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; +var getWindowNames = function (it) { + try { + return $getOwnPropertyNames(it); + } catch (error) { + return arraySlice(windowNames); + } +}; +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && classof(it) == 'Window' ? getWindowNames(it) : $getOwnPropertyNames(toIndexedObject(it)); +}; + +/***/ }), +/* 133 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var toAbsoluteIndex = __w_pdfjs_require__(61); +var lengthOfArrayLike = __w_pdfjs_require__(63); +var createProperty = __w_pdfjs_require__(134); +var Array = global.Array; +var max = Math.max; +module.exports = function (O, start, end) { + var length = lengthOfArrayLike(O); + var k = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + var result = Array(max(fin - k, 0)); + for (var n = 0; k < fin; k++, n++) + createProperty(result, n, O[k]); + result.length = n; + return result; +}; + +/***/ }), +/* 134 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var toPropertyKey = __w_pdfjs_require__(20); +var definePropertyModule = __w_pdfjs_require__(46); +var createPropertyDescriptor = __w_pdfjs_require__(14); +module.exports = function (object, key, value) { + var propertyKey = toPropertyKey(key); + if (propertyKey in object) + definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); + else + object[propertyKey] = value; +}; + +/***/ }), +/* 135 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(10); +var isObject = __w_pdfjs_require__(22); +var classof = __w_pdfjs_require__(18); +var ARRAY_BUFFER_NON_EXTENSIBLE = __w_pdfjs_require__(136); +var $isExtensible = Object.isExtensible; +var FAILS_ON_PRIMITIVES = fails(function () { + $isExtensible(1); +}); +module.exports = FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE ? function isExtensible(it) { + if (!isObject(it)) + return false; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') + return false; + return $isExtensible ? $isExtensible(it) : true; +} : $isExtensible; + +/***/ }), +/* 136 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(10); +module.exports = fails(function () { + if (typeof ArrayBuffer == 'function') { + var buffer = new ArrayBuffer(8); + if (Object.isExtensible(buffer)) + Object.defineProperty(buffer, 'a', { value: 8 }); + } +}); + +/***/ }), +/* 137 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(10); +module.exports = !fails(function () { + return Object.isExtensible(Object.preventExtensions({})); +}); + +/***/ }), +/* 138 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var isCallable = __w_pdfjs_require__(23); +var isObject = __w_pdfjs_require__(22); +var setPrototypeOf = __w_pdfjs_require__(70); +module.exports = function ($this, dummy, Wrapper) { + var NewTarget, NewTargetPrototype; + if (setPrototypeOf && isCallable(NewTarget = dummy.constructor) && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype) + setPrototypeOf($this, NewTargetPrototype); + return $this; +}; + +/***/ }), +/* 139 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var defineProperty = (__w_pdfjs_require__(46).f); +var create = __w_pdfjs_require__(72); +var redefineAll = __w_pdfjs_require__(100); +var bind = __w_pdfjs_require__(79); +var anInstance = __w_pdfjs_require__(102); +var iterate = __w_pdfjs_require__(78); +var defineIterator = __w_pdfjs_require__(92); +var setSpecies = __w_pdfjs_require__(101); +var DESCRIPTORS = __w_pdfjs_require__(9); +var fastKey = (__w_pdfjs_require__(131).fastKey); +var InternalStateModule = __w_pdfjs_require__(51); +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var Constructor = wrapper(function (that, iterable) { + anInstance(that, Prototype); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + index: create(null), + first: undefined, + last: undefined, + size: 0 + }); + if (!DESCRIPTORS) + that.size = 0; + if (iterable != undefined) + iterate(iterable, that[ADDER], { + that: that, + AS_ENTRIES: IS_MAP + }); + }); + var Prototype = Constructor.prototype; + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + var define = function (that, key, value) { + var state = getInternalState(that); + var entry = getEntry(that, key); + var previous, index; + if (entry) { + entry.value = value; + } else { + state.last = entry = { + index: index = fastKey(key, true), + key: key, + value: value, + previous: previous = state.last, + next: undefined, + removed: false + }; + if (!state.first) + state.first = entry; + if (previous) + previous.next = entry; + if (DESCRIPTORS) + state.size++; + else + that.size++; + if (index !== 'F') + state.index[index] = entry; + } + return that; + }; + var getEntry = function (that, key) { + var state = getInternalState(that); + var index = fastKey(key); + var entry; + if (index !== 'F') + return state.index[index]; + for (entry = state.first; entry; entry = entry.next) { + if (entry.key == key) + return entry; + } + }; + redefineAll(Prototype, { + clear: function clear() { + var that = this; + var state = getInternalState(that); + var data = state.index; + var entry = state.first; + while (entry) { + entry.removed = true; + if (entry.previous) + entry.previous = entry.previous.next = undefined; + delete data[entry.index]; + entry = entry.next; + } + state.first = state.last = undefined; + if (DESCRIPTORS) + state.size = 0; + else + that.size = 0; + }, + 'delete': function (key) { + var that = this; + var state = getInternalState(that); + var entry = getEntry(that, key); + if (entry) { + var next = entry.next; + var prev = entry.previous; + delete state.index[entry.index]; + entry.removed = true; + if (prev) + prev.next = next; + if (next) + next.previous = prev; + if (state.first == entry) + state.first = next; + if (state.last == entry) + state.last = prev; + if (DESCRIPTORS) + state.size--; + else + that.size--; + } + return !!entry; + }, + forEach: function forEach(callbackfn) { + var state = getInternalState(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + var entry; + while (entry = entry ? entry.next : state.first) { + boundFunction(entry.value, entry.key, this); + while (entry && entry.removed) + entry = entry.previous; + } + }, + has: function has(key) { + return !!getEntry(this, key); + } + }); + redefineAll(Prototype, IS_MAP ? { + get: function get(key) { + var entry = getEntry(this, key); + return entry && entry.value; + }, + set: function set(key, value) { + return define(this, key === 0 ? 0 : key, value); + } + } : { + add: function add(value) { + return define(this, value = value === 0 ? 0 : value, value); + } + }); + if (DESCRIPTORS) + defineProperty(Prototype, 'size', { + get: function () { + return getInternalState(this).size; + } + }); + return Constructor; + }, + setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) { + var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; + var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); + var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); + defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) { + setInternalState(this, { + type: ITERATOR_NAME, + target: iterated, + state: getInternalCollectionState(iterated), + kind: kind, + last: undefined + }); + }, function () { + var state = getInternalIteratorState(this); + var kind = state.kind; + var entry = state.last; + while (entry && entry.removed) + entry = entry.previous; + if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { + state.target = undefined; + return { + value: undefined, + done: true + }; + } + if (kind == 'keys') + return { + value: entry.key, + done: false + }; + if (kind == 'values') + return { + value: entry.value, + done: false + }; + return { + value: [ + entry.key, + entry.value + ], + done: false + }; + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + setSpecies(CONSTRUCTOR_NAME); + } +}; + +/***/ }), +/* 140 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var collection = __w_pdfjs_require__(130); +var collectionStrong = __w_pdfjs_require__(139); +collection('Set', function (init) { + return function Set() { + return init(this, arguments.length ? arguments[0] : undefined); + }; +}, collectionStrong); + +/***/ }), +/* 141 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var IS_PURE = __w_pdfjs_require__(37); +var $ = __w_pdfjs_require__(6); +var global = __w_pdfjs_require__(7); +var getBuiltin = __w_pdfjs_require__(25); +var uncurryThis = __w_pdfjs_require__(17); +var fails = __w_pdfjs_require__(10); +var uid = __w_pdfjs_require__(42); +var isCallable = __w_pdfjs_require__(23); +var isConstructor = __w_pdfjs_require__(106); +var isObject = __w_pdfjs_require__(22); +var isSymbol = __w_pdfjs_require__(24); +var iterate = __w_pdfjs_require__(78); +var anObject = __w_pdfjs_require__(48); +var classof = __w_pdfjs_require__(84); +var hasOwn = __w_pdfjs_require__(40); +var createProperty = __w_pdfjs_require__(134); +var createNonEnumerableProperty = __w_pdfjs_require__(45); +var lengthOfArrayLike = __w_pdfjs_require__(63); +var validateArgumentsLength = __w_pdfjs_require__(110); +var regExpFlags = __w_pdfjs_require__(142); +var ERROR_STACK_INSTALLABLE = __w_pdfjs_require__(89); +var Object = global.Object; +var Date = global.Date; +var Error = global.Error; +var EvalError = global.EvalError; +var RangeError = global.RangeError; +var ReferenceError = global.ReferenceError; +var SyntaxError = global.SyntaxError; +var TypeError = global.TypeError; +var URIError = global.URIError; +var PerformanceMark = global.PerformanceMark; +var WebAssembly = global.WebAssembly; +var CompileError = WebAssembly && WebAssembly.CompileError || Error; +var LinkError = WebAssembly && WebAssembly.LinkError || Error; +var RuntimeError = WebAssembly && WebAssembly.RuntimeError || Error; +var DOMException = getBuiltin('DOMException'); +var Set = getBuiltin('Set'); +var Map = getBuiltin('Map'); +var MapPrototype = Map.prototype; +var mapHas = uncurryThis(MapPrototype.has); +var mapGet = uncurryThis(MapPrototype.get); +var mapSet = uncurryThis(MapPrototype.set); +var setAdd = uncurryThis(Set.prototype.add); +var objectKeys = getBuiltin('Object', 'keys'); +var push = uncurryThis([].push); +var booleanValueOf = uncurryThis(true.valueOf); +var numberValueOf = uncurryThis(1.0.valueOf); +var stringValueOf = uncurryThis(''.valueOf); +var getFlags = uncurryThis(regExpFlags); +var getTime = uncurryThis(Date.prototype.getTime); +var PERFORMANCE_MARK = uid('structuredClone'); +var DATA_CLONE_ERROR = 'DataCloneError'; +var TRANSFERRING = 'Transferring'; +var checkBasicSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var set1 = new global.Set([7]); + var set2 = structuredCloneImplementation(set1); + var number = structuredCloneImplementation(Object(7)); + return set2 == set1 || !set2.has(7) || typeof number != 'object' || number != 7; + }) && structuredCloneImplementation; +}; +var checkNewErrorsSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var test = structuredCloneImplementation(new global.AggregateError([1], PERFORMANCE_MARK, { cause: 3 })); + return test.name != 'AggregateError' || test.errors[0] != 1 || test.message != PERFORMANCE_MARK || test.cause != 3; + }) && structuredCloneImplementation; +}; +var nativeStructuredClone = global.structuredClone; +var FORCED_REPLACEMENT = IS_PURE || !checkNewErrorsSemantic(nativeStructuredClone); +var structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) { + return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail; +}); +var nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark; +var throwUncloneable = function (type) { + throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR); +}; +var throwUnpolyfillable = function (type, kind) { + throw new DOMException((kind || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR); +}; +var structuredCloneInternal = function (value, map) { + if (isSymbol(value)) + throwUncloneable('Symbol'); + if (!isObject(value)) + return value; + if (map) { + if (mapHas(map, value)) + return mapGet(map, value); + } else + map = new Map(); + var type = classof(value); + var deep = false; + var C, name, cloned, dataTransfer, i, length, keys, key, source, target; + switch (type) { + case 'Array': + cloned = []; + deep = true; + break; + case 'Object': + cloned = {}; + deep = true; + break; + case 'Map': + cloned = new Map(); + deep = true; + break; + case 'Set': + cloned = new Set(); + deep = true; + break; + case 'RegExp': + cloned = new RegExp(value.source, 'flags' in value ? value.flags : getFlags(value)); + break; + case 'Error': + name = value.name; + switch (name) { + case 'AggregateError': + cloned = getBuiltin('AggregateError')([]); + break; + case 'EvalError': + cloned = EvalError(); + break; + case 'RangeError': + cloned = RangeError(); + break; + case 'ReferenceError': + cloned = ReferenceError(); + break; + case 'SyntaxError': + cloned = SyntaxError(); + break; + case 'TypeError': + cloned = TypeError(); + break; + case 'URIError': + cloned = URIError(); + break; + case 'CompileError': + cloned = CompileError(); + break; + case 'LinkError': + cloned = LinkError(); + break; + case 'RuntimeError': + cloned = RuntimeError(); + break; + default: + cloned = Error(); + } + deep = true; + break; + case 'DOMException': + cloned = new DOMException(value.message, value.name); + deep = true; + break; + case 'DataView': + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': + C = global[type]; + if (!isObject(C)) + throwUnpolyfillable(type); + cloned = new C(structuredCloneInternal(value.buffer, map), value.byteOffset, type === 'DataView' ? value.byteLength : value.length); + break; + case 'DOMQuad': + try { + cloned = new DOMQuad(structuredCloneInternal(value.p1, map), structuredCloneInternal(value.p2, map), structuredCloneInternal(value.p3, map), structuredCloneInternal(value.p4, map)); + } catch (error) { + if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); + } else + throwUnpolyfillable(type); + } + break; + case 'FileList': + C = global.DataTransfer; + if (isConstructor(C)) { + dataTransfer = new C(); + for (i = 0, length = lengthOfArrayLike(value); i < length; i++) { + dataTransfer.items.add(structuredCloneInternal(value[i], map)); + } + cloned = dataTransfer.files; + } else if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); + } else + throwUnpolyfillable(type); + break; + case 'ImageData': + try { + cloned = new ImageData(structuredCloneInternal(value.data, map), value.width, value.height, { colorSpace: value.colorSpace }); + } catch (error) { + if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); + } else + throwUnpolyfillable(type); + } + break; + default: + if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); + } else + switch (type) { + case 'BigInt': + cloned = Object(value.valueOf()); + break; + case 'Boolean': + cloned = Object(booleanValueOf(value)); + break; + case 'Number': + cloned = Object(numberValueOf(value)); + break; + case 'String': + cloned = Object(stringValueOf(value)); + break; + case 'Date': + cloned = new Date(getTime(value)); + break; + case 'ArrayBuffer': + C = global.DataView; + if (!C && typeof value.slice != 'function') + throwUnpolyfillable(type); + try { + if (typeof value.slice == 'function') { + cloned = value.slice(0); + } else { + length = value.byteLength; + cloned = new ArrayBuffer(length); + source = new C(value); + target = new C(cloned); + for (i = 0; i < length; i++) { + target.setUint8(i, source.getUint8(i)); + } + } + } catch (error) { + throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR); + } + break; + case 'SharedArrayBuffer': + cloned = value; + break; + case 'Blob': + try { + cloned = value.slice(0, value.size, value.type); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'DOMPoint': + case 'DOMPointReadOnly': + C = global[type]; + try { + cloned = C.fromPoint ? C.fromPoint(value) : new C(value.x, value.y, value.z, value.w); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'DOMRect': + case 'DOMRectReadOnly': + C = global[type]; + try { + cloned = C.fromRect ? C.fromRect(value) : new C(value.x, value.y, value.width, value.height); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'DOMMatrix': + case 'DOMMatrixReadOnly': + C = global[type]; + try { + cloned = C.fromMatrix ? C.fromMatrix(value) : new C(value); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone)) + throwUnpolyfillable(type); + try { + cloned = value.clone(); + } catch (error) { + throwUncloneable(type); + } + break; + case 'File': + try { + cloned = new File([value], value.name, value); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'CryptoKey': + case 'GPUCompilationMessage': + case 'GPUCompilationInfo': + case 'ImageBitmap': + case 'RTCCertificate': + case 'WebAssembly.Module': + throwUnpolyfillable(type); + default: + throwUncloneable(type); + } + } + mapSet(map, value, cloned); + if (deep) + switch (type) { + case 'Array': + case 'Object': + keys = objectKeys(value); + for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) { + key = keys[i]; + createProperty(cloned, key, structuredCloneInternal(value[key], map)); + } + break; + case 'Map': + value.forEach(function (v, k) { + mapSet(cloned, structuredCloneInternal(k, map), structuredCloneInternal(v, map)); + }); + break; + case 'Set': + value.forEach(function (v) { + setAdd(cloned, structuredCloneInternal(v, map)); + }); + break; + case 'Error': + createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map)); + if (hasOwn(value, 'cause')) { + createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map)); + } + if (name == 'AggregateError') { + cloned.errors = structuredCloneInternal(value.errors, map); + } + case 'DOMException': + if (ERROR_STACK_INSTALLABLE) { + createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map)); + } + } + return cloned; +}; +var PROPER_TRANSFER = nativeStructuredClone && !fails(function () { + var buffer = new ArrayBuffer(8); + var clone = nativeStructuredClone(buffer, { transfer: [buffer] }); + return buffer.byteLength != 0 || clone.byteLength != 8; +}); +var tryToTransfer = function (rawTransfer, map) { + if (!isObject(rawTransfer)) + throw TypeError('Transfer option cannot be converted to a sequence'); + var transfer = []; + iterate(rawTransfer, function (value) { + push(transfer, anObject(value)); + }); + var i = 0; + var length = lengthOfArrayLike(transfer); + var value, type, C, transferredArray, transferred, canvas, context; + if (PROPER_TRANSFER) { + transferredArray = nativeStructuredClone(transfer, { transfer: transfer }); + while (i < length) + mapSet(map, transfer[i], transferredArray[i++]); + } else + while (i < length) { + value = transfer[i++]; + if (mapHas(map, value)) + throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR); + type = classof(value); + switch (type) { + case 'ImageBitmap': + C = global.OffscreenCanvas; + if (!isConstructor(C)) + throwUnpolyfillable(type, TRANSFERRING); + try { + canvas = new C(value.width, value.height); + context = canvas.getContext('bitmaprenderer'); + context.transferFromImageBitmap(value); + transferred = canvas.transferToImageBitmap(); + } catch (error) { + } + break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone) || !isCallable(value.close)) + throwUnpolyfillable(type, TRANSFERRING); + try { + transferred = value.clone(); + value.close(); + } catch (error) { + } + break; + case 'ArrayBuffer': + case 'MessagePort': + case 'OffscreenCanvas': + case 'ReadableStream': + case 'TransformStream': + case 'WritableStream': + throwUnpolyfillable(type, TRANSFERRING); + } + if (transferred === undefined) + throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR); + mapSet(map, value, transferred); + } +}; +$({ + global: true, + enumerable: true, + sham: !PROPER_TRANSFER, + forced: FORCED_REPLACEMENT +}, { + structuredClone: function structuredClone(value) { + var options = validateArgumentsLength(arguments.length, 1) > 1 ? anObject(arguments[1]) : undefined; + var transfer = options ? options.transfer : undefined; + var map; + if (transfer !== undefined) { + map = new Map(); + tryToTransfer(transfer, map); + } + return structuredCloneInternal(value, map); + } +}); + +/***/ }), +/* 142 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var anObject = __w_pdfjs_require__(48); +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.global) + result += 'g'; + if (that.ignoreCase) + result += 'i'; + if (that.multiline) + result += 'm'; + if (that.dotAll) + result += 's'; + if (that.unicode) + result += 'u'; + if (that.sticky) + result += 'y'; + return result; +}; + +/***/ }), +/* 143 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.build = exports.RenderTask = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDocumentLoadingTask = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultStandardFontDataFactory = exports.DefaultCanvasFactory = exports.DefaultCMapReaderFactory = void 0; +exports.getDocument = getDocument; +exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory; +exports.version = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); + +var _util = __w_pdfjs_require__(1); + +var _display_utils = __w_pdfjs_require__(146); + +var _font_loader = __w_pdfjs_require__(148); + +var _node_utils = __w_pdfjs_require__(149); + +var _annotation_storage = __w_pdfjs_require__(150); + +var _canvas = __w_pdfjs_require__(151); + +var _worker_options = __w_pdfjs_require__(153); + +var _is_node = __w_pdfjs_require__(3); + +var _message_handler = __w_pdfjs_require__(154); + +var _metadata = __w_pdfjs_require__(155); + +var _optional_content_config = __w_pdfjs_require__(156); + +var _transport_stream = __w_pdfjs_require__(157); + +var _xfa_text = __w_pdfjs_require__(158); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } + +function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } + +function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } + +function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } + +function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } + +function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } + +function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +var DEFAULT_RANGE_CHUNK_SIZE = 65536; +var RENDERING_CANCELLED_TIMEOUT = 100; +var DefaultCanvasFactory = _is_node.isNodeJS ? _node_utils.NodeCanvasFactory : _display_utils.DOMCanvasFactory; +exports.DefaultCanvasFactory = DefaultCanvasFactory; +var DefaultCMapReaderFactory = _is_node.isNodeJS ? _node_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory; +exports.DefaultCMapReaderFactory = DefaultCMapReaderFactory; +var DefaultStandardFontDataFactory = _is_node.isNodeJS ? _node_utils.NodeStandardFontDataFactory : _display_utils.DOMStandardFontDataFactory; +exports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory; +var createPDFNetworkStream; + +function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) { + createPDFNetworkStream = pdfNetworkStreamFactory; +} + +function getDocument(src) { + var task = new PDFDocumentLoadingTask(); + var source; + + if (typeof src === "string" || src instanceof URL) { + source = { + url: src + }; + } else if ((0, _util.isArrayBuffer)(src)) { + source = { + data: src + }; + } else if (src instanceof PDFDataRangeTransport) { + source = { + range: src + }; + } else { + if (_typeof(src) !== "object") { + throw new Error("Invalid parameter in getDocument, " + "need either string, URL, Uint8Array, or parameter object."); + } + + if (!src.url && !src.data && !src.range) { + throw new Error("Invalid parameter object: need either .data, .range or .url"); + } + + source = src; + } + + var params = Object.create(null); + var rangeTransport = null, + worker = null; + + for (var key in source) { + var value = source[key]; + + switch (key) { + case "url": + if (typeof window !== "undefined") { + try { + params[key] = new URL(value, window.location).href; + continue; + } catch (ex) { + (0, _util.warn)("Cannot create valid URL: \"".concat(ex, "\".")); + } + } else if (typeof value === "string" || value instanceof URL) { + params[key] = value.toString(); + continue; + } + + throw new Error("Invalid PDF url data: " + "either string or URL-object is expected in the url property."); + + case "range": + rangeTransport = value; + continue; + + case "worker": + worker = value; + continue; + + case "data": + if (_is_node.isNodeJS && typeof Buffer !== "undefined" && value instanceof Buffer) { + params[key] = new Uint8Array(value); + } else if (value instanceof Uint8Array) { + break; + } else if (typeof value === "string") { + params[key] = (0, _util.stringToBytes)(value); + } else if (_typeof(value) === "object" && value !== null && !isNaN(value.length)) { + params[key] = new Uint8Array(value); + } else if ((0, _util.isArrayBuffer)(value)) { + params[key] = new Uint8Array(value); + } else { + throw new Error("Invalid PDF binary data: either typed array, " + "string, or array-like object is expected in the data property."); + } + + continue; + } + + params[key] = value; + } + + params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE; + params.CMapReaderFactory = params.CMapReaderFactory || DefaultCMapReaderFactory; + params.StandardFontDataFactory = params.StandardFontDataFactory || DefaultStandardFontDataFactory; + params.ignoreErrors = params.stopAtErrors !== true; + params.fontExtraProperties = params.fontExtraProperties === true; + params.pdfBug = params.pdfBug === true; + params.enableXfa = params.enableXfa === true; + + if (typeof params.docBaseUrl !== "string" || (0, _display_utils.isDataScheme)(params.docBaseUrl)) { + params.docBaseUrl = null; + } + + if (!Number.isInteger(params.maxImageSize)) { + params.maxImageSize = -1; + } + + if (typeof params.useWorkerFetch !== "boolean") { + params.useWorkerFetch = params.CMapReaderFactory === _display_utils.DOMCMapReaderFactory && params.StandardFontDataFactory === _display_utils.DOMStandardFontDataFactory; + } + + if (typeof params.isEvalSupported !== "boolean") { + params.isEvalSupported = true; + } + + if (typeof params.disableFontFace !== "boolean") { + params.disableFontFace = _is_node.isNodeJS; + } + + if (typeof params.useSystemFonts !== "boolean") { + params.useSystemFonts = !_is_node.isNodeJS && !params.disableFontFace; + } + + if (typeof params.ownerDocument === "undefined") { + params.ownerDocument = globalThis.document; + } + + if (typeof params.disableRange !== "boolean") { + params.disableRange = false; + } + + if (typeof params.disableStream !== "boolean") { + params.disableStream = false; + } + + if (typeof params.disableAutoFetch !== "boolean") { + params.disableAutoFetch = false; + } + + (0, _util.setVerbosityLevel)(params.verbosity); + + if (!worker) { + var workerParams = { + verbosity: params.verbosity, + port: _worker_options.GlobalWorkerOptions.workerPort + }; + worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams); + task._worker = worker; + } + + var docId = task.docId; + worker.promise.then(function () { + if (task.destroyed) { + throw new Error("Loading aborted"); + } + + var workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId); + + var networkStreamPromise = new Promise(function (resolve) { + var networkStream; + + if (rangeTransport) { + networkStream = new _transport_stream.PDFDataTransportStream({ + length: params.length, + initialData: params.initialData, + progressiveDone: params.progressiveDone, + contentDispositionFilename: params.contentDispositionFilename, + disableRange: params.disableRange, + disableStream: params.disableStream + }, rangeTransport); + } else if (!params.data) { + networkStream = createPDFNetworkStream({ + url: params.url, + length: params.length, + httpHeaders: params.httpHeaders, + withCredentials: params.withCredentials, + rangeChunkSize: params.rangeChunkSize, + disableRange: params.disableRange, + disableStream: params.disableStream + }); + } + + resolve(networkStream); + }); + return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref) { + var _ref2 = _slicedToArray(_ref, 2), + workerId = _ref2[0], + networkStream = _ref2[1]; + + if (task.destroyed) { + throw new Error("Loading aborted"); + } + + var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port); + var transport = new WorkerTransport(messageHandler, task, networkStream, params); + task._transport = transport; + messageHandler.send("Ready", null); + }); + })["catch"](task._capability.reject); + return task; +} + +function _fetchDocument(_x, _x2, _x3, _x4) { + return _fetchDocument2.apply(this, arguments); +} + +function _fetchDocument2() { + _fetchDocument2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee7(worker, source, pdfDataRangeTransport, docId) { + var workerId; + return _regenerator["default"].wrap(function _callee7$(_context7) { + while (1) { + switch (_context7.prev = _context7.next) { + case 0: + if (!worker.destroyed) { + _context7.next = 2; + break; + } + + throw new Error("Worker was destroyed"); + + case 2: + if (pdfDataRangeTransport) { + source.length = pdfDataRangeTransport.length; + source.initialData = pdfDataRangeTransport.initialData; + source.progressiveDone = pdfDataRangeTransport.progressiveDone; + source.contentDispositionFilename = pdfDataRangeTransport.contentDispositionFilename; + } + + _context7.next = 5; + return worker.messageHandler.sendWithPromise("GetDocRequest", { + docId: docId, + apiVersion: '2.14.44', + source: { + data: source.data, + url: source.url, + password: source.password, + disableAutoFetch: source.disableAutoFetch, + rangeChunkSize: source.rangeChunkSize, + length: source.length + }, + maxImageSize: source.maxImageSize, + disableFontFace: source.disableFontFace, + docBaseUrl: source.docBaseUrl, + ignoreErrors: source.ignoreErrors, + isEvalSupported: source.isEvalSupported, + fontExtraProperties: source.fontExtraProperties, + enableXfa: source.enableXfa, + useSystemFonts: source.useSystemFonts, + cMapUrl: source.useWorkerFetch ? source.cMapUrl : null, + standardFontDataUrl: source.useWorkerFetch ? source.standardFontDataUrl : null + }); + + case 5: + workerId = _context7.sent; + + if (!worker.destroyed) { + _context7.next = 8; + break; + } + + throw new Error("Worker was destroyed"); + + case 8: + return _context7.abrupt("return", workerId); + + case 9: + case "end": + return _context7.stop(); + } + } + }, _callee7); + })); + return _fetchDocument2.apply(this, arguments); +} + +var PDFDocumentLoadingTask = /*#__PURE__*/function () { + function PDFDocumentLoadingTask() { + _classCallCheck(this, PDFDocumentLoadingTask); + + this._capability = (0, _util.createPromiseCapability)(); + this._transport = null; + this._worker = null; + this.docId = "d".concat(PDFDocumentLoadingTask.idCounters.doc++); + this.destroyed = false; + this.onPassword = null; + this.onProgress = null; + this.onUnsupportedFeature = null; + } + + _createClass(PDFDocumentLoadingTask, [{ + key: "promise", + get: function get() { + return this._capability.promise; + } + }, { + key: "destroy", + value: function () { + var _destroy = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var _this$_transport; + + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + this.destroyed = true; + _context.next = 3; + return (_this$_transport = this._transport) === null || _this$_transport === void 0 ? void 0 : _this$_transport.destroy(); + + case 3: + this._transport = null; + + if (this._worker) { + this._worker.destroy(); + + this._worker = null; + } + + case 5: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function destroy() { + return _destroy.apply(this, arguments); + } + + return destroy; + }() + }], [{ + key: "idCounters", + get: function get() { + return (0, _util.shadow)(this, "idCounters", { + doc: 0 + }); + } + }]); + + return PDFDocumentLoadingTask; +}(); + +exports.PDFDocumentLoadingTask = PDFDocumentLoadingTask; + +var PDFDataRangeTransport = /*#__PURE__*/function () { + function PDFDataRangeTransport(length, initialData) { + var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + + _classCallCheck(this, PDFDataRangeTransport); + + this.length = length; + this.initialData = initialData; + this.progressiveDone = progressiveDone; + this.contentDispositionFilename = contentDispositionFilename; + this._rangeListeners = []; + this._progressListeners = []; + this._progressiveReadListeners = []; + this._progressiveDoneListeners = []; + this._readyCapability = (0, _util.createPromiseCapability)(); + } + + _createClass(PDFDataRangeTransport, [{ + key: "addRangeListener", + value: function addRangeListener(listener) { + this._rangeListeners.push(listener); + } + }, { + key: "addProgressListener", + value: function addProgressListener(listener) { + this._progressListeners.push(listener); + } + }, { + key: "addProgressiveReadListener", + value: function addProgressiveReadListener(listener) { + this._progressiveReadListeners.push(listener); + } + }, { + key: "addProgressiveDoneListener", + value: function addProgressiveDoneListener(listener) { + this._progressiveDoneListeners.push(listener); + } + }, { + key: "onDataRange", + value: function onDataRange(begin, chunk) { + var _iterator = _createForOfIteratorHelper(this._rangeListeners), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var listener = _step.value; + listener(begin, chunk); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }, { + key: "onDataProgress", + value: function onDataProgress(loaded, total) { + var _this = this; + + this._readyCapability.promise.then(function () { + var _iterator2 = _createForOfIteratorHelper(_this._progressListeners), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var listener = _step2.value; + listener(loaded, total); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + }); + } + }, { + key: "onDataProgressiveRead", + value: function onDataProgressiveRead(chunk) { + var _this2 = this; + + this._readyCapability.promise.then(function () { + var _iterator3 = _createForOfIteratorHelper(_this2._progressiveReadListeners), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var listener = _step3.value; + listener(chunk); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + }); + } + }, { + key: "onDataProgressiveDone", + value: function onDataProgressiveDone() { + var _this3 = this; + + this._readyCapability.promise.then(function () { + var _iterator4 = _createForOfIteratorHelper(_this3._progressiveDoneListeners), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var listener = _step4.value; + listener(); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + }); + } + }, { + key: "transportReady", + value: function transportReady() { + this._readyCapability.resolve(); + } + }, { + key: "requestDataRange", + value: function requestDataRange(begin, end) { + (0, _util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange"); + } + }, { + key: "abort", + value: function abort() {} + }]); + + return PDFDataRangeTransport; +}(); + +exports.PDFDataRangeTransport = PDFDataRangeTransport; + +var PDFDocumentProxy = /*#__PURE__*/function () { + function PDFDocumentProxy(pdfInfo, transport) { + var _this4 = this; + + _classCallCheck(this, PDFDocumentProxy); + + this._pdfInfo = pdfInfo; + this._transport = transport; + Object.defineProperty(this, "fingerprint", { + get: function get() { + (0, _display_utils.deprecated)("`PDFDocumentProxy.fingerprint`, " + "please use `PDFDocumentProxy.fingerprints` instead."); + return this.fingerprints[0]; + } + }); + Object.defineProperty(this, "getStats", { + value: function () { + var _value = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + (0, _display_utils.deprecated)("`PDFDocumentProxy.getStats`, " + "please use the `PDFDocumentProxy.stats`-getter instead."); + return _context2.abrupt("return", _this4.stats || { + streamTypes: {}, + fontTypes: {} + }); + + case 2: + case "end": + return _context2.stop(); + } + } + }, _callee2); + })); + + function value() { + return _value.apply(this, arguments); + } + + return value; + }() + }); + } + + _createClass(PDFDocumentProxy, [{ + key: "annotationStorage", + get: function get() { + return this._transport.annotationStorage; + } + }, { + key: "numPages", + get: function get() { + return this._pdfInfo.numPages; + } + }, { + key: "fingerprints", + get: function get() { + return this._pdfInfo.fingerprints; + } + }, { + key: "stats", + get: function get() { + return this._transport.stats; + } + }, { + key: "isPureXfa", + get: function get() { + return !!this._transport._htmlForXfa; + } + }, { + key: "allXfaHtml", + get: function get() { + return this._transport._htmlForXfa; + } + }, { + key: "getPage", + value: function getPage(pageNumber) { + return this._transport.getPage(pageNumber); + } + }, { + key: "getPageIndex", + value: function getPageIndex(ref) { + return this._transport.getPageIndex(ref); + } + }, { + key: "getDestinations", + value: function getDestinations() { + return this._transport.getDestinations(); + } + }, { + key: "getDestination", + value: function getDestination(id) { + return this._transport.getDestination(id); + } + }, { + key: "getPageLabels", + value: function getPageLabels() { + return this._transport.getPageLabels(); + } + }, { + key: "getPageLayout", + value: function getPageLayout() { + return this._transport.getPageLayout(); + } + }, { + key: "getPageMode", + value: function getPageMode() { + return this._transport.getPageMode(); + } + }, { + key: "getViewerPreferences", + value: function getViewerPreferences() { + return this._transport.getViewerPreferences(); + } + }, { + key: "getOpenAction", + value: function getOpenAction() { + return this._transport.getOpenAction(); + } + }, { + key: "getAttachments", + value: function getAttachments() { + return this._transport.getAttachments(); + } + }, { + key: "getJavaScript", + value: function getJavaScript() { + return this._transport.getJavaScript(); + } + }, { + key: "getJSActions", + value: function getJSActions() { + return this._transport.getDocJSActions(); + } + }, { + key: "getOutline", + value: function getOutline() { + return this._transport.getOutline(); + } + }, { + key: "getOptionalContentConfig", + value: function getOptionalContentConfig() { + return this._transport.getOptionalContentConfig(); + } + }, { + key: "getPermissions", + value: function getPermissions() { + return this._transport.getPermissions(); + } + }, { + key: "getMetadata", + value: function getMetadata() { + return this._transport.getMetadata(); + } + }, { + key: "getMarkInfo", + value: function getMarkInfo() { + return this._transport.getMarkInfo(); + } + }, { + key: "getData", + value: function getData() { + return this._transport.getData(); + } + }, { + key: "getDownloadInfo", + value: function getDownloadInfo() { + return this._transport.downloadInfoCapability.promise; + } + }, { + key: "cleanup", + value: function cleanup() { + var keepLoadedFonts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa); + } + }, { + key: "destroy", + value: function destroy() { + return this.loadingTask.destroy(); + } + }, { + key: "loadingParams", + get: function get() { + return this._transport.loadingParams; + } + }, { + key: "loadingTask", + get: function get() { + return this._transport.loadingTask; + } + }, { + key: "saveDocument", + value: function saveDocument() { + if (this._transport.annotationStorage.size <= 0) { + (0, _display_utils.deprecated)("saveDocument called while `annotationStorage` is empty, " + "please use the getData-method instead."); + } + + return this._transport.saveDocument(); + } + }, { + key: "getFieldObjects", + value: function getFieldObjects() { + return this._transport.getFieldObjects(); + } + }, { + key: "hasJSActions", + value: function hasJSActions() { + return this._transport.hasJSActions(); + } + }, { + key: "getCalculationOrderIds", + value: function getCalculationOrderIds() { + return this._transport.getCalculationOrderIds(); + } + }]); + + return PDFDocumentProxy; +}(); + +exports.PDFDocumentProxy = PDFDocumentProxy; + +var PDFPageProxy = /*#__PURE__*/function () { + function PDFPageProxy(pageIndex, pageInfo, transport, ownerDocument) { + var pdfBug = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; + + _classCallCheck(this, PDFPageProxy); + + this._pageIndex = pageIndex; + this._pageInfo = pageInfo; + this._ownerDocument = ownerDocument; + this._transport = transport; + this._stats = pdfBug ? new _display_utils.StatTimer() : null; + this._pdfBug = pdfBug; + this.commonObjs = transport.commonObjs; + this.objs = new PDFObjects(); + this.cleanupAfterRender = false; + this.pendingCleanup = false; + this._intentStates = new Map(); + this._annotationPromises = new Map(); + this.destroyed = false; + } + + _createClass(PDFPageProxy, [{ + key: "pageNumber", + get: function get() { + return this._pageIndex + 1; + } + }, { + key: "rotate", + get: function get() { + return this._pageInfo.rotate; + } + }, { + key: "ref", + get: function get() { + return this._pageInfo.ref; + } + }, { + key: "userUnit", + get: function get() { + return this._pageInfo.userUnit; + } + }, { + key: "view", + get: function get() { + return this._pageInfo.view; + } + }, { + key: "getViewport", + value: function getViewport() { + var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + scale = _ref3.scale, + _ref3$rotation = _ref3.rotation, + rotation = _ref3$rotation === void 0 ? this.rotate : _ref3$rotation, + _ref3$offsetX = _ref3.offsetX, + offsetX = _ref3$offsetX === void 0 ? 0 : _ref3$offsetX, + _ref3$offsetY = _ref3.offsetY, + offsetY = _ref3$offsetY === void 0 ? 0 : _ref3$offsetY, + _ref3$dontFlip = _ref3.dontFlip, + dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$dontFlip; + + return new _display_utils.PageViewport({ + viewBox: this.view, + scale: scale, + rotation: rotation, + offsetX: offsetX, + offsetY: offsetY, + dontFlip: dontFlip + }); + } + }, { + key: "getAnnotations", + value: function getAnnotations() { + var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref4$intent = _ref4.intent, + intent = _ref4$intent === void 0 ? "display" : _ref4$intent; + + var intentArgs = this._transport.getRenderingIntent(intent); + + var promise = this._annotationPromises.get(intentArgs.cacheKey); + + if (!promise) { + promise = this._transport.getAnnotations(this._pageIndex, intentArgs.renderingIntent); + + this._annotationPromises.set(intentArgs.cacheKey, promise); + + promise = promise.then(function (annotations) { + var _iterator5 = _createForOfIteratorHelper(annotations), + _step5; + + try { + var _loop = function _loop() { + var annotation = _step5.value; + + if (annotation.titleObj !== undefined) { + Object.defineProperty(annotation, "title", { + get: function get() { + (0, _display_utils.deprecated)("`title`-property on annotation, please use `titleObj` instead."); + return annotation.titleObj.str; + } + }); + } + + if (annotation.contentsObj !== undefined) { + Object.defineProperty(annotation, "contents", { + get: function get() { + (0, _display_utils.deprecated)("`contents`-property on annotation, please use `contentsObj` instead."); + return annotation.contentsObj.str; + } + }); + } + }; + + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + _loop(); + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + return annotations; + }); + } + + return promise; + } + }, { + key: "getJSActions", + value: function getJSActions() { + return this._jsActionsPromise || (this._jsActionsPromise = this._transport.getPageJSActions(this._pageIndex)); + } + }, { + key: "getXfa", + value: function () { + var _getXfa = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { + var _this$_transport$_htm; + + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + return _context3.abrupt("return", ((_this$_transport$_htm = this._transport._htmlForXfa) === null || _this$_transport$_htm === void 0 ? void 0 : _this$_transport$_htm.children[this._pageIndex]) || null); + + case 1: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function getXfa() { + return _getXfa.apply(this, arguments); + } + + return getXfa; + }() + }, { + key: "render", + value: function render(_ref5) { + var _arguments$, + _arguments$2, + _this5 = this, + _intentState; + + var canvasContext = _ref5.canvasContext, + viewport = _ref5.viewport, + _ref5$intent = _ref5.intent, + intent = _ref5$intent === void 0 ? "display" : _ref5$intent, + _ref5$annotationMode = _ref5.annotationMode, + annotationMode = _ref5$annotationMode === void 0 ? _util.AnnotationMode.ENABLE : _ref5$annotationMode, + _ref5$transform = _ref5.transform, + transform = _ref5$transform === void 0 ? null : _ref5$transform, + _ref5$imageLayer = _ref5.imageLayer, + imageLayer = _ref5$imageLayer === void 0 ? null : _ref5$imageLayer, + _ref5$canvasFactory = _ref5.canvasFactory, + canvasFactory = _ref5$canvasFactory === void 0 ? null : _ref5$canvasFactory, + _ref5$background = _ref5.background, + background = _ref5$background === void 0 ? null : _ref5$background, + _ref5$optionalContent = _ref5.optionalContentConfigPromise, + optionalContentConfigPromise = _ref5$optionalContent === void 0 ? null : _ref5$optionalContent, + _ref5$annotationCanva = _ref5.annotationCanvasMap, + annotationCanvasMap = _ref5$annotationCanva === void 0 ? null : _ref5$annotationCanva; + + if (((_arguments$ = arguments[0]) === null || _arguments$ === void 0 ? void 0 : _arguments$.renderInteractiveForms) !== undefined) { + (0, _display_utils.deprecated)("render no longer accepts the `renderInteractiveForms`-option, " + "please use the `annotationMode`-option instead."); + + if (arguments[0].renderInteractiveForms === true && annotationMode === _util.AnnotationMode.ENABLE) { + annotationMode = _util.AnnotationMode.ENABLE_FORMS; + } + } + + if (((_arguments$2 = arguments[0]) === null || _arguments$2 === void 0 ? void 0 : _arguments$2.includeAnnotationStorage) !== undefined) { + (0, _display_utils.deprecated)("render no longer accepts the `includeAnnotationStorage`-option, " + "please use the `annotationMode`-option instead."); + + if (arguments[0].includeAnnotationStorage === true && annotationMode === _util.AnnotationMode.ENABLE) { + annotationMode = _util.AnnotationMode.ENABLE_STORAGE; + } + } + + if (this._stats) { + this._stats.time("Overall"); + } + + var intentArgs = this._transport.getRenderingIntent(intent, annotationMode); + + this.pendingCleanup = false; + + if (!optionalContentConfigPromise) { + optionalContentConfigPromise = this._transport.getOptionalContentConfig(); + } + + var intentState = this._intentStates.get(intentArgs.cacheKey); + + if (!intentState) { + intentState = Object.create(null); + + this._intentStates.set(intentArgs.cacheKey, intentState); + } + + if (intentState.streamReaderCancelTimeout) { + clearTimeout(intentState.streamReaderCancelTimeout); + intentState.streamReaderCancelTimeout = null; + } + + var canvasFactoryInstance = canvasFactory || new DefaultCanvasFactory({ + ownerDocument: this._ownerDocument + }); + var intentPrint = !!(intentArgs.renderingIntent & _util.RenderingIntentFlag.PRINT); + + if (!intentState.displayReadyCapability) { + intentState.displayReadyCapability = (0, _util.createPromiseCapability)(); + intentState.operatorList = { + fnArray: [], + argsArray: [], + lastChunk: false + }; + + if (this._stats) { + this._stats.time("Page Request"); + } + + this._pumpOperatorList(intentArgs); + } + + var complete = function complete(error) { + intentState.renderTasks["delete"](internalRenderTask); + + if (_this5.cleanupAfterRender || intentPrint) { + _this5.pendingCleanup = true; + } + + _this5._tryCleanup(); + + if (error) { + internalRenderTask.capability.reject(error); + + _this5._abortOperatorList({ + intentState: intentState, + reason: error instanceof Error ? error : new Error(error) + }); + } else { + internalRenderTask.capability.resolve(); + } + + if (_this5._stats) { + _this5._stats.timeEnd("Rendering"); + + _this5._stats.timeEnd("Overall"); + } + }; + + var internalRenderTask = new InternalRenderTask({ + callback: complete, + params: { + canvasContext: canvasContext, + viewport: viewport, + transform: transform, + imageLayer: imageLayer, + background: background + }, + objs: this.objs, + commonObjs: this.commonObjs, + annotationCanvasMap: annotationCanvasMap, + operatorList: intentState.operatorList, + pageIndex: this._pageIndex, + canvasFactory: canvasFactoryInstance, + useRequestAnimationFrame: !intentPrint, + pdfBug: this._pdfBug + }); + ((_intentState = intentState).renderTasks || (_intentState.renderTasks = new Set())).add(internalRenderTask); + var renderTask = internalRenderTask.task; + Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(function (_ref6) { + var _ref7 = _slicedToArray(_ref6, 2), + transparency = _ref7[0], + optionalContentConfig = _ref7[1]; + + if (_this5.pendingCleanup) { + complete(); + return; + } + + if (_this5._stats) { + _this5._stats.time("Rendering"); + } + + internalRenderTask.initializeGraphics({ + transparency: transparency, + optionalContentConfig: optionalContentConfig + }); + internalRenderTask.operatorListChanged(); + })["catch"](complete); + return renderTask; + } + }, { + key: "getOperatorList", + value: function getOperatorList() { + var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref8$intent = _ref8.intent, + intent = _ref8$intent === void 0 ? "display" : _ref8$intent, + _ref8$annotationMode = _ref8.annotationMode, + annotationMode = _ref8$annotationMode === void 0 ? _util.AnnotationMode.ENABLE : _ref8$annotationMode; + + function operatorListChanged() { + if (intentState.operatorList.lastChunk) { + intentState.opListReadCapability.resolve(intentState.operatorList); + intentState.renderTasks["delete"](opListTask); + } + } + + var intentArgs = this._transport.getRenderingIntent(intent, annotationMode, true); + + var intentState = this._intentStates.get(intentArgs.cacheKey); + + if (!intentState) { + intentState = Object.create(null); + + this._intentStates.set(intentArgs.cacheKey, intentState); + } + + var opListTask; + + if (!intentState.opListReadCapability) { + var _intentState2; + + opListTask = Object.create(null); + opListTask.operatorListChanged = operatorListChanged; + intentState.opListReadCapability = (0, _util.createPromiseCapability)(); + ((_intentState2 = intentState).renderTasks || (_intentState2.renderTasks = new Set())).add(opListTask); + intentState.operatorList = { + fnArray: [], + argsArray: [], + lastChunk: false + }; + + if (this._stats) { + this._stats.time("Page Request"); + } + + this._pumpOperatorList(intentArgs); + } + + return intentState.opListReadCapability.promise; + } + }, { + key: "streamTextContent", + value: function streamTextContent() { + var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref9$disableCombineT = _ref9.disableCombineTextItems, + disableCombineTextItems = _ref9$disableCombineT === void 0 ? false : _ref9$disableCombineT, + _ref9$includeMarkedCo = _ref9.includeMarkedContent, + includeMarkedContent = _ref9$includeMarkedCo === void 0 ? false : _ref9$includeMarkedCo; + + var TEXT_CONTENT_CHUNK_SIZE = 100; + return this._transport.messageHandler.sendWithStream("GetTextContent", { + pageIndex: this._pageIndex, + combineTextItems: disableCombineTextItems !== true, + includeMarkedContent: includeMarkedContent === true + }, { + highWaterMark: TEXT_CONTENT_CHUNK_SIZE, + size: function size(textContent) { + return textContent.items.length; + } + }); + } + }, { + key: "getTextContent", + value: function getTextContent() { + var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + + if (this._transport._htmlForXfa) { + return this.getXfa().then(function (xfa) { + return _xfa_text.XfaText.textContent(xfa); + }); + } + + var readableStream = this.streamTextContent(params); + return new Promise(function (resolve, reject) { + function pump() { + reader.read().then(function (_ref10) { + var _textContent$items; + + var value = _ref10.value, + done = _ref10.done; + + if (done) { + resolve(textContent); + return; + } + + Object.assign(textContent.styles, value.styles); + + (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items)); + + pump(); + }, reject); + } + + var reader = readableStream.getReader(); + var textContent = { + items: [], + styles: Object.create(null) + }; + pump(); + }); + } + }, { + key: "getStructTree", + value: function getStructTree() { + return this._structTreePromise || (this._structTreePromise = this._transport.getStructTree(this._pageIndex)); + } + }, { + key: "_destroy", + value: function _destroy() { + this.destroyed = true; + var waitOn = []; + + var _iterator6 = _createForOfIteratorHelper(this._intentStates.values()), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var intentState = _step6.value; + + this._abortOperatorList({ + intentState: intentState, + reason: new Error("Page was destroyed."), + force: true + }); + + if (intentState.opListReadCapability) { + continue; + } + + var _iterator7 = _createForOfIteratorHelper(intentState.renderTasks), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var internalRenderTask = _step7.value; + waitOn.push(internalRenderTask.completed); + internalRenderTask.cancel(); + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + this.objs.clear(); + + this._annotationPromises.clear(); + + this._jsActionsPromise = null; + this._structTreePromise = null; + this.pendingCleanup = false; + return Promise.all(waitOn); + } + }, { + key: "cleanup", + value: function cleanup() { + var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + this.pendingCleanup = true; + return this._tryCleanup(resetStats); + } + }, { + key: "_tryCleanup", + value: function _tryCleanup() { + var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (!this.pendingCleanup) { + return false; + } + + var _iterator8 = _createForOfIteratorHelper(this._intentStates.values()), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var _step8$value = _step8.value, + renderTasks = _step8$value.renderTasks, + operatorList = _step8$value.operatorList; + + if (renderTasks.size > 0 || !operatorList.lastChunk) { + return false; + } + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + + this._intentStates.clear(); + + this.objs.clear(); + + this._annotationPromises.clear(); + + this._jsActionsPromise = null; + this._structTreePromise = null; + + if (resetStats && this._stats) { + this._stats = new _display_utils.StatTimer(); + } + + this.pendingCleanup = false; + return true; + } + }, { + key: "_startRenderPage", + value: function _startRenderPage(transparency, cacheKey) { + var intentState = this._intentStates.get(cacheKey); + + if (!intentState) { + return; + } + + if (this._stats) { + this._stats.timeEnd("Page Request"); + } + + if (intentState.displayReadyCapability) { + intentState.displayReadyCapability.resolve(transparency); + } + } + }, { + key: "_renderPageChunk", + value: function _renderPageChunk(operatorListChunk, intentState) { + for (var i = 0, ii = operatorListChunk.length; i < ii; i++) { + intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]); + intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]); + } + + intentState.operatorList.lastChunk = operatorListChunk.lastChunk; + + var _iterator9 = _createForOfIteratorHelper(intentState.renderTasks), + _step9; + + try { + for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) { + var internalRenderTask = _step9.value; + internalRenderTask.operatorListChanged(); + } + } catch (err) { + _iterator9.e(err); + } finally { + _iterator9.f(); + } + + if (operatorListChunk.lastChunk) { + this._tryCleanup(); + } + } + }, { + key: "_pumpOperatorList", + value: function _pumpOperatorList(_ref11) { + var _this6 = this; + + var renderingIntent = _ref11.renderingIntent, + cacheKey = _ref11.cacheKey; + + var readableStream = this._transport.messageHandler.sendWithStream("GetOperatorList", { + pageIndex: this._pageIndex, + intent: renderingIntent, + cacheKey: cacheKey, + annotationStorage: renderingIntent & _util.RenderingIntentFlag.ANNOTATIONS_STORAGE ? this._transport.annotationStorage.serializable : null + }); + + var reader = readableStream.getReader(); + + var intentState = this._intentStates.get(cacheKey); + + intentState.streamReader = reader; + + var pump = function pump() { + reader.read().then(function (_ref12) { + var value = _ref12.value, + done = _ref12.done; + + if (done) { + intentState.streamReader = null; + return; + } + + if (_this6._transport.destroyed) { + return; + } + + _this6._renderPageChunk(value, intentState); + + pump(); + }, function (reason) { + intentState.streamReader = null; + + if (_this6._transport.destroyed) { + return; + } + + if (intentState.operatorList) { + intentState.operatorList.lastChunk = true; + + var _iterator10 = _createForOfIteratorHelper(intentState.renderTasks), + _step10; + + try { + for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) { + var internalRenderTask = _step10.value; + internalRenderTask.operatorListChanged(); + } + } catch (err) { + _iterator10.e(err); + } finally { + _iterator10.f(); + } + + _this6._tryCleanup(); + } + + if (intentState.displayReadyCapability) { + intentState.displayReadyCapability.reject(reason); + } else if (intentState.opListReadCapability) { + intentState.opListReadCapability.reject(reason); + } else { + throw reason; + } + }); + }; + + pump(); + } + }, { + key: "_abortOperatorList", + value: function _abortOperatorList(_ref13) { + var _this7 = this; + + var intentState = _ref13.intentState, + reason = _ref13.reason, + _ref13$force = _ref13.force, + force = _ref13$force === void 0 ? false : _ref13$force; + + if (!intentState.streamReader) { + return; + } + + if (!force) { + if (intentState.renderTasks.size > 0) { + return; + } + + if (reason instanceof _display_utils.RenderingCancelledException) { + intentState.streamReaderCancelTimeout = setTimeout(function () { + _this7._abortOperatorList({ + intentState: intentState, + reason: reason, + force: true + }); + + intentState.streamReaderCancelTimeout = null; + }, RENDERING_CANCELLED_TIMEOUT); + return; + } + } + + intentState.streamReader.cancel(new _util.AbortException(reason.message))["catch"](function () {}); + intentState.streamReader = null; + + if (this._transport.destroyed) { + return; + } + + var _iterator11 = _createForOfIteratorHelper(this._intentStates), + _step11; + + try { + for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) { + var _step11$value = _slicedToArray(_step11.value, 2), + curCacheKey = _step11$value[0], + curIntentState = _step11$value[1]; + + if (curIntentState === intentState) { + this._intentStates["delete"](curCacheKey); + + break; + } + } + } catch (err) { + _iterator11.e(err); + } finally { + _iterator11.f(); + } + + this.cleanup(); + } + }, { + key: "stats", + get: function get() { + return this._stats; + } + }]); + + return PDFPageProxy; +}(); + +exports.PDFPageProxy = PDFPageProxy; + +var LoopbackPort = /*#__PURE__*/function () { + function LoopbackPort() { + _classCallCheck(this, LoopbackPort); + + this._listeners = []; + this._deferred = Promise.resolve(); + } + + _createClass(LoopbackPort, [{ + key: "postMessage", + value: function postMessage(obj, transfers) { + var _this8 = this; + + var event = { + data: transfers ? structuredClone(obj, transfers) : structuredClone(obj) + }; + + this._deferred.then(function () { + var _iterator12 = _createForOfIteratorHelper(_this8._listeners), + _step12; + + try { + for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) { + var listener = _step12.value; + listener.call(_this8, event); + } + } catch (err) { + _iterator12.e(err); + } finally { + _iterator12.f(); + } + }); + } + }, { + key: "addEventListener", + value: function addEventListener(name, listener) { + this._listeners.push(listener); + } + }, { + key: "removeEventListener", + value: function removeEventListener(name, listener) { + var i = this._listeners.indexOf(listener); + + this._listeners.splice(i, 1); + } + }, { + key: "terminate", + value: function terminate() { + this._listeners.length = 0; + } + }]); + + return LoopbackPort; +}(); + +exports.LoopbackPort = LoopbackPort; +var PDFWorkerUtil = { + isWorkerDisabled: false, + fallbackWorkerSrc: null, + fakeWorkerId: 0 +}; +{ + if (_is_node.isNodeJS && typeof require === "function") { + PDFWorkerUtil.isWorkerDisabled = true; + PDFWorkerUtil.fallbackWorkerSrc = "./pdf.worker.js"; + } else if ((typeof document === "undefined" ? "undefined" : _typeof(document)) === "object") { + var _document, _document$currentScri; + + var pdfjsFilePath = (_document = document) === null || _document === void 0 ? void 0 : (_document$currentScri = _document.currentScript) === null || _document$currentScri === void 0 ? void 0 : _document$currentScri.src; + + if (pdfjsFilePath) { + PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, ".worker$1$2"); + } + } + + PDFWorkerUtil.createCDNWrapper = function (url) { + var wrapper = "importScripts(\"".concat(url, "\");"); + return URL.createObjectURL(new Blob([wrapper])); + }; +} + +var PDFWorker = /*#__PURE__*/function () { + function PDFWorker() { + var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref14$name = _ref14.name, + name = _ref14$name === void 0 ? null : _ref14$name, + _ref14$port = _ref14.port, + port = _ref14$port === void 0 ? null : _ref14$port, + _ref14$verbosity = _ref14.verbosity, + verbosity = _ref14$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref14$verbosity; + + _classCallCheck(this, PDFWorker); + + if (port && PDFWorker._workerPorts.has(port)) { + throw new Error("Cannot use more than one PDFWorker per port."); + } + + this.name = name; + this.destroyed = false; + this.verbosity = verbosity; + this._readyCapability = (0, _util.createPromiseCapability)(); + this._port = null; + this._webWorker = null; + this._messageHandler = null; + + if (port) { + PDFWorker._workerPorts.set(port, this); + + this._initializeFromPort(port); + + return; + } + + this._initialize(); + } + + _createClass(PDFWorker, [{ + key: "promise", + get: function get() { + return this._readyCapability.promise; + } + }, { + key: "port", + get: function get() { + return this._port; + } + }, { + key: "messageHandler", + get: function get() { + return this._messageHandler; + } + }, { + key: "_initializeFromPort", + value: function _initializeFromPort(port) { + this._port = port; + this._messageHandler = new _message_handler.MessageHandler("main", "worker", port); + + this._messageHandler.on("ready", function () {}); + + this._readyCapability.resolve(); + } + }, { + key: "_initialize", + value: function _initialize() { + var _this9 = this; + + if (typeof Worker !== "undefined" && !PDFWorkerUtil.isWorkerDisabled && !PDFWorker._mainThreadWorkerMessageHandler) { + var workerSrc = PDFWorker.workerSrc; + + try { + if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) { + workerSrc = PDFWorkerUtil.createCDNWrapper(new URL(workerSrc, window.location).href); + } + + var worker = new Worker(workerSrc); + var messageHandler = new _message_handler.MessageHandler("main", "worker", worker); + + var terminateEarly = function terminateEarly() { + worker.removeEventListener("error", onWorkerError); + messageHandler.destroy(); + worker.terminate(); + + if (_this9.destroyed) { + _this9._readyCapability.reject(new Error("Worker was destroyed")); + } else { + _this9._setupFakeWorker(); + } + }; + + var onWorkerError = function onWorkerError() { + if (!_this9._webWorker) { + terminateEarly(); + } + }; + + worker.addEventListener("error", onWorkerError); + messageHandler.on("test", function (data) { + worker.removeEventListener("error", onWorkerError); + + if (_this9.destroyed) { + terminateEarly(); + return; + } + + if (data) { + _this9._messageHandler = messageHandler; + _this9._port = worker; + _this9._webWorker = worker; + + _this9._readyCapability.resolve(); + + messageHandler.send("configure", { + verbosity: _this9.verbosity + }); + } else { + _this9._setupFakeWorker(); + + messageHandler.destroy(); + worker.terminate(); + } + }); + messageHandler.on("ready", function (data) { + worker.removeEventListener("error", onWorkerError); + + if (_this9.destroyed) { + terminateEarly(); + return; + } + + try { + sendTest(); + } catch (e) { + _this9._setupFakeWorker(); + } + }); + + var sendTest = function sendTest() { + var testObj = new Uint8Array([255]); + + try { + messageHandler.send("test", testObj, [testObj.buffer]); + } catch (ex) { + (0, _util.warn)("Cannot use postMessage transfers."); + testObj[0] = 0; + messageHandler.send("test", testObj); + } + }; + + sendTest(); + return; + } catch (e) { + (0, _util.info)("The worker has been disabled."); + } + } + + this._setupFakeWorker(); + } + }, { + key: "_setupFakeWorker", + value: function _setupFakeWorker() { + var _this10 = this; + + if (!PDFWorkerUtil.isWorkerDisabled) { + (0, _util.warn)("Setting up fake worker."); + PDFWorkerUtil.isWorkerDisabled = true; + } + + PDFWorker._setupFakeWorkerGlobal.then(function (WorkerMessageHandler) { + if (_this10.destroyed) { + _this10._readyCapability.reject(new Error("Worker was destroyed")); + + return; + } + + var port = new LoopbackPort(); + _this10._port = port; + var id = "fake".concat(PDFWorkerUtil.fakeWorkerId++); + var workerHandler = new _message_handler.MessageHandler(id + "_worker", id, port); + WorkerMessageHandler.setup(workerHandler, port); + var messageHandler = new _message_handler.MessageHandler(id, id + "_worker", port); + _this10._messageHandler = messageHandler; + + _this10._readyCapability.resolve(); + + messageHandler.send("configure", { + verbosity: _this10.verbosity + }); + })["catch"](function (reason) { + _this10._readyCapability.reject(new Error("Setting up fake worker failed: \"".concat(reason.message, "\"."))); + }); + } + }, { + key: "destroy", + value: function destroy() { + this.destroyed = true; + + if (this._webWorker) { + this._webWorker.terminate(); + + this._webWorker = null; + } + + PDFWorker._workerPorts["delete"](this._port); + + this._port = null; + + if (this._messageHandler) { + this._messageHandler.destroy(); + + this._messageHandler = null; + } + } + }], [{ + key: "_workerPorts", + get: function get() { + return (0, _util.shadow)(this, "_workerPorts", new WeakMap()); + } + }, { + key: "fromPort", + value: function fromPort(params) { + if (!(params !== null && params !== void 0 && params.port)) { + throw new Error("PDFWorker.fromPort - invalid method signature."); + } + + if (this._workerPorts.has(params.port)) { + return this._workerPorts.get(params.port); + } + + return new PDFWorker(params); + } + }, { + key: "workerSrc", + get: function get() { + if (_worker_options.GlobalWorkerOptions.workerSrc) { + return _worker_options.GlobalWorkerOptions.workerSrc; + } + + if (PDFWorkerUtil.fallbackWorkerSrc !== null) { + if (!_is_node.isNodeJS) { + (0, _display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.'); + } + + return PDFWorkerUtil.fallbackWorkerSrc; + } + + throw new Error('No "GlobalWorkerOptions.workerSrc" specified.'); + } + }, { + key: "_mainThreadWorkerMessageHandler", + get: function get() { + try { + var _globalThis$pdfjsWork; + + return ((_globalThis$pdfjsWork = globalThis.pdfjsWorker) === null || _globalThis$pdfjsWork === void 0 ? void 0 : _globalThis$pdfjsWork.WorkerMessageHandler) || null; + } catch (ex) { + return null; + } + } + }, { + key: "_setupFakeWorkerGlobal", + get: function get() { + var _this11 = this; + + var loader = /*#__PURE__*/function () { + var _ref15 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() { + var mainWorkerMessageHandler, worker; + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + mainWorkerMessageHandler = _this11._mainThreadWorkerMessageHandler; + + if (!mainWorkerMessageHandler) { + _context4.next = 3; + break; + } + + return _context4.abrupt("return", mainWorkerMessageHandler); + + case 3: + if (!(_is_node.isNodeJS && typeof require === "function")) { + _context4.next = 6; + break; + } + + worker = eval("require")(_this11.workerSrc); + return _context4.abrupt("return", worker.WorkerMessageHandler); + + case 6: + _context4.next = 8; + return (0, _display_utils.loadScript)(_this11.workerSrc); + + case 8: + return _context4.abrupt("return", window.pdfjsWorker.WorkerMessageHandler); + + case 9: + case "end": + return _context4.stop(); + } + } + }, _callee4); + })); + + return function loader() { + return _ref15.apply(this, arguments); + }; + }(); + + return (0, _util.shadow)(this, "_setupFakeWorkerGlobal", loader()); + } + }]); + + return PDFWorker; +}(); + +exports.PDFWorker = PDFWorker; +{ + PDFWorker.getWorkerSrc = function () { + (0, _display_utils.deprecated)("`PDFWorker.getWorkerSrc()`, please use `PDFWorker.workerSrc` instead."); + return this.workerSrc; + }; +} + +var _docStats = /*#__PURE__*/new WeakMap(); + +var _pageCache = /*#__PURE__*/new WeakMap(); + +var _pagePromises = /*#__PURE__*/new WeakMap(); + +var _metadataPromise = /*#__PURE__*/new WeakMap(); + +var WorkerTransport = /*#__PURE__*/function () { + function WorkerTransport(messageHandler, loadingTask, networkStream, params) { + _classCallCheck(this, WorkerTransport); + + _classPrivateFieldInitSpec(this, _docStats, { + writable: true, + value: null + }); + + _classPrivateFieldInitSpec(this, _pageCache, { + writable: true, + value: new Map() + }); + + _classPrivateFieldInitSpec(this, _pagePromises, { + writable: true, + value: new Map() + }); + + _classPrivateFieldInitSpec(this, _metadataPromise, { + writable: true, + value: null + }); + + this.messageHandler = messageHandler; + this.loadingTask = loadingTask; + this.commonObjs = new PDFObjects(); + this.fontLoader = new _font_loader.FontLoader({ + docId: loadingTask.docId, + onUnsupportedFeature: this._onUnsupportedFeature.bind(this), + ownerDocument: params.ownerDocument, + styleElement: params.styleElement + }); + this._params = params; + + if (!params.useWorkerFetch) { + this.CMapReaderFactory = new params.CMapReaderFactory({ + baseUrl: params.cMapUrl, + isCompressed: params.cMapPacked + }); + this.StandardFontDataFactory = new params.StandardFontDataFactory({ + baseUrl: params.standardFontDataUrl + }); + } + + this.destroyed = false; + this.destroyCapability = null; + this._passwordCapability = null; + this._networkStream = networkStream; + this._fullReader = null; + this._lastProgress = null; + this.downloadInfoCapability = (0, _util.createPromiseCapability)(); + this.setupMessageHandler(); + } + + _createClass(WorkerTransport, [{ + key: "annotationStorage", + get: function get() { + return (0, _util.shadow)(this, "annotationStorage", new _annotation_storage.AnnotationStorage()); + } + }, { + key: "stats", + get: function get() { + return _classPrivateFieldGet(this, _docStats); + } + }, { + key: "getRenderingIntent", + value: function getRenderingIntent(intent) { + var annotationMode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _util.AnnotationMode.ENABLE; + var isOpList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var renderingIntent = _util.RenderingIntentFlag.DISPLAY; + var lastModified = ""; + + switch (intent) { + case "any": + renderingIntent = _util.RenderingIntentFlag.ANY; + break; + + case "display": + break; + + case "print": + renderingIntent = _util.RenderingIntentFlag.PRINT; + break; + + default: + (0, _util.warn)("getRenderingIntent - invalid intent: ".concat(intent)); + } + + switch (annotationMode) { + case _util.AnnotationMode.DISABLE: + renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_DISABLE; + break; + + case _util.AnnotationMode.ENABLE: + break; + + case _util.AnnotationMode.ENABLE_FORMS: + renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_FORMS; + break; + + case _util.AnnotationMode.ENABLE_STORAGE: + renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_STORAGE; + lastModified = this.annotationStorage.lastModified; + break; + + default: + (0, _util.warn)("getRenderingIntent - invalid annotationMode: ".concat(annotationMode)); + } + + if (isOpList) { + renderingIntent += _util.RenderingIntentFlag.OPLIST; + } + + return { + renderingIntent: renderingIntent, + cacheKey: "".concat(renderingIntent, "_").concat(lastModified) + }; + } + }, { + key: "destroy", + value: function destroy() { + var _this12 = this; + + if (this.destroyCapability) { + return this.destroyCapability.promise; + } + + this.destroyed = true; + this.destroyCapability = (0, _util.createPromiseCapability)(); + + if (this._passwordCapability) { + this._passwordCapability.reject(new Error("Worker was destroyed during onPassword callback")); + } + + var waitOn = []; + + var _iterator13 = _createForOfIteratorHelper(_classPrivateFieldGet(this, _pageCache).values()), + _step13; + + try { + for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) { + var page = _step13.value; + waitOn.push(page._destroy()); + } + } catch (err) { + _iterator13.e(err); + } finally { + _iterator13.f(); + } + + _classPrivateFieldGet(this, _pageCache).clear(); + + _classPrivateFieldGet(this, _pagePromises).clear(); + + if (this.hasOwnProperty("annotationStorage")) { + this.annotationStorage.resetModified(); + } + + var terminated = this.messageHandler.sendWithPromise("Terminate", null); + waitOn.push(terminated); + Promise.all(waitOn).then(function () { + _this12.commonObjs.clear(); + + _this12.fontLoader.clear(); + + _classPrivateFieldSet(_this12, _metadataPromise, null); + + _this12._getFieldObjectsPromise = null; + _this12._hasJSActionsPromise = null; + + if (_this12._networkStream) { + _this12._networkStream.cancelAllRequests(new _util.AbortException("Worker was terminated.")); + } + + if (_this12.messageHandler) { + _this12.messageHandler.destroy(); + + _this12.messageHandler = null; + } + + _this12.destroyCapability.resolve(); + }, this.destroyCapability.reject); + return this.destroyCapability.promise; + } + }, { + key: "setupMessageHandler", + value: function setupMessageHandler() { + var _this13 = this; + + var messageHandler = this.messageHandler, + loadingTask = this.loadingTask; + messageHandler.on("GetReader", function (data, sink) { + (0, _util.assert)(_this13._networkStream, "GetReader - no `IPDFStream` instance available."); + _this13._fullReader = _this13._networkStream.getFullReader(); + + _this13._fullReader.onProgress = function (evt) { + _this13._lastProgress = { + loaded: evt.loaded, + total: evt.total + }; + }; + + sink.onPull = function () { + _this13._fullReader.read().then(function (_ref16) { + var value = _ref16.value, + done = _ref16.done; + + if (done) { + sink.close(); + return; + } + + (0, _util.assert)((0, _util.isArrayBuffer)(value), "GetReader - expected an ArrayBuffer."); + sink.enqueue(new Uint8Array(value), 1, [value]); + })["catch"](function (reason) { + sink.error(reason); + }); + }; + + sink.onCancel = function (reason) { + _this13._fullReader.cancel(reason); + + sink.ready["catch"](function (readyReason) { + if (_this13.destroyed) { + return; + } + + throw readyReason; + }); + }; + }); + messageHandler.on("ReaderHeadersReady", function (data) { + var headersCapability = (0, _util.createPromiseCapability)(); + var fullReader = _this13._fullReader; + fullReader.headersReady.then(function () { + if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) { + if (_this13._lastProgress) { + var _loadingTask$onProgre; + + (_loadingTask$onProgre = loadingTask.onProgress) === null || _loadingTask$onProgre === void 0 ? void 0 : _loadingTask$onProgre.call(loadingTask, _this13._lastProgress); + } + + fullReader.onProgress = function (evt) { + var _loadingTask$onProgre2; + + (_loadingTask$onProgre2 = loadingTask.onProgress) === null || _loadingTask$onProgre2 === void 0 ? void 0 : _loadingTask$onProgre2.call(loadingTask, { + loaded: evt.loaded, + total: evt.total + }); + }; + } + + headersCapability.resolve({ + isStreamingSupported: fullReader.isStreamingSupported, + isRangeSupported: fullReader.isRangeSupported, + contentLength: fullReader.contentLength + }); + }, headersCapability.reject); + return headersCapability.promise; + }); + messageHandler.on("GetRangeReader", function (data, sink) { + (0, _util.assert)(_this13._networkStream, "GetRangeReader - no `IPDFStream` instance available."); + + var rangeReader = _this13._networkStream.getRangeReader(data.begin, data.end); + + if (!rangeReader) { + sink.close(); + return; + } + + sink.onPull = function () { + rangeReader.read().then(function (_ref17) { + var value = _ref17.value, + done = _ref17.done; + + if (done) { + sink.close(); + return; + } + + (0, _util.assert)((0, _util.isArrayBuffer)(value), "GetRangeReader - expected an ArrayBuffer."); + sink.enqueue(new Uint8Array(value), 1, [value]); + })["catch"](function (reason) { + sink.error(reason); + }); + }; + + sink.onCancel = function (reason) { + rangeReader.cancel(reason); + sink.ready["catch"](function (readyReason) { + if (_this13.destroyed) { + return; + } + + throw readyReason; + }); + }; + }); + messageHandler.on("GetDoc", function (_ref18) { + var pdfInfo = _ref18.pdfInfo; + _this13._numPages = pdfInfo.numPages; + _this13._htmlForXfa = pdfInfo.htmlForXfa; + delete pdfInfo.htmlForXfa; + + loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this13)); + }); + messageHandler.on("DocException", function (ex) { + var reason; + + switch (ex.name) { + case "PasswordException": + reason = new _util.PasswordException(ex.message, ex.code); + break; + + case "InvalidPDFException": + reason = new _util.InvalidPDFException(ex.message); + break; + + case "MissingPDFException": + reason = new _util.MissingPDFException(ex.message); + break; + + case "UnexpectedResponseException": + reason = new _util.UnexpectedResponseException(ex.message, ex.status); + break; + + case "UnknownErrorException": + reason = new _util.UnknownErrorException(ex.message, ex.details); + break; + + default: + (0, _util.unreachable)("DocException - expected a valid Error."); + } + + loadingTask._capability.reject(reason); + }); + messageHandler.on("PasswordRequest", function (exception) { + _this13._passwordCapability = (0, _util.createPromiseCapability)(); + + if (loadingTask.onPassword) { + var updatePassword = function updatePassword(password) { + if (password instanceof Error) { + _this13._passwordCapability.reject(password); + } else { + _this13._passwordCapability.resolve({ + password: password + }); + } + }; + + try { + loadingTask.onPassword(updatePassword, exception.code); + } catch (ex) { + _this13._passwordCapability.reject(ex); + } + } else { + _this13._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code)); + } + + return _this13._passwordCapability.promise; + }); + messageHandler.on("DataLoaded", function (data) { + var _loadingTask$onProgre3; + + (_loadingTask$onProgre3 = loadingTask.onProgress) === null || _loadingTask$onProgre3 === void 0 ? void 0 : _loadingTask$onProgre3.call(loadingTask, { + loaded: data.length, + total: data.length + }); + + _this13.downloadInfoCapability.resolve(data); + }); + messageHandler.on("StartRenderPage", function (data) { + if (_this13.destroyed) { + return; + } + + var page = _classPrivateFieldGet(_this13, _pageCache).get(data.pageIndex); + + page._startRenderPage(data.transparency, data.cacheKey); + }); + messageHandler.on("commonobj", function (_ref19) { + var _globalThis$FontInspe; + + var _ref20 = _slicedToArray(_ref19, 3), + id = _ref20[0], + type = _ref20[1], + exportedData = _ref20[2]; + + if (_this13.destroyed) { + return; + } + + if (_this13.commonObjs.has(id)) { + return; + } + + switch (type) { + case "Font": + var params = _this13._params; + + if ("error" in exportedData) { + var exportedError = exportedData.error; + (0, _util.warn)("Error during font loading: ".concat(exportedError)); + + _this13.commonObjs.resolve(id, exportedError); + + break; + } + + var fontRegistry = null; + + if (params.pdfBug && (_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.enabled) { + fontRegistry = { + registerFont: function registerFont(font, url) { + globalThis.FontInspector.fontAdded(font, url); + } + }; + } + + var font = new _font_loader.FontFaceObject(exportedData, { + isEvalSupported: params.isEvalSupported, + disableFontFace: params.disableFontFace, + ignoreErrors: params.ignoreErrors, + onUnsupportedFeature: _this13._onUnsupportedFeature.bind(_this13), + fontRegistry: fontRegistry + }); + + _this13.fontLoader.bind(font)["catch"](function (reason) { + return messageHandler.sendWithPromise("FontFallback", { + id: id + }); + })["finally"](function () { + if (!params.fontExtraProperties && font.data) { + font.data = null; + } + + _this13.commonObjs.resolve(id, font); + }); + + break; + + case "FontPath": + case "Image": + _this13.commonObjs.resolve(id, exportedData); + + break; + + default: + throw new Error("Got unknown common object type ".concat(type)); + } + }); + messageHandler.on("obj", function (_ref21) { + var _imageData$data; + + var _ref22 = _slicedToArray(_ref21, 4), + id = _ref22[0], + pageIndex = _ref22[1], + type = _ref22[2], + imageData = _ref22[3]; + + if (_this13.destroyed) { + return; + } + + var pageProxy = _classPrivateFieldGet(_this13, _pageCache).get(pageIndex); + + if (pageProxy.objs.has(id)) { + return; + } + + switch (type) { + case "Image": + pageProxy.objs.resolve(id, imageData); + var MAX_IMAGE_SIZE_TO_STORE = 8000000; + + if ((imageData === null || imageData === void 0 ? void 0 : (_imageData$data = imageData.data) === null || _imageData$data === void 0 ? void 0 : _imageData$data.length) > MAX_IMAGE_SIZE_TO_STORE) { + pageProxy.cleanupAfterRender = true; + } + + break; + + case "Pattern": + pageProxy.objs.resolve(id, imageData); + break; + + default: + throw new Error("Got unknown object type ".concat(type)); + } + }); + messageHandler.on("DocProgress", function (data) { + var _loadingTask$onProgre4; + + if (_this13.destroyed) { + return; + } + + (_loadingTask$onProgre4 = loadingTask.onProgress) === null || _loadingTask$onProgre4 === void 0 ? void 0 : _loadingTask$onProgre4.call(loadingTask, { + loaded: data.loaded, + total: data.total + }); + }); + messageHandler.on("DocStats", function (data) { + if (_this13.destroyed) { + return; + } + + _classPrivateFieldSet(_this13, _docStats, Object.freeze({ + streamTypes: Object.freeze(data.streamTypes), + fontTypes: Object.freeze(data.fontTypes) + })); + }); + messageHandler.on("UnsupportedFeature", this._onUnsupportedFeature.bind(this)); + messageHandler.on("FetchBuiltInCMap", function (data) { + if (_this13.destroyed) { + return Promise.reject(new Error("Worker was destroyed.")); + } + + if (!_this13.CMapReaderFactory) { + return Promise.reject(new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.")); + } + + return _this13.CMapReaderFactory.fetch(data); + }); + messageHandler.on("FetchStandardFontData", function (data) { + if (_this13.destroyed) { + return Promise.reject(new Error("Worker was destroyed.")); + } + + if (!_this13.StandardFontDataFactory) { + return Promise.reject(new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.")); + } + + return _this13.StandardFontDataFactory.fetch(data); + }); + } + }, { + key: "_onUnsupportedFeature", + value: function _onUnsupportedFeature(_ref23) { + var _this$loadingTask$onU, _this$loadingTask; + + var featureId = _ref23.featureId; + + if (this.destroyed) { + return; + } + + (_this$loadingTask$onU = (_this$loadingTask = this.loadingTask).onUnsupportedFeature) === null || _this$loadingTask$onU === void 0 ? void 0 : _this$loadingTask$onU.call(_this$loadingTask, featureId); + } + }, { + key: "getData", + value: function getData() { + return this.messageHandler.sendWithPromise("GetData", null); + } + }, { + key: "getPage", + value: function getPage(pageNumber) { + var _this14 = this; + + if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) { + return Promise.reject(new Error("Invalid page request.")); + } + + var pageIndex = pageNumber - 1, + cachedPromise = _classPrivateFieldGet(this, _pagePromises).get(pageIndex); + + if (cachedPromise) { + return cachedPromise; + } + + var promise = this.messageHandler.sendWithPromise("GetPage", { + pageIndex: pageIndex + }).then(function (pageInfo) { + if (_this14.destroyed) { + throw new Error("Transport destroyed"); + } + + var page = new PDFPageProxy(pageIndex, pageInfo, _this14, _this14._params.ownerDocument, _this14._params.pdfBug); + + _classPrivateFieldGet(_this14, _pageCache).set(pageIndex, page); + + return page; + }); + + _classPrivateFieldGet(this, _pagePromises).set(pageIndex, promise); + + return promise; + } + }, { + key: "getPageIndex", + value: function getPageIndex(ref) { + if (_typeof(ref) !== "object" || ref === null || !Number.isInteger(ref.num) || ref.num < 0 || !Number.isInteger(ref.gen) || ref.gen < 0) { + return Promise.reject(new Error("Invalid pageIndex request.")); + } + + return this.messageHandler.sendWithPromise("GetPageIndex", { + num: ref.num, + gen: ref.gen + }); + } + }, { + key: "getAnnotations", + value: function getAnnotations(pageIndex, intent) { + return this.messageHandler.sendWithPromise("GetAnnotations", { + pageIndex: pageIndex, + intent: intent + }); + } + }, { + key: "saveDocument", + value: function saveDocument() { + var _this$_fullReader$fil, + _this$_fullReader, + _this15 = this; + + return this.messageHandler.sendWithPromise("SaveDocument", { + isPureXfa: !!this._htmlForXfa, + numPages: this._numPages, + annotationStorage: this.annotationStorage.serializable, + filename: (_this$_fullReader$fil = (_this$_fullReader = this._fullReader) === null || _this$_fullReader === void 0 ? void 0 : _this$_fullReader.filename) !== null && _this$_fullReader$fil !== void 0 ? _this$_fullReader$fil : null + })["finally"](function () { + _this15.annotationStorage.resetModified(); + }); + } + }, { + key: "getFieldObjects", + value: function getFieldObjects() { + return this._getFieldObjectsPromise || (this._getFieldObjectsPromise = this.messageHandler.sendWithPromise("GetFieldObjects", null)); + } + }, { + key: "hasJSActions", + value: function hasJSActions() { + return this._hasJSActionsPromise || (this._hasJSActionsPromise = this.messageHandler.sendWithPromise("HasJSActions", null)); + } + }, { + key: "getCalculationOrderIds", + value: function getCalculationOrderIds() { + return this.messageHandler.sendWithPromise("GetCalculationOrderIds", null); + } + }, { + key: "getDestinations", + value: function getDestinations() { + return this.messageHandler.sendWithPromise("GetDestinations", null); + } + }, { + key: "getDestination", + value: function getDestination(id) { + if (typeof id !== "string") { + return Promise.reject(new Error("Invalid destination request.")); + } + + return this.messageHandler.sendWithPromise("GetDestination", { + id: id + }); + } + }, { + key: "getPageLabels", + value: function getPageLabels() { + return this.messageHandler.sendWithPromise("GetPageLabels", null); + } + }, { + key: "getPageLayout", + value: function getPageLayout() { + return this.messageHandler.sendWithPromise("GetPageLayout", null); + } + }, { + key: "getPageMode", + value: function getPageMode() { + return this.messageHandler.sendWithPromise("GetPageMode", null); + } + }, { + key: "getViewerPreferences", + value: function getViewerPreferences() { + return this.messageHandler.sendWithPromise("GetViewerPreferences", null); + } + }, { + key: "getOpenAction", + value: function getOpenAction() { + return this.messageHandler.sendWithPromise("GetOpenAction", null); + } + }, { + key: "getAttachments", + value: function getAttachments() { + return this.messageHandler.sendWithPromise("GetAttachments", null); + } + }, { + key: "getJavaScript", + value: function getJavaScript() { + return this.messageHandler.sendWithPromise("GetJavaScript", null); + } + }, { + key: "getDocJSActions", + value: function getDocJSActions() { + return this.messageHandler.sendWithPromise("GetDocJSActions", null); + } + }, { + key: "getPageJSActions", + value: function getPageJSActions(pageIndex) { + return this.messageHandler.sendWithPromise("GetPageJSActions", { + pageIndex: pageIndex + }); + } + }, { + key: "getStructTree", + value: function getStructTree(pageIndex) { + return this.messageHandler.sendWithPromise("GetStructTree", { + pageIndex: pageIndex + }); + } + }, { + key: "getOutline", + value: function getOutline() { + return this.messageHandler.sendWithPromise("GetOutline", null); + } + }, { + key: "getOptionalContentConfig", + value: function getOptionalContentConfig() { + return this.messageHandler.sendWithPromise("GetOptionalContentConfig", null).then(function (results) { + return new _optional_content_config.OptionalContentConfig(results); + }); + } + }, { + key: "getPermissions", + value: function getPermissions() { + return this.messageHandler.sendWithPromise("GetPermissions", null); + } + }, { + key: "getMetadata", + value: function getMetadata() { + var _this16 = this; + + return _classPrivateFieldGet(this, _metadataPromise) || _classPrivateFieldSet(this, _metadataPromise, this.messageHandler.sendWithPromise("GetMetadata", null).then(function (results) { + var _this16$_fullReader$f, _this16$_fullReader, _this16$_fullReader$c, _this16$_fullReader2; + + return { + info: results[0], + metadata: results[1] ? new _metadata.Metadata(results[1]) : null, + contentDispositionFilename: (_this16$_fullReader$f = (_this16$_fullReader = _this16._fullReader) === null || _this16$_fullReader === void 0 ? void 0 : _this16$_fullReader.filename) !== null && _this16$_fullReader$f !== void 0 ? _this16$_fullReader$f : null, + contentLength: (_this16$_fullReader$c = (_this16$_fullReader2 = _this16._fullReader) === null || _this16$_fullReader2 === void 0 ? void 0 : _this16$_fullReader2.contentLength) !== null && _this16$_fullReader$c !== void 0 ? _this16$_fullReader$c : null + }; + })); + } + }, { + key: "getMarkInfo", + value: function getMarkInfo() { + return this.messageHandler.sendWithPromise("GetMarkInfo", null); + } + }, { + key: "startCleanup", + value: function () { + var _startCleanup = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5() { + var keepLoadedFonts, + _iterator14, + _step14, + page, + cleanupSuccessful, + _args5 = arguments; + + return _regenerator["default"].wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + keepLoadedFonts = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : false; + _context5.next = 3; + return this.messageHandler.sendWithPromise("Cleanup", null); + + case 3: + if (!this.destroyed) { + _context5.next = 5; + break; + } + + return _context5.abrupt("return"); + + case 5: + _iterator14 = _createForOfIteratorHelper(_classPrivateFieldGet(this, _pageCache).values()); + _context5.prev = 6; + + _iterator14.s(); + + case 8: + if ((_step14 = _iterator14.n()).done) { + _context5.next = 15; + break; + } + + page = _step14.value; + cleanupSuccessful = page.cleanup(); + + if (cleanupSuccessful) { + _context5.next = 13; + break; + } + + throw new Error("startCleanup: Page ".concat(page.pageNumber, " is currently rendering.")); + + case 13: + _context5.next = 8; + break; + + case 15: + _context5.next = 20; + break; + + case 17: + _context5.prev = 17; + _context5.t0 = _context5["catch"](6); + + _iterator14.e(_context5.t0); + + case 20: + _context5.prev = 20; + + _iterator14.f(); + + return _context5.finish(20); + + case 23: + this.commonObjs.clear(); + + if (!keepLoadedFonts) { + this.fontLoader.clear(); + } + + _classPrivateFieldSet(this, _metadataPromise, null); + + this._getFieldObjectsPromise = null; + this._hasJSActionsPromise = null; + + case 28: + case "end": + return _context5.stop(); + } + } + }, _callee5, this, [[6, 17, 20, 23]]); + })); + + function startCleanup() { + return _startCleanup.apply(this, arguments); + } + + return startCleanup; + }() + }, { + key: "loadingParams", + get: function get() { + var params = this._params; + return (0, _util.shadow)(this, "loadingParams", { + disableAutoFetch: params.disableAutoFetch, + enableXfa: params.enableXfa + }); + } + }]); + + return WorkerTransport; +}(); + +var _objs = /*#__PURE__*/new WeakMap(); + +var _ensureObj = /*#__PURE__*/new WeakSet(); + +var PDFObjects = /*#__PURE__*/function () { + function PDFObjects() { + _classCallCheck(this, PDFObjects); + + _classPrivateMethodInitSpec(this, _ensureObj); + + _classPrivateFieldInitSpec(this, _objs, { + writable: true, + value: Object.create(null) + }); + } + + _createClass(PDFObjects, [{ + key: "get", + value: function get(objId) { + var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + + if (callback) { + var _obj = _classPrivateMethodGet(this, _ensureObj, _ensureObj2).call(this, objId); + + _obj.capability.promise.then(function () { + return callback(_obj.data); + }); + + return null; + } + + var obj = _classPrivateFieldGet(this, _objs)[objId]; + + if (!(obj !== null && obj !== void 0 && obj.capability.settled)) { + throw new Error("Requesting object that isn't resolved yet ".concat(objId, ".")); + } + + return obj.data; + } + }, { + key: "has", + value: function has(objId) { + var obj = _classPrivateFieldGet(this, _objs)[objId]; + + return (obj === null || obj === void 0 ? void 0 : obj.capability.settled) || false; + } + }, { + key: "resolve", + value: function resolve(objId) { + var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + + var obj = _classPrivateMethodGet(this, _ensureObj, _ensureObj2).call(this, objId); + + obj.data = data; + obj.capability.resolve(); + } + }, { + key: "clear", + value: function clear() { + _classPrivateFieldSet(this, _objs, Object.create(null)); + } + }]); + + return PDFObjects; +}(); + +function _ensureObj2(objId) { + var obj = _classPrivateFieldGet(this, _objs)[objId]; + + if (obj) { + return obj; + } + + return _classPrivateFieldGet(this, _objs)[objId] = { + capability: (0, _util.createPromiseCapability)(), + data: null + }; +} + +var RenderTask = /*#__PURE__*/function () { + function RenderTask(internalRenderTask) { + _classCallCheck(this, RenderTask); + + this._internalRenderTask = internalRenderTask; + this.onContinue = null; + } + + _createClass(RenderTask, [{ + key: "promise", + get: function get() { + return this._internalRenderTask.capability.promise; + } + }, { + key: "cancel", + value: function cancel() { + this._internalRenderTask.cancel(); + } + }]); + + return RenderTask; +}(); + +exports.RenderTask = RenderTask; + +var InternalRenderTask = /*#__PURE__*/function () { + function InternalRenderTask(_ref24) { + var callback = _ref24.callback, + params = _ref24.params, + objs = _ref24.objs, + commonObjs = _ref24.commonObjs, + annotationCanvasMap = _ref24.annotationCanvasMap, + operatorList = _ref24.operatorList, + pageIndex = _ref24.pageIndex, + canvasFactory = _ref24.canvasFactory, + _ref24$useRequestAnim = _ref24.useRequestAnimationFrame, + useRequestAnimationFrame = _ref24$useRequestAnim === void 0 ? false : _ref24$useRequestAnim, + _ref24$pdfBug = _ref24.pdfBug, + pdfBug = _ref24$pdfBug === void 0 ? false : _ref24$pdfBug; + + _classCallCheck(this, InternalRenderTask); + + this.callback = callback; + this.params = params; + this.objs = objs; + this.commonObjs = commonObjs; + this.annotationCanvasMap = annotationCanvasMap; + this.operatorListIdx = null; + this.operatorList = operatorList; + this._pageIndex = pageIndex; + this.canvasFactory = canvasFactory; + this._pdfBug = pdfBug; + this.running = false; + this.graphicsReadyCallback = null; + this.graphicsReady = false; + this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== "undefined"; + this.cancelled = false; + this.capability = (0, _util.createPromiseCapability)(); + this.task = new RenderTask(this); + this._cancelBound = this.cancel.bind(this); + this._continueBound = this._continue.bind(this); + this._scheduleNextBound = this._scheduleNext.bind(this); + this._nextBound = this._next.bind(this); + this._canvas = params.canvasContext.canvas; + } + + _createClass(InternalRenderTask, [{ + key: "completed", + get: function get() { + return this.capability.promise["catch"](function () {}); + } + }, { + key: "initializeGraphics", + value: function initializeGraphics(_ref25) { + var _globalThis$StepperMa; + + var _ref25$transparency = _ref25.transparency, + transparency = _ref25$transparency === void 0 ? false : _ref25$transparency, + optionalContentConfig = _ref25.optionalContentConfig; + + if (this.cancelled) { + return; + } + + if (this._canvas) { + if (InternalRenderTask.canvasInUse.has(this._canvas)) { + throw new Error("Cannot use the same canvas during multiple render() operations. " + "Use different canvas or ensure previous operations were " + "cancelled or completed."); + } + + InternalRenderTask.canvasInUse.add(this._canvas); + } + + if (this._pdfBug && (_globalThis$StepperMa = globalThis.StepperManager) !== null && _globalThis$StepperMa !== void 0 && _globalThis$StepperMa.enabled) { + this.stepper = globalThis.StepperManager.create(this._pageIndex); + this.stepper.init(this.operatorList); + this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint(); + } + + var _this$params = this.params, + canvasContext = _this$params.canvasContext, + viewport = _this$params.viewport, + transform = _this$params.transform, + imageLayer = _this$params.imageLayer, + background = _this$params.background; + this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, imageLayer, optionalContentConfig, this.annotationCanvasMap); + this.gfx.beginDrawing({ + transform: transform, + viewport: viewport, + transparency: transparency, + background: background + }); + this.operatorListIdx = 0; + this.graphicsReady = true; + + if (this.graphicsReadyCallback) { + this.graphicsReadyCallback(); + } + } + }, { + key: "cancel", + value: function cancel() { + var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + this.running = false; + this.cancelled = true; + + if (this.gfx) { + this.gfx.endDrawing(); + } + + if (this._canvas) { + InternalRenderTask.canvasInUse["delete"](this._canvas); + } + + this.callback(error || new _display_utils.RenderingCancelledException("Rendering cancelled, page ".concat(this._pageIndex + 1), "canvas")); + } + }, { + key: "operatorListChanged", + value: function operatorListChanged() { + if (!this.graphicsReady) { + if (!this.graphicsReadyCallback) { + this.graphicsReadyCallback = this._continueBound; + } + + return; + } + + if (this.stepper) { + this.stepper.updateOperatorList(this.operatorList); + } + + if (this.running) { + return; + } + + this._continue(); + } + }, { + key: "_continue", + value: function _continue() { + this.running = true; + + if (this.cancelled) { + return; + } + + if (this.task.onContinue) { + this.task.onContinue(this._scheduleNextBound); + } else { + this._scheduleNext(); + } + } + }, { + key: "_scheduleNext", + value: function _scheduleNext() { + var _this17 = this; + + if (this._useRequestAnimationFrame) { + window.requestAnimationFrame(function () { + _this17._nextBound()["catch"](_this17._cancelBound); + }); + } else { + Promise.resolve().then(this._nextBound)["catch"](this._cancelBound); + } + } + }, { + key: "_next", + value: function () { + var _next2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6() { + return _regenerator["default"].wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + if (!this.cancelled) { + _context6.next = 2; + break; + } + + return _context6.abrupt("return"); + + case 2: + this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper); + + if (this.operatorListIdx === this.operatorList.argsArray.length) { + this.running = false; + + if (this.operatorList.lastChunk) { + this.gfx.endDrawing(); + + if (this._canvas) { + InternalRenderTask.canvasInUse["delete"](this._canvas); + } + + this.callback(); + } + } + + case 4: + case "end": + return _context6.stop(); + } + } + }, _callee6, this); + })); + + function _next() { + return _next2.apply(this, arguments); + } + + return _next; + }() + }], [{ + key: "canvasInUse", + get: function get() { + return (0, _util.shadow)(this, "canvasInUse", new WeakSet()); + } + }]); + + return InternalRenderTask; +}(); + +var version = '2.14.44'; +exports.version = version; +var build = '90c5e9882'; +exports.build = build; + +/***/ }), +/* 144 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + + +module.exports = __w_pdfjs_require__(145); + +/***/ }), +/* 145 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; +/* module decorator */ module = __w_pdfjs_require__.nmd(module); + + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +var runtime = function (exports) { + "use strict"; + + var Op = Object.prototype; + var hasOwn = Op.hasOwnProperty; + var undefined; + var $Symbol = typeof Symbol === "function" ? Symbol : {}; + var iteratorSymbol = $Symbol.iterator || "@@iterator"; + var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; + var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; + + function define(obj, key, value) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + return obj[key]; + } + + try { + define({}, ""); + } catch (err) { + define = function define(obj, key, value) { + return obj[key] = value; + }; + } + + function wrap(innerFn, outerFn, self, tryLocsList) { + var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; + var generator = Object.create(protoGenerator.prototype); + var context = new Context(tryLocsList || []); + generator._invoke = makeInvokeMethod(innerFn, self, context); + return generator; + } + + exports.wrap = wrap; + + function tryCatch(fn, obj, arg) { + try { + return { + type: "normal", + arg: fn.call(obj, arg) + }; + } catch (err) { + return { + type: "throw", + arg: err + }; + } + } + + var GenStateSuspendedStart = "suspendedStart"; + var GenStateSuspendedYield = "suspendedYield"; + var GenStateExecuting = "executing"; + var GenStateCompleted = "completed"; + var ContinueSentinel = {}; + + function Generator() {} + + function GeneratorFunction() {} + + function GeneratorFunctionPrototype() {} + + var IteratorPrototype = {}; + define(IteratorPrototype, iteratorSymbol, function () { + return this; + }); + var getProto = Object.getPrototypeOf; + var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); + + if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { + IteratorPrototype = NativeIteratorPrototype; + } + + var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); + GeneratorFunction.prototype = GeneratorFunctionPrototype; + define(Gp, "constructor", GeneratorFunctionPrototype); + define(GeneratorFunctionPrototype, "constructor", GeneratorFunction); + GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"); + + function defineIteratorMethods(prototype) { + ["next", "throw", "return"].forEach(function (method) { + define(prototype, method, function (arg) { + return this._invoke(method, arg); + }); + }); + } + + exports.isGeneratorFunction = function (genFun) { + var ctor = typeof genFun === "function" && genFun.constructor; + return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false; + }; + + exports.mark = function (genFun) { + if (Object.setPrototypeOf) { + Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); + } else { + genFun.__proto__ = GeneratorFunctionPrototype; + define(genFun, toStringTagSymbol, "GeneratorFunction"); + } + + genFun.prototype = Object.create(Gp); + return genFun; + }; + + exports.awrap = function (arg) { + return { + __await: arg + }; + }; + + function AsyncIterator(generator, PromiseImpl) { + function invoke(method, arg, resolve, reject) { + var record = tryCatch(generator[method], generator, arg); + + if (record.type === "throw") { + reject(record.arg); + } else { + var result = record.arg; + var value = result.value; + + if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) { + return PromiseImpl.resolve(value.__await).then(function (value) { + invoke("next", value, resolve, reject); + }, function (err) { + invoke("throw", err, resolve, reject); + }); + } + + return PromiseImpl.resolve(value).then(function (unwrapped) { + result.value = unwrapped; + resolve(result); + }, function (error) { + return invoke("throw", error, resolve, reject); + }); + } + } + + var previousPromise; + + function enqueue(method, arg) { + function callInvokeWithMethodAndArg() { + return new PromiseImpl(function (resolve, reject) { + invoke(method, arg, resolve, reject); + }); + } + + return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); + } + + this._invoke = enqueue; + } + + defineIteratorMethods(AsyncIterator.prototype); + define(AsyncIterator.prototype, asyncIteratorSymbol, function () { + return this; + }); + exports.AsyncIterator = AsyncIterator; + + exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { + if (PromiseImpl === void 0) PromiseImpl = Promise; + var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); + return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { + return result.done ? result.value : iter.next(); + }); + }; + + function makeInvokeMethod(innerFn, self, context) { + var state = GenStateSuspendedStart; + return function invoke(method, arg) { + if (state === GenStateExecuting) { + throw new Error("Generator is already running"); + } + + if (state === GenStateCompleted) { + if (method === "throw") { + throw arg; + } + + return doneResult(); + } + + context.method = method; + context.arg = arg; + + while (true) { + var delegate = context.delegate; + + if (delegate) { + var delegateResult = maybeInvokeDelegate(delegate, context); + + if (delegateResult) { + if (delegateResult === ContinueSentinel) continue; + return delegateResult; + } + } + + if (context.method === "next") { + context.sent = context._sent = context.arg; + } else if (context.method === "throw") { + if (state === GenStateSuspendedStart) { + state = GenStateCompleted; + throw context.arg; + } + + context.dispatchException(context.arg); + } else if (context.method === "return") { + context.abrupt("return", context.arg); + } + + state = GenStateExecuting; + var record = tryCatch(innerFn, self, context); + + if (record.type === "normal") { + state = context.done ? GenStateCompleted : GenStateSuspendedYield; + + if (record.arg === ContinueSentinel) { + continue; + } + + return { + value: record.arg, + done: context.done + }; + } else if (record.type === "throw") { + state = GenStateCompleted; + context.method = "throw"; + context.arg = record.arg; + } + } + }; + } + + function maybeInvokeDelegate(delegate, context) { + var method = delegate.iterator[context.method]; + + if (method === undefined) { + context.delegate = null; + + if (context.method === "throw") { + if (delegate.iterator["return"]) { + context.method = "return"; + context.arg = undefined; + maybeInvokeDelegate(delegate, context); + + if (context.method === "throw") { + return ContinueSentinel; + } + } + + context.method = "throw"; + context.arg = new TypeError("The iterator does not provide a 'throw' method"); + } + + return ContinueSentinel; + } + + var record = tryCatch(method, delegate.iterator, context.arg); + + if (record.type === "throw") { + context.method = "throw"; + context.arg = record.arg; + context.delegate = null; + return ContinueSentinel; + } + + var info = record.arg; + + if (!info) { + context.method = "throw"; + context.arg = new TypeError("iterator result is not an object"); + context.delegate = null; + return ContinueSentinel; + } + + if (info.done) { + context[delegate.resultName] = info.value; + context.next = delegate.nextLoc; + + if (context.method !== "return") { + context.method = "next"; + context.arg = undefined; + } + } else { + return info; + } + + context.delegate = null; + return ContinueSentinel; + } + + defineIteratorMethods(Gp); + define(Gp, toStringTagSymbol, "Generator"); + define(Gp, iteratorSymbol, function () { + return this; + }); + define(Gp, "toString", function () { + return "[object Generator]"; + }); + + function pushTryEntry(locs) { + var entry = { + tryLoc: locs[0] + }; + + if (1 in locs) { + entry.catchLoc = locs[1]; + } + + if (2 in locs) { + entry.finallyLoc = locs[2]; + entry.afterLoc = locs[3]; + } + + this.tryEntries.push(entry); + } + + function resetTryEntry(entry) { + var record = entry.completion || {}; + record.type = "normal"; + delete record.arg; + entry.completion = record; + } + + function Context(tryLocsList) { + this.tryEntries = [{ + tryLoc: "root" + }]; + tryLocsList.forEach(pushTryEntry, this); + this.reset(true); + } + + exports.keys = function (object) { + var keys = []; + + for (var key in object) { + keys.push(key); + } + + keys.reverse(); + return function next() { + while (keys.length) { + var key = keys.pop(); + + if (key in object) { + next.value = key; + next.done = false; + return next; + } + } + + next.done = true; + return next; + }; + }; + + function values(iterable) { + if (iterable) { + var iteratorMethod = iterable[iteratorSymbol]; + + if (iteratorMethod) { + return iteratorMethod.call(iterable); + } + + if (typeof iterable.next === "function") { + return iterable; + } + + if (!isNaN(iterable.length)) { + var i = -1, + next = function next() { + while (++i < iterable.length) { + if (hasOwn.call(iterable, i)) { + next.value = iterable[i]; + next.done = false; + return next; + } + } + + next.value = undefined; + next.done = true; + return next; + }; + + return next.next = next; + } + } + + return { + next: doneResult + }; + } + + exports.values = values; + + function doneResult() { + return { + value: undefined, + done: true + }; + } + + Context.prototype = { + constructor: Context, + reset: function reset(skipTempReset) { + this.prev = 0; + this.next = 0; + this.sent = this._sent = undefined; + this.done = false; + this.delegate = null; + this.method = "next"; + this.arg = undefined; + this.tryEntries.forEach(resetTryEntry); + + if (!skipTempReset) { + for (var name in this) { + if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) { + this[name] = undefined; + } + } + } + }, + stop: function stop() { + this.done = true; + var rootEntry = this.tryEntries[0]; + var rootRecord = rootEntry.completion; + + if (rootRecord.type === "throw") { + throw rootRecord.arg; + } + + return this.rval; + }, + dispatchException: function dispatchException(exception) { + if (this.done) { + throw exception; + } + + var context = this; + + function handle(loc, caught) { + record.type = "throw"; + record.arg = exception; + context.next = loc; + + if (caught) { + context.method = "next"; + context.arg = undefined; + } + + return !!caught; + } + + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + var record = entry.completion; + + if (entry.tryLoc === "root") { + return handle("end"); + } + + if (entry.tryLoc <= this.prev) { + var hasCatch = hasOwn.call(entry, "catchLoc"); + var hasFinally = hasOwn.call(entry, "finallyLoc"); + + if (hasCatch && hasFinally) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } else if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + } else if (hasCatch) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } + } else if (hasFinally) { + if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + } else { + throw new Error("try statement without catch or finally"); + } + } + } + }, + abrupt: function abrupt(type, arg) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + + if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { + var finallyEntry = entry; + break; + } + } + + if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) { + finallyEntry = null; + } + + var record = finallyEntry ? finallyEntry.completion : {}; + record.type = type; + record.arg = arg; + + if (finallyEntry) { + this.method = "next"; + this.next = finallyEntry.finallyLoc; + return ContinueSentinel; + } + + return this.complete(record); + }, + complete: function complete(record, afterLoc) { + if (record.type === "throw") { + throw record.arg; + } + + if (record.type === "break" || record.type === "continue") { + this.next = record.arg; + } else if (record.type === "return") { + this.rval = this.arg = record.arg; + this.method = "return"; + this.next = "end"; + } else if (record.type === "normal" && afterLoc) { + this.next = afterLoc; + } + + return ContinueSentinel; + }, + finish: function finish(finallyLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + + if (entry.finallyLoc === finallyLoc) { + this.complete(entry.completion, entry.afterLoc); + resetTryEntry(entry); + return ContinueSentinel; + } + } + }, + "catch": function _catch(tryLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + + if (entry.tryLoc === tryLoc) { + var record = entry.completion; + + if (record.type === "throw") { + var thrown = record.arg; + resetTryEntry(entry); + } + + return thrown; + } + } + + throw new Error("illegal catch attempt"); + }, + delegateYield: function delegateYield(iterable, resultName, nextLoc) { + this.delegate = { + iterator: values(iterable), + resultName: resultName, + nextLoc: nextLoc + }; + + if (this.method === "next") { + this.arg = undefined; + } + + return ContinueSentinel; + } + }; + return exports; +}(( false ? 0 : _typeof(module)) === "object" ? module.exports : {}); + +try { + regeneratorRuntime = runtime; +} catch (accidentalStrictMode) { + if ((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) === "object") { + globalThis.regeneratorRuntime = runtime; + } else { + Function("r", "regeneratorRuntime = r")(runtime); + } +} + +/***/ }), +/* 146 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.StatTimer = exports.RenderingCancelledException = exports.PixelsPerInch = exports.PageViewport = exports.PDFDateString = exports.DOMStandardFontDataFactory = exports.DOMSVGFactory = exports.DOMCanvasFactory = exports.DOMCMapReaderFactory = void 0; +exports.deprecated = deprecated; +exports.getFilenameFromUrl = getFilenameFromUrl; +exports.getPdfFilenameFromUrl = getPdfFilenameFromUrl; +exports.getXfaPageViewport = getXfaPageViewport; +exports.isDataScheme = isDataScheme; +exports.isPdfFile = isPdfFile; +exports.isValidFetchUrl = isValidFetchUrl; +exports.loadScript = loadScript; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); + +var _base_factory = __w_pdfjs_require__(147); + +var _util = __w_pdfjs_require__(1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SVG_NS = "http://www.w3.org/2000/svg"; + +var PixelsPerInch = /*#__PURE__*/_createClass(function PixelsPerInch() { + _classCallCheck(this, PixelsPerInch); +}); + +exports.PixelsPerInch = PixelsPerInch; + +_defineProperty(PixelsPerInch, "CSS", 96.0); + +_defineProperty(PixelsPerInch, "PDF", 72.0); + +_defineProperty(PixelsPerInch, "PDF_TO_CSS_UNITS", PixelsPerInch.CSS / PixelsPerInch.PDF); + +var DOMCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) { + _inherits(DOMCanvasFactory, _BaseCanvasFactory); + + var _super = _createSuper(DOMCanvasFactory); + + function DOMCanvasFactory() { + var _this; + + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref$ownerDocument = _ref.ownerDocument, + ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument; + + _classCallCheck(this, DOMCanvasFactory); + + _this = _super.call(this); + _this._document = ownerDocument; + return _this; + } + + _createClass(DOMCanvasFactory, [{ + key: "_createCanvas", + value: function _createCanvas(width, height) { + var canvas = this._document.createElement("canvas"); + + canvas.width = width; + canvas.height = height; + return canvas; + } + }]); + + return DOMCanvasFactory; +}(_base_factory.BaseCanvasFactory); + +exports.DOMCanvasFactory = DOMCanvasFactory; + +function fetchData(_x) { + return _fetchData.apply(this, arguments); +} + +function _fetchData() { + _fetchData = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(url) { + var asTypedArray, + response, + _args = arguments; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + asTypedArray = _args.length > 1 && _args[1] !== undefined ? _args[1] : false; + + if (!isValidFetchUrl(url, document.baseURI)) { + _context.next = 21; + break; + } + + _context.next = 4; + return fetch(url); + + case 4: + response = _context.sent; + + if (response.ok) { + _context.next = 7; + break; + } + + throw new Error(response.statusText); + + case 7: + if (!asTypedArray) { + _context.next = 15; + break; + } + + _context.t1 = Uint8Array; + _context.next = 11; + return response.arrayBuffer(); + + case 11: + _context.t2 = _context.sent; + _context.t0 = new _context.t1(_context.t2); + _context.next = 20; + break; + + case 15: + _context.t3 = _util.stringToBytes; + _context.next = 18; + return response.text(); + + case 18: + _context.t4 = _context.sent; + _context.t0 = (0, _context.t3)(_context.t4); + + case 20: + return _context.abrupt("return", _context.t0); + + case 21: + return _context.abrupt("return", new Promise(function (resolve, reject) { + var request = new XMLHttpRequest(); + request.open("GET", url, true); + + if (asTypedArray) { + request.responseType = "arraybuffer"; + } + + request.onreadystatechange = function () { + if (request.readyState !== XMLHttpRequest.DONE) { + return; + } + + if (request.status === 200 || request.status === 0) { + var data; + + if (asTypedArray && request.response) { + data = new Uint8Array(request.response); + } else if (!asTypedArray && request.responseText) { + data = (0, _util.stringToBytes)(request.responseText); + } + + if (data) { + resolve(data); + return; + } + } + + reject(new Error(request.statusText)); + }; + + request.send(null); + })); + + case 22: + case "end": + return _context.stop(); + } + } + }, _callee); + })); + return _fetchData.apply(this, arguments); +} + +var DOMCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) { + _inherits(DOMCMapReaderFactory, _BaseCMapReaderFactor); + + var _super2 = _createSuper(DOMCMapReaderFactory); + + function DOMCMapReaderFactory() { + _classCallCheck(this, DOMCMapReaderFactory); + + return _super2.apply(this, arguments); + } + + _createClass(DOMCMapReaderFactory, [{ + key: "_fetchData", + value: function _fetchData(url, compressionType) { + return fetchData(url, this.isCompressed).then(function (data) { + return { + cMapData: data, + compressionType: compressionType + }; + }); + } + }]); + + return DOMCMapReaderFactory; +}(_base_factory.BaseCMapReaderFactory); + +exports.DOMCMapReaderFactory = DOMCMapReaderFactory; + +var DOMStandardFontDataFactory = /*#__PURE__*/function (_BaseStandardFontData) { + _inherits(DOMStandardFontDataFactory, _BaseStandardFontData); + + var _super3 = _createSuper(DOMStandardFontDataFactory); + + function DOMStandardFontDataFactory() { + _classCallCheck(this, DOMStandardFontDataFactory); + + return _super3.apply(this, arguments); + } + + _createClass(DOMStandardFontDataFactory, [{ + key: "_fetchData", + value: function _fetchData(url) { + return fetchData(url, true); + } + }]); + + return DOMStandardFontDataFactory; +}(_base_factory.BaseStandardFontDataFactory); + +exports.DOMStandardFontDataFactory = DOMStandardFontDataFactory; + +var DOMSVGFactory = /*#__PURE__*/function (_BaseSVGFactory) { + _inherits(DOMSVGFactory, _BaseSVGFactory); + + var _super4 = _createSuper(DOMSVGFactory); + + function DOMSVGFactory() { + _classCallCheck(this, DOMSVGFactory); + + return _super4.apply(this, arguments); + } + + _createClass(DOMSVGFactory, [{ + key: "_createSVG", + value: function _createSVG(type) { + return document.createElementNS(SVG_NS, type); + } + }]); + + return DOMSVGFactory; +}(_base_factory.BaseSVGFactory); + +exports.DOMSVGFactory = DOMSVGFactory; + +var PageViewport = /*#__PURE__*/function () { + function PageViewport(_ref2) { + var viewBox = _ref2.viewBox, + scale = _ref2.scale, + rotation = _ref2.rotation, + _ref2$offsetX = _ref2.offsetX, + offsetX = _ref2$offsetX === void 0 ? 0 : _ref2$offsetX, + _ref2$offsetY = _ref2.offsetY, + offsetY = _ref2$offsetY === void 0 ? 0 : _ref2$offsetY, + _ref2$dontFlip = _ref2.dontFlip, + dontFlip = _ref2$dontFlip === void 0 ? false : _ref2$dontFlip; + + _classCallCheck(this, PageViewport); + + this.viewBox = viewBox; + this.scale = scale; + this.rotation = rotation; + this.offsetX = offsetX; + this.offsetY = offsetY; + var centerX = (viewBox[2] + viewBox[0]) / 2; + var centerY = (viewBox[3] + viewBox[1]) / 2; + var rotateA, rotateB, rotateC, rotateD; + rotation %= 360; + + if (rotation < 0) { + rotation += 360; + } + + switch (rotation) { + case 180: + rotateA = -1; + rotateB = 0; + rotateC = 0; + rotateD = 1; + break; + + case 90: + rotateA = 0; + rotateB = 1; + rotateC = 1; + rotateD = 0; + break; + + case 270: + rotateA = 0; + rotateB = -1; + rotateC = -1; + rotateD = 0; + break; + + case 0: + rotateA = 1; + rotateB = 0; + rotateC = 0; + rotateD = -1; + break; + + default: + throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees."); + } + + if (dontFlip) { + rotateC = -rotateC; + rotateD = -rotateD; + } + + var offsetCanvasX, offsetCanvasY; + var width, height; + + if (rotateA === 0) { + offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX; + offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY; + width = Math.abs(viewBox[3] - viewBox[1]) * scale; + height = Math.abs(viewBox[2] - viewBox[0]) * scale; + } else { + offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX; + offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY; + width = Math.abs(viewBox[2] - viewBox[0]) * scale; + height = Math.abs(viewBox[3] - viewBox[1]) * scale; + } + + this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY]; + this.width = width; + this.height = height; + } + + _createClass(PageViewport, [{ + key: "clone", + value: function clone() { + var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref3$scale = _ref3.scale, + scale = _ref3$scale === void 0 ? this.scale : _ref3$scale, + _ref3$rotation = _ref3.rotation, + rotation = _ref3$rotation === void 0 ? this.rotation : _ref3$rotation, + _ref3$offsetX = _ref3.offsetX, + offsetX = _ref3$offsetX === void 0 ? this.offsetX : _ref3$offsetX, + _ref3$offsetY = _ref3.offsetY, + offsetY = _ref3$offsetY === void 0 ? this.offsetY : _ref3$offsetY, + _ref3$dontFlip = _ref3.dontFlip, + dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$dontFlip; + + return new PageViewport({ + viewBox: this.viewBox.slice(), + scale: scale, + rotation: rotation, + offsetX: offsetX, + offsetY: offsetY, + dontFlip: dontFlip + }); + } + }, { + key: "convertToViewportPoint", + value: function convertToViewportPoint(x, y) { + return _util.Util.applyTransform([x, y], this.transform); + } + }, { + key: "convertToViewportRectangle", + value: function convertToViewportRectangle(rect) { + var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform); + + var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform); + + return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]]; + } + }, { + key: "convertToPdfPoint", + value: function convertToPdfPoint(x, y) { + return _util.Util.applyInverseTransform([x, y], this.transform); + } + }]); + + return PageViewport; +}(); + +exports.PageViewport = PageViewport; + +var RenderingCancelledException = /*#__PURE__*/function (_BaseException) { + _inherits(RenderingCancelledException, _BaseException); + + var _super5 = _createSuper(RenderingCancelledException); + + function RenderingCancelledException(msg, type) { + var _this2; + + _classCallCheck(this, RenderingCancelledException); + + _this2 = _super5.call(this, msg, "RenderingCancelledException"); + _this2.type = type; + return _this2; + } + + return _createClass(RenderingCancelledException); +}(_util.BaseException); + +exports.RenderingCancelledException = RenderingCancelledException; + +function isDataScheme(url) { + var ii = url.length; + var i = 0; + + while (i < ii && url[i].trim() === "") { + i++; + } + + return url.substring(i, i + 5).toLowerCase() === "data:"; +} + +function isPdfFile(filename) { + return typeof filename === "string" && /\.pdf$/i.test(filename); +} + +function getFilenameFromUrl(url) { + var anchor = url.indexOf("#"); + var query = url.indexOf("?"); + var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length); + return url.substring(url.lastIndexOf("/", end) + 1, end); +} + +function getPdfFilenameFromUrl(url) { + var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "document.pdf"; + + if (typeof url !== "string") { + return defaultFilename; + } + + if (isDataScheme(url)) { + (0, _util.warn)('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.'); + return defaultFilename; + } + + var reURI = /^(?:(?:[^:]+:)?\/\/[^/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/; + var reFilename = /[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i; + var splitURI = reURI.exec(url); + var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]); + + if (suggestedFilename) { + suggestedFilename = suggestedFilename[0]; + + if (suggestedFilename.includes("%")) { + try { + suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0]; + } catch (ex) {} + } + } + + return suggestedFilename || defaultFilename; +} + +var StatTimer = /*#__PURE__*/function () { + function StatTimer() { + _classCallCheck(this, StatTimer); + + this.started = Object.create(null); + this.times = []; + } + + _createClass(StatTimer, [{ + key: "time", + value: function time(name) { + if (name in this.started) { + (0, _util.warn)("Timer is already running for ".concat(name)); + } + + this.started[name] = Date.now(); + } + }, { + key: "timeEnd", + value: function timeEnd(name) { + if (!(name in this.started)) { + (0, _util.warn)("Timer has not been started for ".concat(name)); + } + + this.times.push({ + name: name, + start: this.started[name], + end: Date.now() + }); + delete this.started[name]; + } + }, { + key: "toString", + value: function toString() { + var outBuf = []; + var longest = 0; + + var _iterator = _createForOfIteratorHelper(this.times), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var time = _step.value; + var name = time.name; + + if (name.length > longest) { + longest = name.length; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + var _iterator2 = _createForOfIteratorHelper(this.times), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var _time = _step2.value; + var duration = _time.end - _time.start; + outBuf.push("".concat(_time.name.padEnd(longest), " ").concat(duration, "ms\n")); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + return outBuf.join(""); + } + }]); + + return StatTimer; +}(); + +exports.StatTimer = StatTimer; + +function isValidFetchUrl(url, baseUrl) { + try { + var _ref4 = baseUrl ? new URL(url, baseUrl) : new URL(url), + protocol = _ref4.protocol; + + return protocol === "http:" || protocol === "https:"; + } catch (ex) { + return false; + } +} + +function loadScript(src) { + var removeScriptElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + return new Promise(function (resolve, reject) { + var script = document.createElement("script"); + script.src = src; + + script.onload = function (evt) { + if (removeScriptElement) { + script.remove(); + } + + resolve(evt); + }; + + script.onerror = function () { + reject(new Error("Cannot load script at: ".concat(script.src))); + }; + + (document.head || document.documentElement).appendChild(script); + }); +} + +function deprecated(details) { + console.log("Deprecated API usage: " + details); +} + +var pdfDateStringRegex; + +var PDFDateString = /*#__PURE__*/function () { + function PDFDateString() { + _classCallCheck(this, PDFDateString); + } + + _createClass(PDFDateString, null, [{ + key: "toDateObject", + value: function toDateObject(input) { + if (!input || typeof input !== "string") { + return null; + } + + if (!pdfDateStringRegex) { + pdfDateStringRegex = new RegExp("^D:" + "(\\d{4})" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "([Z|+|-])?" + "(\\d{2})?" + "'?" + "(\\d{2})?" + "'?"); + } + + var matches = pdfDateStringRegex.exec(input); + + if (!matches) { + return null; + } + + var year = parseInt(matches[1], 10); + var month = parseInt(matches[2], 10); + month = month >= 1 && month <= 12 ? month - 1 : 0; + var day = parseInt(matches[3], 10); + day = day >= 1 && day <= 31 ? day : 1; + var hour = parseInt(matches[4], 10); + hour = hour >= 0 && hour <= 23 ? hour : 0; + var minute = parseInt(matches[5], 10); + minute = minute >= 0 && minute <= 59 ? minute : 0; + var second = parseInt(matches[6], 10); + second = second >= 0 && second <= 59 ? second : 0; + var universalTimeRelation = matches[7] || "Z"; + var offsetHour = parseInt(matches[8], 10); + offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0; + var offsetMinute = parseInt(matches[9], 10) || 0; + offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0; + + if (universalTimeRelation === "-") { + hour += offsetHour; + minute += offsetMinute; + } else if (universalTimeRelation === "+") { + hour -= offsetHour; + minute -= offsetMinute; + } + + return new Date(Date.UTC(year, month, day, hour, minute, second)); + } + }]); + + return PDFDateString; +}(); + +exports.PDFDateString = PDFDateString; + +function getXfaPageViewport(xfaPage, _ref5) { + var _ref5$scale = _ref5.scale, + scale = _ref5$scale === void 0 ? 1 : _ref5$scale, + _ref5$rotation = _ref5.rotation, + rotation = _ref5$rotation === void 0 ? 0 : _ref5$rotation; + var _xfaPage$attributes$s = xfaPage.attributes.style, + width = _xfaPage$attributes$s.width, + height = _xfaPage$attributes$s.height; + var viewBox = [0, 0, parseInt(width), parseInt(height)]; + return new PageViewport({ + viewBox: viewBox, + scale: scale, + rotation: rotation + }); +} + +/***/ }), +/* 147 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.BaseStandardFontDataFactory = exports.BaseSVGFactory = exports.BaseCanvasFactory = exports.BaseCMapReaderFactory = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); + +var _util = __w_pdfjs_require__(1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var BaseCanvasFactory = /*#__PURE__*/function () { + function BaseCanvasFactory() { + _classCallCheck(this, BaseCanvasFactory); + + if (this.constructor === BaseCanvasFactory) { + (0, _util.unreachable)("Cannot initialize BaseCanvasFactory."); + } + } + + _createClass(BaseCanvasFactory, [{ + key: "create", + value: function create(width, height) { + if (width <= 0 || height <= 0) { + throw new Error("Invalid canvas size"); + } + + var canvas = this._createCanvas(width, height); + + return { + canvas: canvas, + context: canvas.getContext("2d") + }; + } + }, { + key: "reset", + value: function reset(canvasAndContext, width, height) { + if (!canvasAndContext.canvas) { + throw new Error("Canvas is not specified"); + } + + if (width <= 0 || height <= 0) { + throw new Error("Invalid canvas size"); + } + + canvasAndContext.canvas.width = width; + canvasAndContext.canvas.height = height; + } + }, { + key: "destroy", + value: function destroy(canvasAndContext) { + if (!canvasAndContext.canvas) { + throw new Error("Canvas is not specified"); + } + + canvasAndContext.canvas.width = 0; + canvasAndContext.canvas.height = 0; + canvasAndContext.canvas = null; + canvasAndContext.context = null; + } + }, { + key: "_createCanvas", + value: function _createCanvas(width, height) { + (0, _util.unreachable)("Abstract method `_createCanvas` called."); + } + }]); + + return BaseCanvasFactory; +}(); + +exports.BaseCanvasFactory = BaseCanvasFactory; + +var BaseCMapReaderFactory = /*#__PURE__*/function () { + function BaseCMapReaderFactory(_ref) { + var _ref$baseUrl = _ref.baseUrl, + baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl, + _ref$isCompressed = _ref.isCompressed, + isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed; + + _classCallCheck(this, BaseCMapReaderFactory); + + if (this.constructor === BaseCMapReaderFactory) { + (0, _util.unreachable)("Cannot initialize BaseCMapReaderFactory."); + } + + this.baseUrl = baseUrl; + this.isCompressed = isCompressed; + } + + _createClass(BaseCMapReaderFactory, [{ + key: "fetch", + value: function () { + var _fetch = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref2) { + var _this = this; + + var name, url, compressionType; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + name = _ref2.name; + + if (this.baseUrl) { + _context.next = 3; + break; + } + + throw new Error('The CMap "baseUrl" parameter must be specified, ensure that ' + 'the "cMapUrl" and "cMapPacked" API parameters are provided.'); + + case 3: + if (name) { + _context.next = 5; + break; + } + + throw new Error("CMap name must be specified."); + + case 5: + url = this.baseUrl + name + (this.isCompressed ? ".bcmap" : ""); + compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE; + return _context.abrupt("return", this._fetchData(url, compressionType)["catch"](function (reason) { + throw new Error("Unable to load ".concat(_this.isCompressed ? "binary " : "", "CMap at: ").concat(url)); + })); + + case 8: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function fetch(_x) { + return _fetch.apply(this, arguments); + } + + return fetch; + }() + }, { + key: "_fetchData", + value: function _fetchData(url, compressionType) { + (0, _util.unreachable)("Abstract method `_fetchData` called."); + } + }]); + + return BaseCMapReaderFactory; +}(); + +exports.BaseCMapReaderFactory = BaseCMapReaderFactory; + +var BaseStandardFontDataFactory = /*#__PURE__*/function () { + function BaseStandardFontDataFactory(_ref3) { + var _ref3$baseUrl = _ref3.baseUrl, + baseUrl = _ref3$baseUrl === void 0 ? null : _ref3$baseUrl; + + _classCallCheck(this, BaseStandardFontDataFactory); + + if (this.constructor === BaseStandardFontDataFactory) { + (0, _util.unreachable)("Cannot initialize BaseStandardFontDataFactory."); + } + + this.baseUrl = baseUrl; + } + + _createClass(BaseStandardFontDataFactory, [{ + key: "fetch", + value: function () { + var _fetch2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(_ref4) { + var filename, url; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + filename = _ref4.filename; + + if (this.baseUrl) { + _context2.next = 3; + break; + } + + throw new Error('The standard font "baseUrl" parameter must be specified, ensure that ' + 'the "standardFontDataUrl" API parameter is provided.'); + + case 3: + if (filename) { + _context2.next = 5; + break; + } + + throw new Error("Font filename must be specified."); + + case 5: + url = "".concat(this.baseUrl).concat(filename); + return _context2.abrupt("return", this._fetchData(url)["catch"](function (reason) { + throw new Error("Unable to load font data at: ".concat(url)); + })); + + case 7: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function fetch(_x2) { + return _fetch2.apply(this, arguments); + } + + return fetch; + }() + }, { + key: "_fetchData", + value: function _fetchData(url) { + (0, _util.unreachable)("Abstract method `_fetchData` called."); + } + }]); + + return BaseStandardFontDataFactory; +}(); + +exports.BaseStandardFontDataFactory = BaseStandardFontDataFactory; + +var BaseSVGFactory = /*#__PURE__*/function () { + function BaseSVGFactory() { + _classCallCheck(this, BaseSVGFactory); + + if (this.constructor === BaseSVGFactory) { + (0, _util.unreachable)("Cannot initialize BaseSVGFactory."); + } + } + + _createClass(BaseSVGFactory, [{ + key: "create", + value: function create(width, height) { + if (width <= 0 || height <= 0) { + throw new Error("Invalid SVG dimensions"); + } + + var svg = this._createSVG("svg:svg"); + + svg.setAttribute("version", "1.1"); + svg.setAttribute("width", "".concat(width, "px")); + svg.setAttribute("height", "".concat(height, "px")); + svg.setAttribute("preserveAspectRatio", "none"); + svg.setAttribute("viewBox", "0 0 ".concat(width, " ").concat(height)); + return svg; + } + }, { + key: "createElement", + value: function createElement(type) { + if (typeof type !== "string") { + throw new Error("Invalid SVG element type"); + } + + return this._createSVG(type); + } + }, { + key: "_createSVG", + value: function _createSVG(type) { + (0, _util.unreachable)("Abstract method `_createSVG` called."); + } + }]); + + return BaseSVGFactory; +}(); + +exports.BaseSVGFactory = BaseSVGFactory; + +/***/ }), +/* 148 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.FontLoader = exports.FontFaceObject = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); + +var _util = __w_pdfjs_require__(1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var BaseFontLoader = /*#__PURE__*/function () { + function BaseFontLoader(_ref) { + var docId = _ref.docId, + onUnsupportedFeature = _ref.onUnsupportedFeature, + _ref$ownerDocument = _ref.ownerDocument, + ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument, + _ref$styleElement = _ref.styleElement, + styleElement = _ref$styleElement === void 0 ? null : _ref$styleElement; + + _classCallCheck(this, BaseFontLoader); + + if (this.constructor === BaseFontLoader) { + (0, _util.unreachable)("Cannot initialize BaseFontLoader."); + } + + this.docId = docId; + this._onUnsupportedFeature = onUnsupportedFeature; + this._document = ownerDocument; + this.nativeFontFaces = []; + this.styleElement = null; + } + + _createClass(BaseFontLoader, [{ + key: "addNativeFontFace", + value: function addNativeFontFace(nativeFontFace) { + this.nativeFontFaces.push(nativeFontFace); + + this._document.fonts.add(nativeFontFace); + } + }, { + key: "insertRule", + value: function insertRule(rule) { + var styleElement = this.styleElement; + + if (!styleElement) { + styleElement = this.styleElement = this._document.createElement("style"); + styleElement.id = "PDFJS_FONT_STYLE_TAG_".concat(this.docId); + + this._document.documentElement.getElementsByTagName("head")[0].appendChild(styleElement); + } + + var styleSheet = styleElement.sheet; + styleSheet.insertRule(rule, styleSheet.cssRules.length); + } + }, { + key: "clear", + value: function clear() { + var _iterator = _createForOfIteratorHelper(this.nativeFontFaces), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var nativeFontFace = _step.value; + + this._document.fonts["delete"](nativeFontFace); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + this.nativeFontFaces.length = 0; + + if (this.styleElement) { + this.styleElement.remove(); + this.styleElement = null; + } + } + }, { + key: "bind", + value: function () { + var _bind = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(font) { + var _this = this; + + var nativeFontFace, rule; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (!(font.attached || font.missingFile)) { + _context.next = 2; + break; + } + + return _context.abrupt("return"); + + case 2: + font.attached = true; + + if (!this.isFontLoadingAPISupported) { + _context.next = 19; + break; + } + + nativeFontFace = font.createNativeFontFace(); + + if (!nativeFontFace) { + _context.next = 18; + break; + } + + this.addNativeFontFace(nativeFontFace); + _context.prev = 7; + _context.next = 10; + return nativeFontFace.loaded; + + case 10: + _context.next = 18; + break; + + case 12: + _context.prev = 12; + _context.t0 = _context["catch"](7); + + this._onUnsupportedFeature({ + featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative + }); + + (0, _util.warn)("Failed to load font '".concat(nativeFontFace.family, "': '").concat(_context.t0, "'.")); + font.disableFontFace = true; + throw _context.t0; + + case 18: + return _context.abrupt("return"); + + case 19: + rule = font.createFontFaceRule(); + + if (!rule) { + _context.next = 26; + break; + } + + this.insertRule(rule); + + if (!this.isSyncFontLoadingSupported) { + _context.next = 24; + break; + } + + return _context.abrupt("return"); + + case 24: + _context.next = 26; + return new Promise(function (resolve) { + var request = _this._queueLoadingCallback(resolve); + + _this._prepareFontLoadEvent([rule], [font], request); + }); + + case 26: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[7, 12]]); + })); + + function bind(_x) { + return _bind.apply(this, arguments); + } + + return bind; + }() + }, { + key: "_queueLoadingCallback", + value: function _queueLoadingCallback(callback) { + (0, _util.unreachable)("Abstract method `_queueLoadingCallback`."); + } + }, { + key: "isFontLoadingAPISupported", + get: function get() { + var _this$_document; + + var hasFonts = !!((_this$_document = this._document) !== null && _this$_document !== void 0 && _this$_document.fonts); + return (0, _util.shadow)(this, "isFontLoadingAPISupported", hasFonts); + } + }, { + key: "isSyncFontLoadingSupported", + get: function get() { + (0, _util.unreachable)("Abstract method `isSyncFontLoadingSupported`."); + } + }, { + key: "_loadTestFont", + get: function get() { + (0, _util.unreachable)("Abstract method `_loadTestFont`."); + } + }, { + key: "_prepareFontLoadEvent", + value: function _prepareFontLoadEvent(rules, fontsToLoad, request) { + (0, _util.unreachable)("Abstract method `_prepareFontLoadEvent`."); + } + }]); + + return BaseFontLoader; +}(); + +var FontLoader; +exports.FontLoader = FontLoader; +{ + exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) { + _inherits(GenericFontLoader, _BaseFontLoader); + + var _super = _createSuper(GenericFontLoader); + + function GenericFontLoader(params) { + var _this2; + + _classCallCheck(this, GenericFontLoader); + + _this2 = _super.call(this, params); + _this2.loadingContext = { + requests: [], + nextRequestId: 0 + }; + _this2.loadTestFontId = 0; + return _this2; + } + + _createClass(GenericFontLoader, [{ + key: "isSyncFontLoadingSupported", + get: function get() { + var supported = false; + + if (typeof navigator === "undefined") { + supported = true; + } else { + var m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent); + + if ((m === null || m === void 0 ? void 0 : m[1]) >= 14) { + supported = true; + } + } + + return (0, _util.shadow)(this, "isSyncFontLoadingSupported", supported); + } + }, { + key: "_queueLoadingCallback", + value: function _queueLoadingCallback(callback) { + function completeRequest() { + (0, _util.assert)(!request.done, "completeRequest() cannot be called twice."); + request.done = true; + + while (context.requests.length > 0 && context.requests[0].done) { + var otherRequest = context.requests.shift(); + setTimeout(otherRequest.callback, 0); + } + } + + var context = this.loadingContext; + var request = { + id: "pdfjs-font-loading-".concat(context.nextRequestId++), + done: false, + complete: completeRequest, + callback: callback + }; + context.requests.push(request); + return request; + } + }, { + key: "_loadTestFont", + get: function get() { + var getLoadTestFont = function getLoadTestFont() { + return atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA" + "FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA" + "ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA" + "AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1" + "AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD" + "6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM" + "AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D" + "IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA" + "AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA" + "AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB" + "AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY" + "AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA" + "AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA" + "AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC" + "AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3" + "Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj" + "FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA=="); + }; + + return (0, _util.shadow)(this, "_loadTestFont", getLoadTestFont()); + } + }, { + key: "_prepareFontLoadEvent", + value: function _prepareFontLoadEvent(rules, fonts, request) { + function int32(data, offset) { + return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff; + } + + function spliceString(s, offset, remove, insert) { + var chunk1 = s.substring(0, offset); + var chunk2 = s.substring(offset + remove); + return chunk1 + insert + chunk2; + } + + var i, ii; + + var canvas = this._document.createElement("canvas"); + + canvas.width = 1; + canvas.height = 1; + var ctx = canvas.getContext("2d"); + var called = 0; + + function isFontReady(name, callback) { + called++; + + if (called > 30) { + (0, _util.warn)("Load test font never loaded."); + callback(); + return; + } + + ctx.font = "1.875em " + name; + ctx.fillText(".", 0, 20); + var imageData = ctx.getImageData(0, 0, 1, 1); + + if (imageData.data[3] > 0) { + callback(); + return; + } + + setTimeout(isFontReady.bind(null, name, callback)); + } + + var loadTestFontId = "lt".concat(Date.now()).concat(this.loadTestFontId++); + var data = this._loadTestFont; + var COMMENT_OFFSET = 976; + data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId); + var CFF_CHECKSUM_OFFSET = 16; + var XXXX_VALUE = 0x58585858; + var checksum = int32(data, CFF_CHECKSUM_OFFSET); + + for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) { + checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0; + } + + if (i < loadTestFontId.length) { + checksum = checksum - XXXX_VALUE + int32(loadTestFontId + "XXX", i) | 0; + } + + data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum)); + var url = "url(data:font/opentype;base64,".concat(btoa(data), ");"); + var rule = "@font-face {font-family:\"".concat(loadTestFontId, "\";src:").concat(url, "}"); + this.insertRule(rule); + var names = []; + + var _iterator2 = _createForOfIteratorHelper(fonts), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var font = _step2.value; + names.push(font.loadedName); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + names.push(loadTestFontId); + + var div = this._document.createElement("div"); + + div.style.visibility = "hidden"; + div.style.width = div.style.height = "10px"; + div.style.position = "absolute"; + div.style.top = div.style.left = "0px"; + + for (var _i = 0, _names = names; _i < _names.length; _i++) { + var name = _names[_i]; + + var span = this._document.createElement("span"); + + span.textContent = "Hi"; + span.style.fontFamily = name; + div.appendChild(span); + } + + this._document.body.appendChild(div); + + isFontReady(loadTestFontId, function () { + div.remove(); + request.complete(); + }); + } + }]); + + return GenericFontLoader; + }(BaseFontLoader); +} + +var FontFaceObject = /*#__PURE__*/function () { + function FontFaceObject(translatedData, _ref2) { + var _ref2$isEvalSupported = _ref2.isEvalSupported, + isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported, + _ref2$disableFontFace = _ref2.disableFontFace, + disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace, + _ref2$ignoreErrors = _ref2.ignoreErrors, + ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors, + onUnsupportedFeature = _ref2.onUnsupportedFeature, + _ref2$fontRegistry = _ref2.fontRegistry, + fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry; + + _classCallCheck(this, FontFaceObject); + + this.compiledGlyphs = Object.create(null); + + for (var i in translatedData) { + this[i] = translatedData[i]; + } + + this.isEvalSupported = isEvalSupported !== false; + this.disableFontFace = disableFontFace === true; + this.ignoreErrors = ignoreErrors === true; + this._onUnsupportedFeature = onUnsupportedFeature; + this.fontRegistry = fontRegistry; + } + + _createClass(FontFaceObject, [{ + key: "createNativeFontFace", + value: function createNativeFontFace() { + if (!this.data || this.disableFontFace) { + return null; + } + + var nativeFontFace; + + if (!this.cssFontInfo) { + nativeFontFace = new FontFace(this.loadedName, this.data, {}); + } else { + var css = { + weight: this.cssFontInfo.fontWeight + }; + + if (this.cssFontInfo.italicAngle) { + css.style = "oblique ".concat(this.cssFontInfo.italicAngle, "deg"); + } + + nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css); + } + + if (this.fontRegistry) { + this.fontRegistry.registerFont(this); + } + + return nativeFontFace; + } + }, { + key: "createFontFaceRule", + value: function createFontFaceRule() { + if (!this.data || this.disableFontFace) { + return null; + } + + var data = (0, _util.bytesToString)(this.data); + var url = "url(data:".concat(this.mimetype, ";base64,").concat(btoa(data), ");"); + var rule; + + if (!this.cssFontInfo) { + rule = "@font-face {font-family:\"".concat(this.loadedName, "\";src:").concat(url, "}"); + } else { + var css = "font-weight: ".concat(this.cssFontInfo.fontWeight, ";"); + + if (this.cssFontInfo.italicAngle) { + css += "font-style: oblique ".concat(this.cssFontInfo.italicAngle, "deg;"); + } + + rule = "@font-face {font-family:\"".concat(this.cssFontInfo.fontFamily, "\";").concat(css, "src:").concat(url, "}"); + } + + if (this.fontRegistry) { + this.fontRegistry.registerFont(this, url); + } + + return rule; + } + }, { + key: "getPathGenerator", + value: function getPathGenerator(objs, character) { + if (this.compiledGlyphs[character] !== undefined) { + return this.compiledGlyphs[character]; + } + + var cmds; + + try { + cmds = objs.get(this.loadedName + "_path_" + character); + } catch (ex) { + if (!this.ignoreErrors) { + throw ex; + } + + this._onUnsupportedFeature({ + featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath + }); + + (0, _util.warn)("getPathGenerator - ignoring character: \"".concat(ex, "\".")); + return this.compiledGlyphs[character] = function (c, size) {}; + } + + if (this.isEvalSupported && _util.IsEvalSupportedCached.value) { + var jsBuf = []; + + var _iterator3 = _createForOfIteratorHelper(cmds), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var current = _step3.value; + var args = current.args !== undefined ? current.args.join(",") : ""; + jsBuf.push("c.", current.cmd, "(", args, ");\n"); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + return this.compiledGlyphs[character] = new Function("c", "size", jsBuf.join("")); + } + + return this.compiledGlyphs[character] = function (c, size) { + var _iterator4 = _createForOfIteratorHelper(cmds), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var _current = _step4.value; + + if (_current.cmd === "scale") { + _current.args = [size, -size]; + } + + c[_current.cmd].apply(c, _current.args); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + }; + } + }]); + + return FontFaceObject; +}(); + +exports.FontFaceObject = FontFaceObject; + +/***/ }), +/* 149 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.NodeStandardFontDataFactory = exports.NodeCanvasFactory = exports.NodeCMapReaderFactory = void 0; + +var _base_factory = __w_pdfjs_require__(147); + +var _is_node = __w_pdfjs_require__(3); + +var _util = __w_pdfjs_require__(1); + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var NodeCanvasFactory = /*#__PURE__*/_createClass(function NodeCanvasFactory() { + _classCallCheck(this, NodeCanvasFactory); + + (0, _util.unreachable)("Not implemented: NodeCanvasFactory"); +}); + +exports.NodeCanvasFactory = NodeCanvasFactory; + +var NodeCMapReaderFactory = /*#__PURE__*/_createClass(function NodeCMapReaderFactory() { + _classCallCheck(this, NodeCMapReaderFactory); + + (0, _util.unreachable)("Not implemented: NodeCMapReaderFactory"); +}); + +exports.NodeCMapReaderFactory = NodeCMapReaderFactory; + +var NodeStandardFontDataFactory = /*#__PURE__*/_createClass(function NodeStandardFontDataFactory() { + _classCallCheck(this, NodeStandardFontDataFactory); + + (0, _util.unreachable)("Not implemented: NodeStandardFontDataFactory"); +}); + +exports.NodeStandardFontDataFactory = NodeStandardFontDataFactory; + +if (_is_node.isNodeJS) { + var fetchData = function fetchData(url) { + return new Promise(function (resolve, reject) { + var fs = require("fs"); + + fs.readFile(url, function (error, data) { + if (error || !data) { + reject(new Error(error)); + return; + } + + resolve(new Uint8Array(data)); + }); + }); + }; + + exports.NodeCanvasFactory = NodeCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) { + _inherits(NodeCanvasFactory, _BaseCanvasFactory); + + var _super = _createSuper(NodeCanvasFactory); + + function NodeCanvasFactory() { + _classCallCheck(this, NodeCanvasFactory); + + return _super.apply(this, arguments); + } + + _createClass(NodeCanvasFactory, [{ + key: "_createCanvas", + value: function _createCanvas(width, height) { + var Canvas = require("canvas"); + + return Canvas.createCanvas(width, height); + } + }]); + + return NodeCanvasFactory; + }(_base_factory.BaseCanvasFactory); + + exports.NodeCMapReaderFactory = NodeCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) { + _inherits(NodeCMapReaderFactory, _BaseCMapReaderFactor); + + var _super2 = _createSuper(NodeCMapReaderFactory); + + function NodeCMapReaderFactory() { + _classCallCheck(this, NodeCMapReaderFactory); + + return _super2.apply(this, arguments); + } + + _createClass(NodeCMapReaderFactory, [{ + key: "_fetchData", + value: function _fetchData(url, compressionType) { + return fetchData(url).then(function (data) { + return { + cMapData: data, + compressionType: compressionType + }; + }); + } + }]); + + return NodeCMapReaderFactory; + }(_base_factory.BaseCMapReaderFactory); + + exports.NodeStandardFontDataFactory = NodeStandardFontDataFactory = /*#__PURE__*/function (_BaseStandardFontData) { + _inherits(NodeStandardFontDataFactory, _BaseStandardFontData); + + var _super3 = _createSuper(NodeStandardFontDataFactory); + + function NodeStandardFontDataFactory() { + _classCallCheck(this, NodeStandardFontDataFactory); + + return _super3.apply(this, arguments); + } + + _createClass(NodeStandardFontDataFactory, [{ + key: "_fetchData", + value: function _fetchData(url) { + return fetchData(url); + } + }]); + + return NodeStandardFontDataFactory; + }(_base_factory.BaseStandardFontDataFactory); +} + +/***/ }), +/* 150 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.AnnotationStorage = void 0; + +var _util = __w_pdfjs_require__(1); + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var AnnotationStorage = /*#__PURE__*/function () { + function AnnotationStorage() { + _classCallCheck(this, AnnotationStorage); + + this._storage = new Map(); + this._timeStamp = Date.now(); + this._modified = false; + this.onSetModified = null; + this.onResetModified = null; + } + + _createClass(AnnotationStorage, [{ + key: "getValue", + value: function getValue(key, defaultValue) { + var value = this._storage.get(key); + + if (value === undefined) { + return defaultValue; + } + + return Object.assign(defaultValue, value); + } + }, { + key: "setValue", + value: function setValue(key, value) { + var obj = this._storage.get(key); + + var modified = false; + + if (obj !== undefined) { + for (var _i = 0, _Object$entries = Object.entries(value); _i < _Object$entries.length; _i++) { + var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), + entry = _Object$entries$_i[0], + val = _Object$entries$_i[1]; + + if (obj[entry] !== val) { + modified = true; + obj[entry] = val; + } + } + } else { + modified = true; + + this._storage.set(key, value); + } + + if (modified) { + this._timeStamp = Date.now(); + + this._setModified(); + } + } + }, { + key: "getAll", + value: function getAll() { + return this._storage.size > 0 ? (0, _util.objectFromMap)(this._storage) : null; + } + }, { + key: "size", + get: function get() { + return this._storage.size; + } + }, { + key: "_setModified", + value: function _setModified() { + if (!this._modified) { + this._modified = true; + + if (typeof this.onSetModified === "function") { + this.onSetModified(); + } + } + } + }, { + key: "resetModified", + value: function resetModified() { + if (this._modified) { + this._modified = false; + + if (typeof this.onResetModified === "function") { + this.onResetModified(); + } + } + } + }, { + key: "serializable", + get: function get() { + return this._storage.size > 0 ? this._storage : null; + } + }, { + key: "lastModified", + get: function get() { + return this._timeStamp.toString(); + } + }]); + + return AnnotationStorage; +}(); + +exports.AnnotationStorage = AnnotationStorage; + +/***/ }), +/* 151 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.CanvasGraphics = void 0; + +var _util = __w_pdfjs_require__(1); + +var _pattern_helper = __w_pdfjs_require__(152); + +var _display_utils = __w_pdfjs_require__(146); + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +var MIN_FONT_SIZE = 16; +var MAX_FONT_SIZE = 100; +var MAX_GROUP_SIZE = 4096; +var EXECUTION_TIME = 15; +var EXECUTION_STEPS = 10; +var COMPILE_TYPE3_GLYPHS = true; +var MAX_SIZE_TO_COMPILE = 1000; +var FULL_CHUNK_HEIGHT = 16; +var LINEWIDTH_SCALE_FACTOR = 1.000001; + +function mirrorContextOperations(ctx, destCtx) { + if (ctx._removeMirroring) { + throw new Error("Context is already forwarding operations."); + } + + ctx.__originalSave = ctx.save; + ctx.__originalRestore = ctx.restore; + ctx.__originalRotate = ctx.rotate; + ctx.__originalScale = ctx.scale; + ctx.__originalTranslate = ctx.translate; + ctx.__originalTransform = ctx.transform; + ctx.__originalSetTransform = ctx.setTransform; + ctx.__originalResetTransform = ctx.resetTransform; + ctx.__originalClip = ctx.clip; + ctx.__originalMoveTo = ctx.moveTo; + ctx.__originalLineTo = ctx.lineTo; + ctx.__originalBezierCurveTo = ctx.bezierCurveTo; + ctx.__originalRect = ctx.rect; + ctx.__originalClosePath = ctx.closePath; + ctx.__originalBeginPath = ctx.beginPath; + + ctx._removeMirroring = function () { + ctx.save = ctx.__originalSave; + ctx.restore = ctx.__originalRestore; + ctx.rotate = ctx.__originalRotate; + ctx.scale = ctx.__originalScale; + ctx.translate = ctx.__originalTranslate; + ctx.transform = ctx.__originalTransform; + ctx.setTransform = ctx.__originalSetTransform; + ctx.resetTransform = ctx.__originalResetTransform; + ctx.clip = ctx.__originalClip; + ctx.moveTo = ctx.__originalMoveTo; + ctx.lineTo = ctx.__originalLineTo; + ctx.bezierCurveTo = ctx.__originalBezierCurveTo; + ctx.rect = ctx.__originalRect; + ctx.closePath = ctx.__originalClosePath; + ctx.beginPath = ctx.__originalBeginPath; + delete ctx._removeMirroring; + }; + + ctx.save = function ctxSave() { + destCtx.save(); + + this.__originalSave(); + }; + + ctx.restore = function ctxRestore() { + destCtx.restore(); + + this.__originalRestore(); + }; + + ctx.translate = function ctxTranslate(x, y) { + destCtx.translate(x, y); + + this.__originalTranslate(x, y); + }; + + ctx.scale = function ctxScale(x, y) { + destCtx.scale(x, y); + + this.__originalScale(x, y); + }; + + ctx.transform = function ctxTransform(a, b, c, d, e, f) { + destCtx.transform(a, b, c, d, e, f); + + this.__originalTransform(a, b, c, d, e, f); + }; + + ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) { + destCtx.setTransform(a, b, c, d, e, f); + + this.__originalSetTransform(a, b, c, d, e, f); + }; + + ctx.resetTransform = function ctxResetTransform() { + destCtx.resetTransform(); + + this.__originalResetTransform(); + }; + + ctx.rotate = function ctxRotate(angle) { + destCtx.rotate(angle); + + this.__originalRotate(angle); + }; + + ctx.clip = function ctxRotate(rule) { + destCtx.clip(rule); + + this.__originalClip(rule); + }; + + ctx.moveTo = function (x, y) { + destCtx.moveTo(x, y); + + this.__originalMoveTo(x, y); + }; + + ctx.lineTo = function (x, y) { + destCtx.lineTo(x, y); + + this.__originalLineTo(x, y); + }; + + ctx.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) { + destCtx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y); + + this.__originalBezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y); + }; + + ctx.rect = function (x, y, width, height) { + destCtx.rect(x, y, width, height); + + this.__originalRect(x, y, width, height); + }; + + ctx.closePath = function () { + destCtx.closePath(); + + this.__originalClosePath(); + }; + + ctx.beginPath = function () { + destCtx.beginPath(); + + this.__originalBeginPath(); + }; +} + +function addContextCurrentTransform(ctx) { + if (ctx._transformStack) { + ctx._transformStack = []; + } + + if (ctx.mozCurrentTransform) { + return; + } + + ctx._originalSave = ctx.save; + ctx._originalRestore = ctx.restore; + ctx._originalRotate = ctx.rotate; + ctx._originalScale = ctx.scale; + ctx._originalTranslate = ctx.translate; + ctx._originalTransform = ctx.transform; + ctx._originalSetTransform = ctx.setTransform; + ctx._originalResetTransform = ctx.resetTransform; + ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0]; + ctx._transformStack = []; + + try { + var desc = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(ctx), "lineWidth"); + ctx._setLineWidth = desc.set; + ctx._getLineWidth = desc.get; + Object.defineProperty(ctx, "lineWidth", { + set: function setLineWidth(width) { + this._setLineWidth(width * LINEWIDTH_SCALE_FACTOR); + }, + get: function getLineWidth() { + return this._getLineWidth(); + } + }); + } catch (_) {} + + Object.defineProperty(ctx, "mozCurrentTransform", { + get: function getCurrentTransform() { + return this._transformMatrix; + } + }); + Object.defineProperty(ctx, "mozCurrentTransformInverse", { + get: function getCurrentTransformInverse() { + var _this$_transformMatri = _slicedToArray(this._transformMatrix, 6), + a = _this$_transformMatri[0], + b = _this$_transformMatri[1], + c = _this$_transformMatri[2], + d = _this$_transformMatri[3], + e = _this$_transformMatri[4], + f = _this$_transformMatri[5]; + + var ad_bc = a * d - b * c; + var bc_ad = b * c - a * d; + return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc]; + } + }); + + ctx.save = function ctxSave() { + var old = this._transformMatrix; + + this._transformStack.push(old); + + this._transformMatrix = old.slice(0, 6); + + this._originalSave(); + }; + + ctx.restore = function ctxRestore() { + if (this._transformStack.length === 0) { + (0, _util.warn)("Tried to restore a ctx when the stack was already empty."); + } + + var prev = this._transformStack.pop(); + + if (prev) { + this._transformMatrix = prev; + + this._originalRestore(); + } + }; + + ctx.translate = function ctxTranslate(x, y) { + var m = this._transformMatrix; + m[4] = m[0] * x + m[2] * y + m[4]; + m[5] = m[1] * x + m[3] * y + m[5]; + + this._originalTranslate(x, y); + }; + + ctx.scale = function ctxScale(x, y) { + var m = this._transformMatrix; + m[0] *= x; + m[1] *= x; + m[2] *= y; + m[3] *= y; + + this._originalScale(x, y); + }; + + ctx.transform = function ctxTransform(a, b, c, d, e, f) { + var m = this._transformMatrix; + this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]]; + + ctx._originalTransform(a, b, c, d, e, f); + }; + + ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) { + this._transformMatrix = [a, b, c, d, e, f]; + + ctx._originalSetTransform(a, b, c, d, e, f); + }; + + ctx.resetTransform = function ctxResetTransform() { + this._transformMatrix = [1, 0, 0, 1, 0, 0]; + + ctx._originalResetTransform(); + }; + + ctx.rotate = function ctxRotate(angle) { + var cosValue = Math.cos(angle); + var sinValue = Math.sin(angle); + var m = this._transformMatrix; + this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]]; + + this._originalRotate(angle); + }; +} + +var CachedCanvases = /*#__PURE__*/function () { + function CachedCanvases(canvasFactory) { + _classCallCheck(this, CachedCanvases); + + this.canvasFactory = canvasFactory; + this.cache = Object.create(null); + } + + _createClass(CachedCanvases, [{ + key: "getCanvas", + value: function getCanvas(id, width, height, trackTransform) { + var canvasEntry; + + if (this.cache[id] !== undefined) { + canvasEntry = this.cache[id]; + this.canvasFactory.reset(canvasEntry, width, height); + canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0); + } else { + canvasEntry = this.canvasFactory.create(width, height); + this.cache[id] = canvasEntry; + } + + if (trackTransform) { + addContextCurrentTransform(canvasEntry.context); + } + + return canvasEntry; + } + }, { + key: "clear", + value: function clear() { + for (var id in this.cache) { + var canvasEntry = this.cache[id]; + this.canvasFactory.destroy(canvasEntry); + delete this.cache[id]; + } + } + }]); + + return CachedCanvases; +}(); + +function compileType3Glyph(imgData) { + var POINT_TO_PROCESS_LIMIT = 1000; + var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]); + var width = imgData.width, + height = imgData.height, + width1 = width + 1; + var i, ii, j, j0; + var points = new Uint8Array(width1 * (height + 1)); + var lineSize = width + 7 & ~7, + data0 = imgData.data; + var data = new Uint8Array(lineSize * height); + var pos = 0; + + for (i = 0, ii = data0.length; i < ii; i++) { + var elem = data0[i]; + var mask = 128; + + while (mask > 0) { + data[pos++] = elem & mask ? 0 : 255; + mask >>= 1; + } + } + + var count = 0; + pos = 0; + + if (data[pos] !== 0) { + points[0] = 1; + ++count; + } + + for (j = 1; j < width; j++) { + if (data[pos] !== data[pos + 1]) { + points[j] = data[pos] ? 2 : 1; + ++count; + } + + pos++; + } + + if (data[pos] !== 0) { + points[j] = 2; + ++count; + } + + for (i = 1; i < height; i++) { + pos = i * lineSize; + j0 = i * width1; + + if (data[pos - lineSize] !== data[pos]) { + points[j0] = data[pos] ? 1 : 8; + ++count; + } + + var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0); + + for (j = 1; j < width; j++) { + sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0); + + if (POINT_TYPES[sum]) { + points[j0 + j] = POINT_TYPES[sum]; + ++count; + } + + pos++; + } + + if (data[pos - lineSize] !== data[pos]) { + points[j0 + j] = data[pos] ? 2 : 4; + ++count; + } + + if (count > POINT_TO_PROCESS_LIMIT) { + return null; + } + } + + pos = lineSize * (height - 1); + j0 = i * width1; + + if (data[pos] !== 0) { + points[j0] = 8; + ++count; + } + + for (j = 1; j < width; j++) { + if (data[pos] !== data[pos + 1]) { + points[j0 + j] = data[pos] ? 4 : 8; + ++count; + } + + pos++; + } + + if (data[pos] !== 0) { + points[j0 + j] = 4; + ++count; + } + + if (count > POINT_TO_PROCESS_LIMIT) { + return null; + } + + var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]); + var outlines = []; + + for (i = 0; count && i <= height; i++) { + var p = i * width1; + var end = p + width; + + while (p < end && !points[p]) { + p++; + } + + if (p === end) { + continue; + } + + var coords = [p % width1, i]; + var p0 = p; + var type = points[p]; + + do { + var step = steps[type]; + + do { + p += step; + } while (!points[p]); + + var pp = points[p]; + + if (pp !== 5 && pp !== 10) { + type = pp; + points[p] = 0; + } else { + type = pp & 0x33 * type >> 4; + points[p] &= type >> 2 | type << 2; + } + + coords.push(p % width1, p / width1 | 0); + + if (!points[p]) { + --count; + } + } while (p0 !== p); + + outlines.push(coords); + --i; + } + + var drawOutline = function drawOutline(c) { + c.save(); + c.scale(1 / width, -1 / height); + c.translate(0, -height); + c.beginPath(); + + for (var k = 0, kk = outlines.length; k < kk; k++) { + var o = outlines[k]; + c.moveTo(o[0], o[1]); + + for (var l = 2, ll = o.length; l < ll; l += 2) { + c.lineTo(o[l], o[l + 1]); + } + } + + c.fill(); + c.beginPath(); + c.restore(); + }; + + return drawOutline; +} + +var CanvasExtraState = /*#__PURE__*/function () { + function CanvasExtraState(width, height) { + _classCallCheck(this, CanvasExtraState); + + this.alphaIsShape = false; + this.fontSize = 0; + this.fontSizeScale = 1; + this.textMatrix = _util.IDENTITY_MATRIX; + this.textMatrixScale = 1; + this.fontMatrix = _util.FONT_IDENTITY_MATRIX; + this.leading = 0; + this.x = 0; + this.y = 0; + this.lineX = 0; + this.lineY = 0; + this.charSpacing = 0; + this.wordSpacing = 0; + this.textHScale = 1; + this.textRenderingMode = _util.TextRenderingMode.FILL; + this.textRise = 0; + this.fillColor = "#000000"; + this.strokeColor = "#000000"; + this.patternFill = false; + this.fillAlpha = 1; + this.strokeAlpha = 1; + this.lineWidth = 1; + this.activeSMask = null; + this.transferMaps = null; + this.startNewPathAndClipBox([0, 0, width, height]); + } + + _createClass(CanvasExtraState, [{ + key: "clone", + value: function clone() { + var clone = Object.create(this); + clone.clipBox = this.clipBox.slice(); + return clone; + } + }, { + key: "setCurrentPoint", + value: function setCurrentPoint(x, y) { + this.x = x; + this.y = y; + } + }, { + key: "updatePathMinMax", + value: function updatePathMinMax(transform, x, y) { + var _Util$applyTransform = _util.Util.applyTransform([x, y], transform); + + var _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2); + + x = _Util$applyTransform2[0]; + y = _Util$applyTransform2[1]; + this.minX = Math.min(this.minX, x); + this.minY = Math.min(this.minY, y); + this.maxX = Math.max(this.maxX, x); + this.maxY = Math.max(this.maxY, y); + } + }, { + key: "updateCurvePathMinMax", + value: function updateCurvePathMinMax(transform, x0, y0, x1, y1, x2, y2, x3, y3) { + var box = _util.Util.bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3); + + this.updatePathMinMax(transform, box[0], box[1]); + this.updatePathMinMax(transform, box[2], box[3]); + } + }, { + key: "getPathBoundingBox", + value: function getPathBoundingBox() { + var pathType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _pattern_helper.PathType.FILL; + var transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var box = [this.minX, this.minY, this.maxX, this.maxY]; + + if (pathType === _pattern_helper.PathType.STROKE) { + if (!transform) { + (0, _util.unreachable)("Stroke bounding box must include transform."); + } + + var scale = _util.Util.singularValueDecompose2dScale(transform); + + var xStrokePad = scale[0] * this.lineWidth / 2; + var yStrokePad = scale[1] * this.lineWidth / 2; + box[0] -= xStrokePad; + box[1] -= yStrokePad; + box[2] += xStrokePad; + box[3] += yStrokePad; + } + + return box; + } + }, { + key: "updateClipFromPath", + value: function updateClipFromPath() { + var intersect = _util.Util.intersect(this.clipBox, this.getPathBoundingBox()); + + this.startNewPathAndClipBox(intersect || [0, 0, 0, 0]); + } + }, { + key: "startNewPathAndClipBox", + value: function startNewPathAndClipBox(box) { + this.clipBox = box; + this.minX = Infinity; + this.minY = Infinity; + this.maxX = 0; + this.maxY = 0; + } + }, { + key: "getClippedPathBoundingBox", + value: function getClippedPathBoundingBox() { + var pathType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _pattern_helper.PathType.FILL; + var transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + return _util.Util.intersect(this.clipBox, this.getPathBoundingBox(pathType, transform)); + } + }]); + + return CanvasExtraState; +}(); + +function putBinaryImageData(ctx, imgData) { + var transferMaps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + + if (typeof ImageData !== "undefined" && imgData instanceof ImageData) { + ctx.putImageData(imgData, 0, 0); + return; + } + + var height = imgData.height, + width = imgData.width; + var partialChunkHeight = height % FULL_CHUNK_HEIGHT; + var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT; + var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1; + var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT); + var srcPos = 0, + destPos; + var src = imgData.data; + var dest = chunkImgData.data; + var i, j, thisChunkHeight, elemsInThisChunk; + var transferMapRed, transferMapGreen, transferMapBlue, transferMapGray; + + if (transferMaps) { + switch (transferMaps.length) { + case 1: + transferMapRed = transferMaps[0]; + transferMapGreen = transferMaps[0]; + transferMapBlue = transferMaps[0]; + transferMapGray = transferMaps[0]; + break; + + case 4: + transferMapRed = transferMaps[0]; + transferMapGreen = transferMaps[1]; + transferMapBlue = transferMaps[2]; + transferMapGray = transferMaps[3]; + break; + } + } + + if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) { + var srcLength = src.byteLength; + var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2); + var dest32DataLength = dest32.length; + var fullSrcDiff = width + 7 >> 3; + var white = 0xffffffff; + var black = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff; + + if (transferMapGray) { + if (transferMapGray[0] === 0xff && transferMapGray[0xff] === 0) { + var _ref = [black, white]; + white = _ref[0]; + black = _ref[1]; + } + } + + for (i = 0; i < totalChunks; i++) { + thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight; + destPos = 0; + + for (j = 0; j < thisChunkHeight; j++) { + var srcDiff = srcLength - srcPos; + var k = 0; + var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7; + var kEndUnrolled = kEnd & ~7; + var mask = 0; + var srcByte = 0; + + for (; k < kEndUnrolled; k += 8) { + srcByte = src[srcPos++]; + dest32[destPos++] = srcByte & 128 ? white : black; + dest32[destPos++] = srcByte & 64 ? white : black; + dest32[destPos++] = srcByte & 32 ? white : black; + dest32[destPos++] = srcByte & 16 ? white : black; + dest32[destPos++] = srcByte & 8 ? white : black; + dest32[destPos++] = srcByte & 4 ? white : black; + dest32[destPos++] = srcByte & 2 ? white : black; + dest32[destPos++] = srcByte & 1 ? white : black; + } + + for (; k < kEnd; k++) { + if (mask === 0) { + srcByte = src[srcPos++]; + mask = 128; + } + + dest32[destPos++] = srcByte & mask ? white : black; + mask >>= 1; + } + } + + while (destPos < dest32DataLength) { + dest32[destPos++] = 0; + } + + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } + } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) { + var hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue); + j = 0; + elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4; + + for (i = 0; i < fullChunks; i++) { + dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk)); + srcPos += elemsInThisChunk; + + if (hasTransferMaps) { + for (var _k = 0; _k < elemsInThisChunk; _k += 4) { + if (transferMapRed) { + dest[_k + 0] = transferMapRed[dest[_k + 0]]; + } + + if (transferMapGreen) { + dest[_k + 1] = transferMapGreen[dest[_k + 1]]; + } + + if (transferMapBlue) { + dest[_k + 2] = transferMapBlue[dest[_k + 2]]; + } + } + } + + ctx.putImageData(chunkImgData, 0, j); + j += FULL_CHUNK_HEIGHT; + } + + if (i < totalChunks) { + elemsInThisChunk = width * partialChunkHeight * 4; + dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk)); + + if (hasTransferMaps) { + for (var _k2 = 0; _k2 < elemsInThisChunk; _k2 += 4) { + if (transferMapRed) { + dest[_k2 + 0] = transferMapRed[dest[_k2 + 0]]; + } + + if (transferMapGreen) { + dest[_k2 + 1] = transferMapGreen[dest[_k2 + 1]]; + } + + if (transferMapBlue) { + dest[_k2 + 2] = transferMapBlue[dest[_k2 + 2]]; + } + } + } + + ctx.putImageData(chunkImgData, 0, j); + } + } else if (imgData.kind === _util.ImageKind.RGB_24BPP) { + var _hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue); + + thisChunkHeight = FULL_CHUNK_HEIGHT; + elemsInThisChunk = width * thisChunkHeight; + + for (i = 0; i < totalChunks; i++) { + if (i >= fullChunks) { + thisChunkHeight = partialChunkHeight; + elemsInThisChunk = width * thisChunkHeight; + } + + destPos = 0; + + for (j = elemsInThisChunk; j--;) { + dest[destPos++] = src[srcPos++]; + dest[destPos++] = src[srcPos++]; + dest[destPos++] = src[srcPos++]; + dest[destPos++] = 255; + } + + if (_hasTransferMaps) { + for (var _k3 = 0; _k3 < destPos; _k3 += 4) { + if (transferMapRed) { + dest[_k3 + 0] = transferMapRed[dest[_k3 + 0]]; + } + + if (transferMapGreen) { + dest[_k3 + 1] = transferMapGreen[dest[_k3 + 1]]; + } + + if (transferMapBlue) { + dest[_k3 + 2] = transferMapBlue[dest[_k3 + 2]]; + } + } + } + + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } + } else { + throw new Error("bad image kind: ".concat(imgData.kind)); + } +} + +function putBinaryImageMask(ctx, imgData) { + var height = imgData.height, + width = imgData.width; + var partialChunkHeight = height % FULL_CHUNK_HEIGHT; + var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT; + var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1; + var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT); + var srcPos = 0; + var src = imgData.data; + var dest = chunkImgData.data; + + for (var i = 0; i < totalChunks; i++) { + var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight; + var destPos = 3; + + for (var j = 0; j < thisChunkHeight; j++) { + var elem = void 0, + mask = 0; + + for (var k = 0; k < width; k++) { + if (!mask) { + elem = src[srcPos++]; + mask = 128; + } + + dest[destPos] = elem & mask ? 0 : 255; + destPos += 4; + mask >>= 1; + } + } + + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } +} + +function copyCtxState(sourceCtx, destCtx) { + var properties = ["strokeStyle", "fillStyle", "fillRule", "globalAlpha", "lineWidth", "lineCap", "lineJoin", "miterLimit", "globalCompositeOperation", "font"]; + + for (var i = 0, ii = properties.length; i < ii; i++) { + var property = properties[i]; + + if (sourceCtx[property] !== undefined) { + destCtx[property] = sourceCtx[property]; + } + } + + if (sourceCtx.setLineDash !== undefined) { + destCtx.setLineDash(sourceCtx.getLineDash()); + destCtx.lineDashOffset = sourceCtx.lineDashOffset; + } +} + +function resetCtxToDefault(ctx) { + ctx.strokeStyle = "#000000"; + ctx.fillStyle = "#000000"; + ctx.fillRule = "nonzero"; + ctx.globalAlpha = 1; + ctx.lineWidth = 1; + ctx.lineCap = "butt"; + ctx.lineJoin = "miter"; + ctx.miterLimit = 10; + ctx.globalCompositeOperation = "source-over"; + ctx.font = "0.625em sans-serif"; + + if (ctx.setLineDash !== undefined) { + ctx.setLineDash([]); + ctx.lineDashOffset = 0; + } +} + +function composeSMaskBackdrop(bytes, r0, g0, b0) { + var length = bytes.length; + + for (var i = 3; i < length; i += 4) { + var alpha = bytes[i]; + + if (alpha === 0) { + bytes[i - 3] = r0; + bytes[i - 2] = g0; + bytes[i - 1] = b0; + } else if (alpha < 255) { + var alpha_ = 255 - alpha; + bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8; + bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8; + bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8; + } + } +} + +function composeSMaskAlpha(maskData, layerData, transferMap) { + var length = maskData.length; + var scale = 1 / 255; + + for (var i = 3; i < length; i += 4) { + var alpha = transferMap ? transferMap[maskData[i]] : maskData[i]; + layerData[i] = layerData[i] * alpha * scale | 0; + } +} + +function composeSMaskLuminosity(maskData, layerData, transferMap) { + var length = maskData.length; + + for (var i = 3; i < length; i += 4) { + var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28; + layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16; + } +} + +function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap, layerOffsetX, layerOffsetY, maskOffsetX, maskOffsetY) { + var hasBackdrop = !!backdrop; + var r0 = hasBackdrop ? backdrop[0] : 0; + var g0 = hasBackdrop ? backdrop[1] : 0; + var b0 = hasBackdrop ? backdrop[2] : 0; + var composeFn; + + if (subtype === "Luminosity") { + composeFn = composeSMaskLuminosity; + } else { + composeFn = composeSMaskAlpha; + } + + var PIXELS_TO_PROCESS = 1048576; + var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width)); + + for (var row = 0; row < height; row += chunkSize) { + var chunkHeight = Math.min(chunkSize, height - row); + var maskData = maskCtx.getImageData(layerOffsetX - maskOffsetX, row + (layerOffsetY - maskOffsetY), width, chunkHeight); + var layerData = layerCtx.getImageData(layerOffsetX, row + layerOffsetY, width, chunkHeight); + + if (hasBackdrop) { + composeSMaskBackdrop(maskData.data, r0, g0, b0); + } + + composeFn(maskData.data, layerData.data, transferMap); + layerCtx.putImageData(layerData, layerOffsetX, row + layerOffsetY); + } +} + +function composeSMask(ctx, smask, layerCtx, layerBox) { + var layerOffsetX = layerBox[0]; + var layerOffsetY = layerBox[1]; + var layerWidth = layerBox[2] - layerOffsetX; + var layerHeight = layerBox[3] - layerOffsetY; + + if (layerWidth === 0 || layerHeight === 0) { + return; + } + + genericComposeSMask(smask.context, layerCtx, layerWidth, layerHeight, smask.subtype, smask.backdrop, smask.transferMap, layerOffsetX, layerOffsetY, smask.offsetX, smask.offsetY); + ctx.save(); + ctx.globalAlpha = 1; + ctx.globalCompositeOperation = "source-over"; + ctx.setTransform(1, 0, 0, 1, 0, 0); + ctx.drawImage(layerCtx.canvas, 0, 0); + ctx.restore(); +} + +function getImageSmoothingEnabled(transform, interpolate) { + var scale = _util.Util.singularValueDecompose2dScale(transform); + + scale[0] = Math.fround(scale[0]); + scale[1] = Math.fround(scale[1]); + var actualScale = Math.fround((globalThis.devicePixelRatio || 1) * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS); + + if (interpolate !== undefined) { + return interpolate; + } else if (scale[0] <= actualScale || scale[1] <= actualScale) { + return true; + } + + return false; +} + +var LINE_CAP_STYLES = ["butt", "round", "square"]; +var LINE_JOIN_STYLES = ["miter", "round", "bevel"]; +var NORMAL_CLIP = {}; +var EO_CLIP = {}; + +var CanvasGraphics = /*#__PURE__*/function () { + function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, imageLayer, optionalContentConfig, annotationCanvasMap) { + _classCallCheck(this, CanvasGraphics); + + this.ctx = canvasCtx; + this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height); + this.stateStack = []; + this.pendingClip = null; + this.pendingEOFill = false; + this.res = null; + this.xobjs = null; + this.commonObjs = commonObjs; + this.objs = objs; + this.canvasFactory = canvasFactory; + this.imageLayer = imageLayer; + this.groupStack = []; + this.processingType3 = null; + this.baseTransform = null; + this.baseTransformStack = []; + this.groupLevel = 0; + this.smaskStack = []; + this.smaskCounter = 0; + this.tempSMask = null; + this.suspendedCtx = null; + this.contentVisible = true; + this.markedContentStack = []; + this.optionalContentConfig = optionalContentConfig; + this.cachedCanvases = new CachedCanvases(this.canvasFactory); + this.cachedPatterns = new Map(); + this.annotationCanvasMap = annotationCanvasMap; + this.viewportScale = 1; + this.outputScaleX = 1; + this.outputScaleY = 1; + + if (canvasCtx) { + addContextCurrentTransform(canvasCtx); + } + + this._cachedScaleForStroking = null; + this._cachedGetSinglePixelWidth = null; + } + + _createClass(CanvasGraphics, [{ + key: "beginDrawing", + value: function beginDrawing(_ref2) { + var transform = _ref2.transform, + viewport = _ref2.viewport, + _ref2$transparency = _ref2.transparency, + transparency = _ref2$transparency === void 0 ? false : _ref2$transparency, + _ref2$background = _ref2.background, + background = _ref2$background === void 0 ? null : _ref2$background; + var width = this.ctx.canvas.width; + var height = this.ctx.canvas.height; + this.ctx.save(); + this.ctx.fillStyle = background || "rgb(255, 255, 255)"; + this.ctx.fillRect(0, 0, width, height); + this.ctx.restore(); + + if (transparency) { + var transparentCanvas = this.cachedCanvases.getCanvas("transparent", width, height, true); + this.compositeCtx = this.ctx; + this.transparentCanvas = transparentCanvas.canvas; + this.ctx = transparentCanvas.context; + this.ctx.save(); + this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform); + } + + this.ctx.save(); + resetCtxToDefault(this.ctx); + + if (transform) { + this.ctx.transform.apply(this.ctx, transform); + this.outputScaleX = transform[0]; + this.outputScaleY = transform[0]; + } + + this.ctx.transform.apply(this.ctx, viewport.transform); + this.viewportScale = viewport.scale; + this.baseTransform = this.ctx.mozCurrentTransform.slice(); + + if (this.imageLayer) { + this.imageLayer.beginLayout(); + } + } + }, { + key: "executeOperatorList", + value: function executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) { + var argsArray = operatorList.argsArray; + var fnArray = operatorList.fnArray; + var i = executionStartIdx || 0; + var argsArrayLen = argsArray.length; + + if (argsArrayLen === i) { + return i; + } + + var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === "function"; + var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0; + var steps = 0; + var commonObjs = this.commonObjs; + var objs = this.objs; + var fnId; + + while (true) { + if (stepper !== undefined && i === stepper.nextBreakPoint) { + stepper.breakIt(i, continueCallback); + return i; + } + + fnId = fnArray[i]; + + if (fnId !== _util.OPS.dependency) { + this[fnId].apply(this, argsArray[i]); + } else { + var _iterator = _createForOfIteratorHelper(argsArray[i]), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var depObjId = _step.value; + var objsPool = depObjId.startsWith("g_") ? commonObjs : objs; + + if (!objsPool.has(depObjId)) { + objsPool.get(depObjId, continueCallback); + return i; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + + i++; + + if (i === argsArrayLen) { + return i; + } + + if (chunkOperations && ++steps > EXECUTION_STEPS) { + if (Date.now() > endTime) { + continueCallback(); + return i; + } + + steps = 0; + } + } + } + }, { + key: "endDrawing", + value: function endDrawing() { + while (this.stateStack.length || this.inSMaskMode) { + this.restore(); + } + + this.ctx.restore(); + + if (this.transparentCanvas) { + this.ctx = this.compositeCtx; + this.ctx.save(); + this.ctx.setTransform(1, 0, 0, 1, 0, 0); + this.ctx.drawImage(this.transparentCanvas, 0, 0); + this.ctx.restore(); + this.transparentCanvas = null; + } + + this.cachedCanvases.clear(); + this.cachedPatterns.clear(); + + if (this.imageLayer) { + this.imageLayer.endLayout(); + } + } + }, { + key: "_scaleImage", + value: function _scaleImage(img, inverseTransform) { + var width = img.width; + var height = img.height; + var widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1); + var heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1); + var paintWidth = width, + paintHeight = height; + var tmpCanvasId = "prescale1"; + var tmpCanvas, tmpCtx; + + while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) { + var newWidth = paintWidth, + newHeight = paintHeight; + + if (widthScale > 2 && paintWidth > 1) { + newWidth = Math.ceil(paintWidth / 2); + widthScale /= paintWidth / newWidth; + } + + if (heightScale > 2 && paintHeight > 1) { + newHeight = Math.ceil(paintHeight / 2); + heightScale /= paintHeight / newHeight; + } + + tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight); + tmpCtx = tmpCanvas.context; + tmpCtx.clearRect(0, 0, newWidth, newHeight); + tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight); + img = tmpCanvas.canvas; + paintWidth = newWidth; + paintHeight = newHeight; + tmpCanvasId = tmpCanvasId === "prescale1" ? "prescale2" : "prescale1"; + } + + return { + img: img, + paintWidth: paintWidth, + paintHeight: paintHeight + }; + } + }, { + key: "_createMaskCanvas", + value: function _createMaskCanvas(img) { + var ctx = this.ctx; + var width = img.width, + height = img.height; + var fillColor = this.current.fillColor; + var isPatternFill = this.current.patternFill; + var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height); + var maskCtx = maskCanvas.context; + putBinaryImageMask(maskCtx, img); + var objToCanvas = ctx.mozCurrentTransform; + + var maskToCanvas = _util.Util.transform(objToCanvas, [1 / width, 0, 0, -1 / height, 0, 0]); + + maskToCanvas = _util.Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]); + + var cord1 = _util.Util.applyTransform([0, 0], maskToCanvas); + + var cord2 = _util.Util.applyTransform([width, height], maskToCanvas); + + var rect = _util.Util.normalizeRect([cord1[0], cord1[1], cord2[0], cord2[1]]); + + var drawnWidth = Math.ceil(rect[2] - rect[0]); + var drawnHeight = Math.ceil(rect[3] - rect[1]); + var fillCanvas = this.cachedCanvases.getCanvas("fillCanvas", drawnWidth, drawnHeight, true); + var fillCtx = fillCanvas.context; + var offsetX = Math.min(cord1[0], cord2[0]); + var offsetY = Math.min(cord1[1], cord2[1]); + fillCtx.translate(-offsetX, -offsetY); + fillCtx.transform.apply(fillCtx, maskToCanvas); + + var scaled = this._scaleImage(maskCanvas.canvas, fillCtx.mozCurrentTransformInverse); + + fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled(fillCtx.mozCurrentTransform, img.interpolate); + fillCtx.drawImage(scaled.img, 0, 0, scaled.img.width, scaled.img.height, 0, 0, width, height); + fillCtx.globalCompositeOperation = "source-in"; + + var inverse = _util.Util.transform(fillCtx.mozCurrentTransformInverse, [1, 0, 0, 1, -offsetX, -offsetY]); + + fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, _pattern_helper.PathType.FILL) : fillColor; + fillCtx.fillRect(0, 0, width, height); + return { + canvas: fillCanvas.canvas, + offsetX: Math.round(offsetX), + offsetY: Math.round(offsetY) + }; + } + }, { + key: "setLineWidth", + value: function setLineWidth(width) { + if (width !== this.current.lineWidth) { + this._cachedScaleForStroking = null; + } + + this.current.lineWidth = width; + this.ctx.lineWidth = width; + } + }, { + key: "setLineCap", + value: function setLineCap(style) { + this.ctx.lineCap = LINE_CAP_STYLES[style]; + } + }, { + key: "setLineJoin", + value: function setLineJoin(style) { + this.ctx.lineJoin = LINE_JOIN_STYLES[style]; + } + }, { + key: "setMiterLimit", + value: function setMiterLimit(limit) { + this.ctx.miterLimit = limit; + } + }, { + key: "setDash", + value: function setDash(dashArray, dashPhase) { + var ctx = this.ctx; + + if (ctx.setLineDash !== undefined) { + ctx.setLineDash(dashArray); + ctx.lineDashOffset = dashPhase; + } + } + }, { + key: "setRenderingIntent", + value: function setRenderingIntent(intent) {} + }, { + key: "setFlatness", + value: function setFlatness(flatness) {} + }, { + key: "setGState", + value: function setGState(states) { + for (var i = 0, ii = states.length; i < ii; i++) { + var state = states[i]; + var key = state[0]; + var value = state[1]; + + switch (key) { + case "LW": + this.setLineWidth(value); + break; + + case "LC": + this.setLineCap(value); + break; + + case "LJ": + this.setLineJoin(value); + break; + + case "ML": + this.setMiterLimit(value); + break; + + case "D": + this.setDash(value[0], value[1]); + break; + + case "RI": + this.setRenderingIntent(value); + break; + + case "FL": + this.setFlatness(value); + break; + + case "Font": + this.setFont(value[0], value[1]); + break; + + case "CA": + this.current.strokeAlpha = state[1]; + break; + + case "ca": + this.current.fillAlpha = state[1]; + this.ctx.globalAlpha = state[1]; + break; + + case "BM": + this.ctx.globalCompositeOperation = value; + break; + + case "SMask": + this.current.activeSMask = value ? this.tempSMask : null; + this.tempSMask = null; + this.checkSMaskState(); + break; + + case "TR": + this.current.transferMaps = value; + } + } + } + }, { + key: "inSMaskMode", + get: function get() { + return !!this.suspendedCtx; + } + }, { + key: "checkSMaskState", + value: function checkSMaskState() { + var inSMaskMode = this.inSMaskMode; + + if (this.current.activeSMask && !inSMaskMode) { + this.beginSMaskMode(); + } else if (!this.current.activeSMask && inSMaskMode) { + this.endSMaskMode(); + } + } + }, { + key: "beginSMaskMode", + value: function beginSMaskMode() { + if (this.inSMaskMode) { + throw new Error("beginSMaskMode called while already in smask mode"); + } + + var drawnWidth = this.ctx.canvas.width; + var drawnHeight = this.ctx.canvas.height; + var cacheId = "smaskGroupAt" + this.groupLevel; + var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true); + this.suspendedCtx = this.ctx; + this.ctx = scratchCanvas.context; + var ctx = this.ctx; + ctx.setTransform.apply(ctx, this.suspendedCtx.mozCurrentTransform); + copyCtxState(this.suspendedCtx, ctx); + mirrorContextOperations(ctx, this.suspendedCtx); + this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]); + } + }, { + key: "endSMaskMode", + value: function endSMaskMode() { + if (!this.inSMaskMode) { + throw new Error("endSMaskMode called while not in smask mode"); + } + + this.ctx._removeMirroring(); + + copyCtxState(this.ctx, this.suspendedCtx); + this.ctx = this.suspendedCtx; + this.suspendedCtx = null; + } + }, { + key: "compose", + value: function compose(dirtyBox) { + if (!this.current.activeSMask) { + return; + } + + if (!dirtyBox) { + dirtyBox = [0, 0, this.ctx.canvas.width, this.ctx.canvas.height]; + } else { + dirtyBox[0] = Math.floor(dirtyBox[0]); + dirtyBox[1] = Math.floor(dirtyBox[1]); + dirtyBox[2] = Math.ceil(dirtyBox[2]); + dirtyBox[3] = Math.ceil(dirtyBox[3]); + } + + var smask = this.current.activeSMask; + var suspendedCtx = this.suspendedCtx; + composeSMask(suspendedCtx, smask, this.ctx, dirtyBox); + this.ctx.save(); + this.ctx.setTransform(1, 0, 0, 1, 0, 0); + this.ctx.clearRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height); + this.ctx.restore(); + } + }, { + key: "save", + value: function save() { + if (this.inSMaskMode) { + copyCtxState(this.ctx, this.suspendedCtx); + this.suspendedCtx.save(); + } else { + this.ctx.save(); + } + + var old = this.current; + this.stateStack.push(old); + this.current = old.clone(); + } + }, { + key: "restore", + value: function restore() { + if (this.stateStack.length === 0 && this.inSMaskMode) { + this.endSMaskMode(); + } + + if (this.stateStack.length !== 0) { + this.current = this.stateStack.pop(); + + if (this.inSMaskMode) { + this.suspendedCtx.restore(); + copyCtxState(this.suspendedCtx, this.ctx); + } else { + this.ctx.restore(); + } + + this.checkSMaskState(); + this.pendingClip = null; + this._cachedScaleForStroking = null; + this._cachedGetSinglePixelWidth = null; + } + } + }, { + key: "transform", + value: function transform(a, b, c, d, e, f) { + this.ctx.transform(a, b, c, d, e, f); + this._cachedScaleForStroking = null; + this._cachedGetSinglePixelWidth = null; + } + }, { + key: "constructPath", + value: function constructPath(ops, args) { + var ctx = this.ctx; + var current = this.current; + var x = current.x, + y = current.y; + var startX, startY; + + for (var i = 0, j = 0, ii = ops.length; i < ii; i++) { + switch (ops[i] | 0) { + case _util.OPS.rectangle: + x = args[j++]; + y = args[j++]; + var width = args[j++]; + var height = args[j++]; + var xw = x + width; + var yh = y + height; + ctx.moveTo(x, y); + + if (width === 0 || height === 0) { + ctx.lineTo(xw, yh); + } else { + ctx.lineTo(xw, y); + ctx.lineTo(xw, yh); + ctx.lineTo(x, yh); + } + + current.updatePathMinMax(ctx.mozCurrentTransform, x, y); + current.updatePathMinMax(ctx.mozCurrentTransform, xw, yh); + ctx.closePath(); + break; + + case _util.OPS.moveTo: + x = args[j++]; + y = args[j++]; + ctx.moveTo(x, y); + current.updatePathMinMax(ctx.mozCurrentTransform, x, y); + break; + + case _util.OPS.lineTo: + x = args[j++]; + y = args[j++]; + ctx.lineTo(x, y); + current.updatePathMinMax(ctx.mozCurrentTransform, x, y); + break; + + case _util.OPS.curveTo: + startX = x; + startY = y; + x = args[j + 4]; + y = args[j + 5]; + ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y); + current.updateCurvePathMinMax(ctx.mozCurrentTransform, startX, startY, args[j], args[j + 1], args[j + 2], args[j + 3], x, y); + j += 6; + break; + + case _util.OPS.curveTo2: + startX = x; + startY = y; + ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]); + current.updateCurvePathMinMax(ctx.mozCurrentTransform, startX, startY, x, y, args[j], args[j + 1], args[j + 2], args[j + 3]); + x = args[j + 2]; + y = args[j + 3]; + j += 4; + break; + + case _util.OPS.curveTo3: + startX = x; + startY = y; + x = args[j + 2]; + y = args[j + 3]; + ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y); + current.updateCurvePathMinMax(ctx.mozCurrentTransform, startX, startY, args[j], args[j + 1], x, y, x, y); + j += 4; + break; + + case _util.OPS.closePath: + ctx.closePath(); + break; + } + } + + current.setCurrentPoint(x, y); + } + }, { + key: "closePath", + value: function closePath() { + this.ctx.closePath(); + } + }, { + key: "stroke", + value: function stroke(consumePath) { + consumePath = typeof consumePath !== "undefined" ? consumePath : true; + var ctx = this.ctx; + var strokeColor = this.current.strokeColor; + ctx.globalAlpha = this.current.strokeAlpha; + + if (this.contentVisible) { + if (_typeof(strokeColor) === "object" && strokeColor !== null && strokeColor !== void 0 && strokeColor.getPattern) { + ctx.save(); + ctx.strokeStyle = strokeColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.STROKE); + this.rescaleAndStroke(false); + ctx.restore(); + } else { + this.rescaleAndStroke(true); + } + } + + if (consumePath) { + this.consumePath(this.current.getClippedPathBoundingBox()); + } + + ctx.globalAlpha = this.current.fillAlpha; + } + }, { + key: "closeStroke", + value: function closeStroke() { + this.closePath(); + this.stroke(); + } + }, { + key: "fill", + value: function fill(consumePath) { + consumePath = typeof consumePath !== "undefined" ? consumePath : true; + var ctx = this.ctx; + var fillColor = this.current.fillColor; + var isPatternFill = this.current.patternFill; + var needRestore = false; + + if (isPatternFill) { + ctx.save(); + ctx.fillStyle = fillColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL); + needRestore = true; + } + + var intersect = this.current.getClippedPathBoundingBox(); + + if (this.contentVisible && intersect !== null) { + if (this.pendingEOFill) { + ctx.fill("evenodd"); + this.pendingEOFill = false; + } else { + ctx.fill(); + } + } + + if (needRestore) { + ctx.restore(); + } + + if (consumePath) { + this.consumePath(intersect); + } + } + }, { + key: "eoFill", + value: function eoFill() { + this.pendingEOFill = true; + this.fill(); + } + }, { + key: "fillStroke", + value: function fillStroke() { + this.fill(false); + this.stroke(false); + this.consumePath(); + } + }, { + key: "eoFillStroke", + value: function eoFillStroke() { + this.pendingEOFill = true; + this.fillStroke(); + } + }, { + key: "closeFillStroke", + value: function closeFillStroke() { + this.closePath(); + this.fillStroke(); + } + }, { + key: "closeEOFillStroke", + value: function closeEOFillStroke() { + this.pendingEOFill = true; + this.closePath(); + this.fillStroke(); + } + }, { + key: "endPath", + value: function endPath() { + this.consumePath(); + } + }, { + key: "clip", + value: function clip() { + this.pendingClip = NORMAL_CLIP; + } + }, { + key: "eoClip", + value: function eoClip() { + this.pendingClip = EO_CLIP; + } + }, { + key: "beginText", + value: function beginText() { + this.current.textMatrix = _util.IDENTITY_MATRIX; + this.current.textMatrixScale = 1; + this.current.x = this.current.lineX = 0; + this.current.y = this.current.lineY = 0; + } + }, { + key: "endText", + value: function endText() { + var paths = this.pendingTextPaths; + var ctx = this.ctx; + + if (paths === undefined) { + ctx.beginPath(); + return; + } + + ctx.save(); + ctx.beginPath(); + + for (var i = 0; i < paths.length; i++) { + var path = paths[i]; + ctx.setTransform.apply(ctx, path.transform); + ctx.translate(path.x, path.y); + path.addToPath(ctx, path.fontSize); + } + + ctx.restore(); + ctx.clip(); + ctx.beginPath(); + delete this.pendingTextPaths; + } + }, { + key: "setCharSpacing", + value: function setCharSpacing(spacing) { + this.current.charSpacing = spacing; + } + }, { + key: "setWordSpacing", + value: function setWordSpacing(spacing) { + this.current.wordSpacing = spacing; + } + }, { + key: "setHScale", + value: function setHScale(scale) { + this.current.textHScale = scale / 100; + } + }, { + key: "setLeading", + value: function setLeading(leading) { + this.current.leading = -leading; + } + }, { + key: "setFont", + value: function setFont(fontRefName, size) { + var fontObj = this.commonObjs.get(fontRefName); + var current = this.current; + + if (!fontObj) { + throw new Error("Can't find font for ".concat(fontRefName)); + } + + current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX; + + if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) { + (0, _util.warn)("Invalid font matrix for font " + fontRefName); + } + + if (size < 0) { + size = -size; + current.fontDirection = -1; + } else { + current.fontDirection = 1; + } + + this.current.font = fontObj; + this.current.fontSize = size; + + if (fontObj.isType3Font) { + return; + } + + var name = fontObj.loadedName || "sans-serif"; + var bold = "normal"; + + if (fontObj.black) { + bold = "900"; + } else if (fontObj.bold) { + bold = "bold"; + } + + var italic = fontObj.italic ? "italic" : "normal"; + var typeface = "\"".concat(name, "\", ").concat(fontObj.fallbackName); + var browserFontSize = size; + + if (size < MIN_FONT_SIZE) { + browserFontSize = MIN_FONT_SIZE; + } else if (size > MAX_FONT_SIZE) { + browserFontSize = MAX_FONT_SIZE; + } + + this.current.fontSizeScale = size / browserFontSize; + this.ctx.font = document.body.dataset.pdfjsprinting ? "".concat(italic, " ").concat(bold, " ").concat(browserFontSize, "px ").concat(typeface) : "".concat(italic, " ").concat(bold, " ").concat(browserFontSize / 16.0, "em ").concat(typeface); + } + }, { + key: "setTextRenderingMode", + value: function setTextRenderingMode(mode) { + this.current.textRenderingMode = mode; + } + }, { + key: "setTextRise", + value: function setTextRise(rise) { + this.current.textRise = rise; + } + }, { + key: "moveText", + value: function moveText(x, y) { + this.current.x = this.current.lineX += x; + this.current.y = this.current.lineY += y; + } + }, { + key: "setLeadingMoveText", + value: function setLeadingMoveText(x, y) { + this.setLeading(-y); + this.moveText(x, y); + } + }, { + key: "setTextMatrix", + value: function setTextMatrix(a, b, c, d, e, f) { + this.current.textMatrix = [a, b, c, d, e, f]; + this.current.textMatrixScale = Math.hypot(a, b); + this.current.x = this.current.lineX = 0; + this.current.y = this.current.lineY = 0; + } + }, { + key: "nextLine", + value: function nextLine() { + this.moveText(0, this.current.leading); + } + }, { + key: "paintChar", + value: function paintChar(character, x, y, patternTransform) { + var ctx = this.ctx; + var current = this.current; + var font = current.font; + var textRenderingMode = current.textRenderingMode; + var fontSize = current.fontSize / current.fontSizeScale; + var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; + var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG); + var patternFill = current.patternFill && !font.missingFile; + var addToPath; + + if (font.disableFontFace || isAddToPathSet || patternFill) { + addToPath = font.getPathGenerator(this.commonObjs, character); + } + + if (font.disableFontFace || patternFill) { + ctx.save(); + ctx.translate(x, y); + ctx.beginPath(); + addToPath(ctx, fontSize); + + if (patternTransform) { + ctx.setTransform.apply(ctx, patternTransform); + } + + if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.fill(); + } + + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.stroke(); + } + + ctx.restore(); + } else { + if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.fillText(character, x, y); + } + + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.strokeText(character, x, y); + } + } + + if (isAddToPathSet) { + var paths = this.pendingTextPaths || (this.pendingTextPaths = []); + paths.push({ + transform: ctx.mozCurrentTransform, + x: x, + y: y, + fontSize: fontSize, + addToPath: addToPath + }); + } + } + }, { + key: "isFontSubpixelAAEnabled", + get: function get() { + var _this$cachedCanvases$ = this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled", 10, 10), + ctx = _this$cachedCanvases$.context; + + ctx.scale(1.5, 1); + ctx.fillText("I", 0, 10); + var data = ctx.getImageData(0, 0, 10, 10).data; + var enabled = false; + + for (var i = 3; i < data.length; i += 4) { + if (data[i] > 0 && data[i] < 255) { + enabled = true; + break; + } + } + + return (0, _util.shadow)(this, "isFontSubpixelAAEnabled", enabled); + } + }, { + key: "showText", + value: function showText(glyphs) { + var current = this.current; + var font = current.font; + + if (font.isType3Font) { + return this.showType3Text(glyphs); + } + + var fontSize = current.fontSize; + + if (fontSize === 0) { + return undefined; + } + + var ctx = this.ctx; + var fontSizeScale = current.fontSizeScale; + var charSpacing = current.charSpacing; + var wordSpacing = current.wordSpacing; + var fontDirection = current.fontDirection; + var textHScale = current.textHScale * fontDirection; + var glyphsLength = glyphs.length; + var vertical = font.vertical; + var spacingDir = vertical ? 1 : -1; + var defaultVMetrics = font.defaultVMetrics; + var widthAdvanceScale = fontSize * current.fontMatrix[0]; + var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill; + ctx.save(); + ctx.transform.apply(ctx, current.textMatrix); + ctx.translate(current.x, current.y + current.textRise); + + if (fontDirection > 0) { + ctx.scale(textHScale, -1); + } else { + ctx.scale(textHScale, 1); + } + + var patternTransform; + + if (current.patternFill) { + ctx.save(); + var pattern = current.fillColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL); + patternTransform = ctx.mozCurrentTransform; + ctx.restore(); + ctx.fillStyle = pattern; + } + + var lineWidth = current.lineWidth; + var scale = current.textMatrixScale; + + if (scale === 0 || lineWidth === 0) { + var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; + + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + lineWidth = this.getSinglePixelWidth(); + } + } else { + lineWidth /= scale; + } + + if (fontSizeScale !== 1.0) { + ctx.scale(fontSizeScale, fontSizeScale); + lineWidth /= fontSizeScale; + } + + ctx.lineWidth = lineWidth; + var x = 0, + i; + + for (i = 0; i < glyphsLength; ++i) { + var glyph = glyphs[i]; + + if (typeof glyph === "number") { + x += spacingDir * glyph * fontSize / 1000; + continue; + } + + var restoreNeeded = false; + var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; + var character = glyph.fontChar; + var accent = glyph.accent; + var scaledX = void 0, + scaledY = void 0; + var width = glyph.width; + + if (vertical) { + var vmetric = glyph.vmetric || defaultVMetrics; + var vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale; + var vy = vmetric[2] * widthAdvanceScale; + width = vmetric ? -vmetric[0] : width; + scaledX = vx / fontSizeScale; + scaledY = (x + vy) / fontSizeScale; + } else { + scaledX = x / fontSizeScale; + scaledY = 0; + } + + if (font.remeasure && width > 0) { + var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale; + + if (width < measuredWidth && this.isFontSubpixelAAEnabled) { + var characterScaleX = width / measuredWidth; + restoreNeeded = true; + ctx.save(); + ctx.scale(characterScaleX, 1); + scaledX /= characterScaleX; + } else if (width !== measuredWidth) { + scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale; + } + } + + if (this.contentVisible && (glyph.isInFont || font.missingFile)) { + if (simpleFillText && !accent) { + ctx.fillText(character, scaledX, scaledY); + } else { + this.paintChar(character, scaledX, scaledY, patternTransform); + + if (accent) { + var scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale; + var scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale; + this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform); + } + } + } + + var charWidth = void 0; + + if (vertical) { + charWidth = width * widthAdvanceScale - spacing * fontDirection; + } else { + charWidth = width * widthAdvanceScale + spacing * fontDirection; + } + + x += charWidth; + + if (restoreNeeded) { + ctx.restore(); + } + } + + if (vertical) { + current.y -= x; + } else { + current.x += x * textHScale; + } + + ctx.restore(); + this.compose(); + return undefined; + } + }, { + key: "showType3Text", + value: function showType3Text(glyphs) { + var ctx = this.ctx; + var current = this.current; + var font = current.font; + var fontSize = current.fontSize; + var fontDirection = current.fontDirection; + var spacingDir = font.vertical ? 1 : -1; + var charSpacing = current.charSpacing; + var wordSpacing = current.wordSpacing; + var textHScale = current.textHScale * fontDirection; + var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX; + var glyphsLength = glyphs.length; + var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE; + var i, glyph, width, spacingLength; + + if (isTextInvisible || fontSize === 0) { + return; + } + + this._cachedScaleForStroking = null; + this._cachedGetSinglePixelWidth = null; + ctx.save(); + ctx.transform.apply(ctx, current.textMatrix); + ctx.translate(current.x, current.y); + ctx.scale(textHScale, fontDirection); + + for (i = 0; i < glyphsLength; ++i) { + glyph = glyphs[i]; + + if (typeof glyph === "number") { + spacingLength = spacingDir * glyph * fontSize / 1000; + this.ctx.translate(spacingLength, 0); + current.x += spacingLength * textHScale; + continue; + } + + var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; + var operatorList = font.charProcOperatorList[glyph.operatorListId]; + + if (!operatorList) { + (0, _util.warn)("Type3 character \"".concat(glyph.operatorListId, "\" is not available.")); + continue; + } + + if (this.contentVisible) { + this.processingType3 = glyph; + this.save(); + ctx.scale(fontSize, fontSize); + ctx.transform.apply(ctx, fontMatrix); + this.executeOperatorList(operatorList); + this.restore(); + } + + var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix); + + width = transformed[0] * fontSize + spacing; + ctx.translate(width, 0); + current.x += width * textHScale; + } + + ctx.restore(); + this.processingType3 = null; + } + }, { + key: "setCharWidth", + value: function setCharWidth(xWidth, yWidth) {} + }, { + key: "setCharWidthAndBounds", + value: function setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) { + this.ctx.rect(llx, lly, urx - llx, ury - lly); + this.clip(); + this.endPath(); + } + }, { + key: "getColorN_Pattern", + value: function getColorN_Pattern(IR) { + var _this = this; + + var pattern; + + if (IR[0] === "TilingPattern") { + var color = IR[1]; + var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice(); + var canvasGraphicsFactory = { + createCanvasGraphics: function createCanvasGraphics(ctx) { + return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory); + } + }; + pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform); + } else { + pattern = this._getPattern(IR[1], IR[2]); + } + + return pattern; + } + }, { + key: "setStrokeColorN", + value: function setStrokeColorN() { + this.current.strokeColor = this.getColorN_Pattern(arguments); + } + }, { + key: "setFillColorN", + value: function setFillColorN() { + this.current.fillColor = this.getColorN_Pattern(arguments); + this.current.patternFill = true; + } + }, { + key: "setStrokeRGBColor", + value: function setStrokeRGBColor(r, g, b) { + var color = _util.Util.makeHexColor(r, g, b); + + this.ctx.strokeStyle = color; + this.current.strokeColor = color; + } + }, { + key: "setFillRGBColor", + value: function setFillRGBColor(r, g, b) { + var color = _util.Util.makeHexColor(r, g, b); + + this.ctx.fillStyle = color; + this.current.fillColor = color; + this.current.patternFill = false; + } + }, { + key: "_getPattern", + value: function _getPattern(objId) { + var matrix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var pattern; + + if (this.cachedPatterns.has(objId)) { + pattern = this.cachedPatterns.get(objId); + } else { + pattern = (0, _pattern_helper.getShadingPattern)(this.objs.get(objId)); + this.cachedPatterns.set(objId, pattern); + } + + if (matrix) { + pattern.matrix = matrix; + } + + return pattern; + } + }, { + key: "shadingFill", + value: function shadingFill(objId) { + if (!this.contentVisible) { + return; + } + + var ctx = this.ctx; + this.save(); + + var pattern = this._getPattern(objId); + + ctx.fillStyle = pattern.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.SHADING); + var inv = ctx.mozCurrentTransformInverse; + + if (inv) { + var canvas = ctx.canvas; + var width = canvas.width; + var height = canvas.height; + + var bl = _util.Util.applyTransform([0, 0], inv); + + var br = _util.Util.applyTransform([0, height], inv); + + var ul = _util.Util.applyTransform([width, 0], inv); + + var ur = _util.Util.applyTransform([width, height], inv); + + var x0 = Math.min(bl[0], br[0], ul[0], ur[0]); + var y0 = Math.min(bl[1], br[1], ul[1], ur[1]); + var x1 = Math.max(bl[0], br[0], ul[0], ur[0]); + var y1 = Math.max(bl[1], br[1], ul[1], ur[1]); + this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0); + } else { + this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10); + } + + this.compose(this.current.getClippedPathBoundingBox()); + this.restore(); + } + }, { + key: "beginInlineImage", + value: function beginInlineImage() { + (0, _util.unreachable)("Should not call beginInlineImage"); + } + }, { + key: "beginImageData", + value: function beginImageData() { + (0, _util.unreachable)("Should not call beginImageData"); + } + }, { + key: "paintFormXObjectBegin", + value: function paintFormXObjectBegin(matrix, bbox) { + if (!this.contentVisible) { + return; + } + + this.save(); + this.baseTransformStack.push(this.baseTransform); + + if (Array.isArray(matrix) && matrix.length === 6) { + this.transform.apply(this, matrix); + } + + this.baseTransform = this.ctx.mozCurrentTransform; + + if (bbox) { + var width = bbox[2] - bbox[0]; + var height = bbox[3] - bbox[1]; + this.ctx.rect(bbox[0], bbox[1], width, height); + this.current.updatePathMinMax(this.ctx.mozCurrentTransform, bbox[0], bbox[1]); + this.current.updatePathMinMax(this.ctx.mozCurrentTransform, bbox[2], bbox[3]); + this.clip(); + this.endPath(); + } + } + }, { + key: "paintFormXObjectEnd", + value: function paintFormXObjectEnd() { + if (!this.contentVisible) { + return; + } + + this.restore(); + this.baseTransform = this.baseTransformStack.pop(); + } + }, { + key: "beginGroup", + value: function beginGroup(group) { + if (!this.contentVisible) { + return; + } + + this.save(); + + if (this.inSMaskMode) { + this.endSMaskMode(); + this.current.activeSMask = null; + } + + var currentCtx = this.ctx; + + if (!group.isolated) { + (0, _util.info)("TODO: Support non-isolated groups."); + } + + if (group.knockout) { + (0, _util.warn)("Knockout groups not supported."); + } + + var currentTransform = currentCtx.mozCurrentTransform; + + if (group.matrix) { + currentCtx.transform.apply(currentCtx, group.matrix); + } + + if (!group.bbox) { + throw new Error("Bounding box is required."); + } + + var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform); + + var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height]; + bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0]; + var offsetX = Math.floor(bounds[0]); + var offsetY = Math.floor(bounds[1]); + var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1); + var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1); + var scaleX = 1, + scaleY = 1; + + if (drawnWidth > MAX_GROUP_SIZE) { + scaleX = drawnWidth / MAX_GROUP_SIZE; + drawnWidth = MAX_GROUP_SIZE; + } + + if (drawnHeight > MAX_GROUP_SIZE) { + scaleY = drawnHeight / MAX_GROUP_SIZE; + drawnHeight = MAX_GROUP_SIZE; + } + + this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]); + var cacheId = "groupAt" + this.groupLevel; + + if (group.smask) { + cacheId += "_smask_" + this.smaskCounter++ % 2; + } + + var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true); + var groupCtx = scratchCanvas.context; + groupCtx.scale(1 / scaleX, 1 / scaleY); + groupCtx.translate(-offsetX, -offsetY); + groupCtx.transform.apply(groupCtx, currentTransform); + + if (group.smask) { + this.smaskStack.push({ + canvas: scratchCanvas.canvas, + context: groupCtx, + offsetX: offsetX, + offsetY: offsetY, + scaleX: scaleX, + scaleY: scaleY, + subtype: group.smask.subtype, + backdrop: group.smask.backdrop, + transferMap: group.smask.transferMap || null, + startTransformInverse: null + }); + } else { + currentCtx.setTransform(1, 0, 0, 1, 0, 0); + currentCtx.translate(offsetX, offsetY); + currentCtx.scale(scaleX, scaleY); + currentCtx.save(); + } + + copyCtxState(currentCtx, groupCtx); + this.ctx = groupCtx; + this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]); + this.groupStack.push(currentCtx); + this.groupLevel++; + } + }, { + key: "endGroup", + value: function endGroup(group) { + if (!this.contentVisible) { + return; + } + + this.groupLevel--; + var groupCtx = this.ctx; + var ctx = this.groupStack.pop(); + this.ctx = ctx; + this.ctx.imageSmoothingEnabled = false; + + if (group.smask) { + this.tempSMask = this.smaskStack.pop(); + this.restore(); + } else { + this.ctx.restore(); + var currentMtx = this.ctx.mozCurrentTransform; + this.restore(); + this.ctx.save(); + this.ctx.setTransform.apply(this.ctx, currentMtx); + + var dirtyBox = _util.Util.getAxialAlignedBoundingBox([0, 0, groupCtx.canvas.width, groupCtx.canvas.height], currentMtx); + + this.ctx.drawImage(groupCtx.canvas, 0, 0); + this.ctx.restore(); + this.compose(dirtyBox); + } + } + }, { + key: "beginAnnotations", + value: function beginAnnotations() { + this.save(); + + if (this.baseTransform) { + this.ctx.setTransform.apply(this.ctx, this.baseTransform); + } + } + }, { + key: "endAnnotations", + value: function endAnnotations() { + this.restore(); + } + }, { + key: "beginAnnotation", + value: function beginAnnotation(id, rect, transform, matrix, hasOwnCanvas) { + this.save(); + + if (Array.isArray(rect) && rect.length === 4) { + var width = rect[2] - rect[0]; + var height = rect[3] - rect[1]; + + if (hasOwnCanvas && this.annotationCanvasMap) { + transform = transform.slice(); + transform[4] -= rect[0]; + transform[5] -= rect[1]; + rect = rect.slice(); + rect[0] = rect[1] = 0; + rect[2] = width; + rect[3] = height; + + var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(this.ctx.mozCurrentTransform), + _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2), + scaleX = _Util$singularValueDe2[0], + scaleY = _Util$singularValueDe2[1]; + + var viewportScale = this.viewportScale; + var canvasWidth = Math.ceil(width * this.outputScaleX * viewportScale); + var canvasHeight = Math.ceil(height * this.outputScaleY * viewportScale); + this.annotationCanvas = this.canvasFactory.create(canvasWidth, canvasHeight); + var _this$annotationCanva = this.annotationCanvas, + canvas = _this$annotationCanva.canvas, + context = _this$annotationCanva.context; + canvas.style.width = "calc(".concat(width, "px * var(--viewport-scale-factor))"); + canvas.style.height = "calc(".concat(height, "px * var(--viewport-scale-factor))"); + this.annotationCanvasMap.set(id, canvas); + this.annotationCanvas.savedCtx = this.ctx; + this.ctx = context; + this.ctx.setTransform(scaleX, 0, 0, -scaleY, 0, height * scaleY); + addContextCurrentTransform(this.ctx); + resetCtxToDefault(this.ctx); + } else { + resetCtxToDefault(this.ctx); + this.ctx.rect(rect[0], rect[1], width, height); + this.clip(); + this.endPath(); + } + } + + this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height); + this.transform.apply(this, transform); + this.transform.apply(this, matrix); + } + }, { + key: "endAnnotation", + value: function endAnnotation() { + if (this.annotationCanvas) { + this.ctx = this.annotationCanvas.savedCtx; + delete this.annotationCanvas.savedCtx; + delete this.annotationCanvas; + } + + this.restore(); + } + }, { + key: "paintImageMaskXObject", + value: function paintImageMaskXObject(img) { + if (!this.contentVisible) { + return; + } + + var ctx = this.ctx; + var width = img.width, + height = img.height; + var glyph = this.processingType3; + + if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) { + if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) { + glyph.compiled = compileType3Glyph({ + data: img.data, + width: width, + height: height + }); + } else { + glyph.compiled = null; + } + } + + if (glyph !== null && glyph !== void 0 && glyph.compiled) { + glyph.compiled(ctx); + return; + } + + var mask = this._createMaskCanvas(img); + + var maskCanvas = mask.canvas; + ctx.save(); + ctx.setTransform(1, 0, 0, 1, 0, 0); + ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY); + ctx.restore(); + this.compose(); + } + }, { + key: "paintImageMaskXObjectRepeat", + value: function paintImageMaskXObjectRepeat(imgData, scaleX) { + var skewX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; + var skewY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; + var scaleY = arguments.length > 4 ? arguments[4] : undefined; + var positions = arguments.length > 5 ? arguments[5] : undefined; + + if (!this.contentVisible) { + return; + } + + var ctx = this.ctx; + ctx.save(); + var currentTransform = ctx.mozCurrentTransform; + ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0); + + var mask = this._createMaskCanvas(imgData); + + ctx.setTransform(1, 0, 0, 1, 0, 0); + + for (var i = 0, ii = positions.length; i < ii; i += 2) { + var trans = _util.Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]); + + var _Util$applyTransform3 = _util.Util.applyTransform([0, 0], trans), + _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2), + x = _Util$applyTransform4[0], + y = _Util$applyTransform4[1]; + + ctx.drawImage(mask.canvas, x, y); + } + + ctx.restore(); + this.compose(); + } + }, { + key: "paintImageMaskXObjectGroup", + value: function paintImageMaskXObjectGroup(images) { + if (!this.contentVisible) { + return; + } + + var ctx = this.ctx; + var fillColor = this.current.fillColor; + var isPatternFill = this.current.patternFill; + + for (var i = 0, ii = images.length; i < ii; i++) { + var image = images[i]; + var width = image.width, + height = image.height; + var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height); + var maskCtx = maskCanvas.context; + maskCtx.save(); + putBinaryImageMask(maskCtx, image); + maskCtx.globalCompositeOperation = "source-in"; + maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL) : fillColor; + maskCtx.fillRect(0, 0, width, height); + maskCtx.restore(); + ctx.save(); + ctx.transform.apply(ctx, image.transform); + ctx.scale(1, -1); + ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1); + ctx.restore(); + } + + this.compose(); + } + }, { + key: "paintImageXObject", + value: function paintImageXObject(objId) { + if (!this.contentVisible) { + return; + } + + var imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId); + + if (!imgData) { + (0, _util.warn)("Dependent image isn't ready yet"); + return; + } + + this.paintInlineImageXObject(imgData); + } + }, { + key: "paintImageXObjectRepeat", + value: function paintImageXObjectRepeat(objId, scaleX, scaleY, positions) { + if (!this.contentVisible) { + return; + } + + var imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId); + + if (!imgData) { + (0, _util.warn)("Dependent image isn't ready yet"); + return; + } + + var width = imgData.width; + var height = imgData.height; + var map = []; + + for (var i = 0, ii = positions.length; i < ii; i += 2) { + map.push({ + transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]], + x: 0, + y: 0, + w: width, + h: height + }); + } + + this.paintInlineImageXObjectGroup(imgData, map); + } + }, { + key: "paintInlineImageXObject", + value: function paintInlineImageXObject(imgData) { + if (!this.contentVisible) { + return; + } + + var width = imgData.width; + var height = imgData.height; + var ctx = this.ctx; + this.save(); + ctx.scale(1 / width, -1 / height); + var imgToPaint; + + if (typeof HTMLElement === "function" && imgData instanceof HTMLElement || !imgData.data) { + imgToPaint = imgData; + } else { + var tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height); + var tmpCtx = tmpCanvas.context; + putBinaryImageData(tmpCtx, imgData, this.current.transferMaps); + imgToPaint = tmpCanvas.canvas; + } + + var scaled = this._scaleImage(imgToPaint, ctx.mozCurrentTransformInverse); + + ctx.imageSmoothingEnabled = getImageSmoothingEnabled(ctx.mozCurrentTransform, imgData.interpolate); + ctx.drawImage(scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height); + + if (this.imageLayer) { + var position = this.getCanvasPosition(0, -height); + this.imageLayer.appendImage({ + imgData: imgData, + left: position[0], + top: position[1], + width: width / ctx.mozCurrentTransformInverse[0], + height: height / ctx.mozCurrentTransformInverse[3] + }); + } + + this.compose(); + this.restore(); + } + }, { + key: "paintInlineImageXObjectGroup", + value: function paintInlineImageXObjectGroup(imgData, map) { + if (!this.contentVisible) { + return; + } + + var ctx = this.ctx; + var w = imgData.width; + var h = imgData.height; + var tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", w, h); + var tmpCtx = tmpCanvas.context; + putBinaryImageData(tmpCtx, imgData, this.current.transferMaps); + + for (var i = 0, ii = map.length; i < ii; i++) { + var entry = map[i]; + ctx.save(); + ctx.transform.apply(ctx, entry.transform); + ctx.scale(1, -1); + ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1); + + if (this.imageLayer) { + var position = this.getCanvasPosition(entry.x, entry.y); + this.imageLayer.appendImage({ + imgData: imgData, + left: position[0], + top: position[1], + width: w, + height: h + }); + } + + ctx.restore(); + } + + this.compose(); + } + }, { + key: "paintSolidColorImageMask", + value: function paintSolidColorImageMask() { + if (!this.contentVisible) { + return; + } + + this.ctx.fillRect(0, 0, 1, 1); + this.compose(); + } + }, { + key: "markPoint", + value: function markPoint(tag) {} + }, { + key: "markPointProps", + value: function markPointProps(tag, properties) {} + }, { + key: "beginMarkedContent", + value: function beginMarkedContent(tag) { + this.markedContentStack.push({ + visible: true + }); + } + }, { + key: "beginMarkedContentProps", + value: function beginMarkedContentProps(tag, properties) { + if (tag === "OC") { + this.markedContentStack.push({ + visible: this.optionalContentConfig.isVisible(properties) + }); + } else { + this.markedContentStack.push({ + visible: true + }); + } + + this.contentVisible = this.isContentVisible(); + } + }, { + key: "endMarkedContent", + value: function endMarkedContent() { + this.markedContentStack.pop(); + this.contentVisible = this.isContentVisible(); + } + }, { + key: "beginCompat", + value: function beginCompat() {} + }, { + key: "endCompat", + value: function endCompat() {} + }, { + key: "consumePath", + value: function consumePath(clipBox) { + if (this.pendingClip) { + this.current.updateClipFromPath(); + } + + if (!this.pendingClip) { + this.compose(clipBox); + } + + var ctx = this.ctx; + + if (this.pendingClip) { + if (this.pendingClip === EO_CLIP) { + ctx.clip("evenodd"); + } else { + ctx.clip(); + } + + this.pendingClip = null; + } + + this.current.startNewPathAndClipBox(this.current.clipBox); + ctx.beginPath(); + } + }, { + key: "getSinglePixelWidth", + value: function getSinglePixelWidth() { + if (!this._cachedGetSinglePixelWidth) { + var m = this.ctx.mozCurrentTransform; + + if (m[1] === 0 && m[2] === 0) { + this._cachedGetSinglePixelWidth = 1 / Math.min(Math.abs(m[0]), Math.abs(m[3])); + } else { + var absDet = Math.abs(m[0] * m[3] - m[2] * m[1]); + var normX = Math.hypot(m[0], m[2]); + var normY = Math.hypot(m[1], m[3]); + this._cachedGetSinglePixelWidth = Math.max(normX, normY) / absDet; + } + } + + return this._cachedGetSinglePixelWidth; + } + }, { + key: "getScaleForStroking", + value: function getScaleForStroking() { + if (!this._cachedScaleForStroking) { + var lineWidth = this.current.lineWidth; + var m = this.ctx.mozCurrentTransform; + var scaleX, scaleY; + + if (m[1] === 0 && m[2] === 0) { + var normX = Math.abs(m[0]); + var normY = Math.abs(m[3]); + + if (lineWidth === 0) { + scaleX = 1 / normX; + scaleY = 1 / normY; + } else { + var scaledXLineWidth = normX * lineWidth; + var scaledYLineWidth = normY * lineWidth; + scaleX = scaledXLineWidth < 1 ? 1 / scaledXLineWidth : 1; + scaleY = scaledYLineWidth < 1 ? 1 / scaledYLineWidth : 1; + } + } else { + var absDet = Math.abs(m[0] * m[3] - m[2] * m[1]); + + var _normX = Math.hypot(m[0], m[1]); + + var _normY = Math.hypot(m[2], m[3]); + + if (lineWidth === 0) { + scaleX = _normY / absDet; + scaleY = _normX / absDet; + } else { + var baseArea = lineWidth * absDet; + scaleX = _normY > baseArea ? _normY / baseArea : 1; + scaleY = _normX > baseArea ? _normX / baseArea : 1; + } + } + + this._cachedScaleForStroking = [scaleX, scaleY]; + } + + return this._cachedScaleForStroking; + } + }, { + key: "rescaleAndStroke", + value: function rescaleAndStroke(saveRestore) { + var ctx = this.ctx; + var lineWidth = this.current.lineWidth; + + var _this$getScaleForStro = this.getScaleForStroking(), + _this$getScaleForStro2 = _slicedToArray(_this$getScaleForStro, 2), + scaleX = _this$getScaleForStro2[0], + scaleY = _this$getScaleForStro2[1]; + + ctx.lineWidth = lineWidth || 1; + + if (scaleX === 1 && scaleY === 1) { + ctx.stroke(); + return; + } + + var savedMatrix, savedDashes, savedDashOffset; + + if (saveRestore) { + savedMatrix = ctx.mozCurrentTransform.slice(); + savedDashes = ctx.getLineDash().slice(); + savedDashOffset = ctx.lineDashOffset; + } + + ctx.scale(scaleX, scaleY); + var scale = Math.max(scaleX, scaleY); + ctx.setLineDash(ctx.getLineDash().map(function (x) { + return x / scale; + })); + ctx.lineDashOffset /= scale; + ctx.stroke(); + + if (saveRestore) { + ctx.setTransform.apply(ctx, _toConsumableArray(savedMatrix)); + ctx.setLineDash(savedDashes); + ctx.lineDashOffset = savedDashOffset; + } + } + }, { + key: "getCanvasPosition", + value: function getCanvasPosition(x, y) { + var transform = this.ctx.mozCurrentTransform; + return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]]; + } + }, { + key: "isContentVisible", + value: function isContentVisible() { + for (var i = this.markedContentStack.length - 1; i >= 0; i--) { + if (!this.markedContentStack[i].visible) { + return false; + } + } + + return true; + } + }]); + + return CanvasGraphics; +}(); + +exports.CanvasGraphics = CanvasGraphics; + +for (var op in _util.OPS) { + if (CanvasGraphics.prototype[op] !== undefined) { + CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op]; + } +} + +/***/ }), +/* 152 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.TilingPattern = exports.PathType = void 0; +exports.getShadingPattern = getShadingPattern; + +var _util = __w_pdfjs_require__(1); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var PathType = { + FILL: "Fill", + STROKE: "Stroke", + SHADING: "Shading" +}; +exports.PathType = PathType; + +function applyBoundingBox(ctx, bbox) { + if (!bbox || typeof Path2D === "undefined") { + return; + } + + var width = bbox[2] - bbox[0]; + var height = bbox[3] - bbox[1]; + var region = new Path2D(); + region.rect(bbox[0], bbox[1], width, height); + ctx.clip(region); +} + +var BaseShadingPattern = /*#__PURE__*/function () { + function BaseShadingPattern() { + _classCallCheck(this, BaseShadingPattern); + + if (this.constructor === BaseShadingPattern) { + (0, _util.unreachable)("Cannot initialize BaseShadingPattern."); + } + } + + _createClass(BaseShadingPattern, [{ + key: "getPattern", + value: function getPattern() { + (0, _util.unreachable)("Abstract method `getPattern` called."); + } + }]); + + return BaseShadingPattern; +}(); + +var RadialAxialShadingPattern = /*#__PURE__*/function (_BaseShadingPattern) { + _inherits(RadialAxialShadingPattern, _BaseShadingPattern); + + var _super = _createSuper(RadialAxialShadingPattern); + + function RadialAxialShadingPattern(IR) { + var _this; + + _classCallCheck(this, RadialAxialShadingPattern); + + _this = _super.call(this); + _this._type = IR[1]; + _this._bbox = IR[2]; + _this._colorStops = IR[3]; + _this._p0 = IR[4]; + _this._p1 = IR[5]; + _this._r0 = IR[6]; + _this._r1 = IR[7]; + _this.matrix = null; + return _this; + } + + _createClass(RadialAxialShadingPattern, [{ + key: "_createGradient", + value: function _createGradient(ctx) { + var grad; + + if (this._type === "axial") { + grad = ctx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]); + } else if (this._type === "radial") { + grad = ctx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1); + } + + var _iterator = _createForOfIteratorHelper(this._colorStops), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var colorStop = _step.value; + grad.addColorStop(colorStop[0], colorStop[1]); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + return grad; + } + }, { + key: "getPattern", + value: function getPattern(ctx, owner, inverse, pathType) { + var pattern; + + if (pathType === PathType.STROKE || pathType === PathType.FILL) { + var ownerBBox = owner.current.getClippedPathBoundingBox(pathType, ctx.mozCurrentTransform) || [0, 0, 0, 0]; + var width = Math.ceil(ownerBBox[2] - ownerBBox[0]) || 1; + var height = Math.ceil(ownerBBox[3] - ownerBBox[1]) || 1; + var tmpCanvas = owner.cachedCanvases.getCanvas("pattern", width, height, true); + var tmpCtx = tmpCanvas.context; + tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height); + tmpCtx.beginPath(); + tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height); + tmpCtx.translate(-ownerBBox[0], -ownerBBox[1]); + inverse = _util.Util.transform(inverse, [1, 0, 0, 1, ownerBBox[0], ownerBBox[1]]); + tmpCtx.transform.apply(tmpCtx, owner.baseTransform); + + if (this.matrix) { + tmpCtx.transform.apply(tmpCtx, this.matrix); + } + + applyBoundingBox(tmpCtx, this._bbox); + tmpCtx.fillStyle = this._createGradient(tmpCtx); + tmpCtx.fill(); + pattern = ctx.createPattern(tmpCanvas.canvas, "no-repeat"); + var domMatrix = new DOMMatrix(inverse); + + try { + pattern.setTransform(domMatrix); + } catch (ex) { + (0, _util.warn)("RadialAxialShadingPattern.getPattern: \"".concat(ex === null || ex === void 0 ? void 0 : ex.message, "\".")); + } + } else { + applyBoundingBox(ctx, this._bbox); + pattern = this._createGradient(ctx); + } + + return pattern; + } + }]); + + return RadialAxialShadingPattern; +}(BaseShadingPattern); + +function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) { + var coords = context.coords, + colors = context.colors; + var bytes = data.data, + rowSize = data.width * 4; + var tmp; + + if (coords[p1 + 1] > coords[p2 + 1]) { + tmp = p1; + p1 = p2; + p2 = tmp; + tmp = c1; + c1 = c2; + c2 = tmp; + } + + if (coords[p2 + 1] > coords[p3 + 1]) { + tmp = p2; + p2 = p3; + p3 = tmp; + tmp = c2; + c2 = c3; + c3 = tmp; + } + + if (coords[p1 + 1] > coords[p2 + 1]) { + tmp = p1; + p1 = p2; + p2 = tmp; + tmp = c1; + c1 = c2; + c2 = tmp; + } + + var x1 = (coords[p1] + context.offsetX) * context.scaleX; + var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY; + var x2 = (coords[p2] + context.offsetX) * context.scaleX; + var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY; + var x3 = (coords[p3] + context.offsetX) * context.scaleX; + var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY; + + if (y1 >= y3) { + return; + } + + var c1r = colors[c1], + c1g = colors[c1 + 1], + c1b = colors[c1 + 2]; + var c2r = colors[c2], + c2g = colors[c2 + 1], + c2b = colors[c2 + 2]; + var c3r = colors[c3], + c3g = colors[c3 + 1], + c3b = colors[c3 + 2]; + var minY = Math.round(y1), + maxY = Math.round(y3); + var xa, car, cag, cab; + var xb, cbr, cbg, cbb; + + for (var y = minY; y <= maxY; y++) { + if (y < y2) { + var _k = void 0; + + if (y < y1) { + _k = 0; + } else { + _k = (y1 - y) / (y1 - y2); + } + + xa = x1 - (x1 - x2) * _k; + car = c1r - (c1r - c2r) * _k; + cag = c1g - (c1g - c2g) * _k; + cab = c1b - (c1b - c2b) * _k; + } else { + var _k2 = void 0; + + if (y > y3) { + _k2 = 1; + } else if (y2 === y3) { + _k2 = 0; + } else { + _k2 = (y2 - y) / (y2 - y3); + } + + xa = x2 - (x2 - x3) * _k2; + car = c2r - (c2r - c3r) * _k2; + cag = c2g - (c2g - c3g) * _k2; + cab = c2b - (c2b - c3b) * _k2; + } + + var k = void 0; + + if (y < y1) { + k = 0; + } else if (y > y3) { + k = 1; + } else { + k = (y1 - y) / (y1 - y3); + } + + xb = x1 - (x1 - x3) * k; + cbr = c1r - (c1r - c3r) * k; + cbg = c1g - (c1g - c3g) * k; + cbb = c1b - (c1b - c3b) * k; + var x1_ = Math.round(Math.min(xa, xb)); + var x2_ = Math.round(Math.max(xa, xb)); + var j = rowSize * y + x1_ * 4; + + for (var x = x1_; x <= x2_; x++) { + k = (xa - x) / (xa - xb); + + if (k < 0) { + k = 0; + } else if (k > 1) { + k = 1; + } + + bytes[j++] = car - (car - cbr) * k | 0; + bytes[j++] = cag - (cag - cbg) * k | 0; + bytes[j++] = cab - (cab - cbb) * k | 0; + bytes[j++] = 255; + } + } +} + +function drawFigure(data, figure, context) { + var ps = figure.coords; + var cs = figure.colors; + var i, ii; + + switch (figure.type) { + case "lattice": + var verticesPerRow = figure.verticesPerRow; + var rows = Math.floor(ps.length / verticesPerRow) - 1; + var cols = verticesPerRow - 1; + + for (i = 0; i < rows; i++) { + var q = i * verticesPerRow; + + for (var j = 0; j < cols; j++, q++) { + drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]); + drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]); + } + } + + break; + + case "triangles": + for (i = 0, ii = ps.length; i < ii; i += 3) { + drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]); + } + + break; + + default: + throw new Error("illegal figure"); + } +} + +var MeshShadingPattern = /*#__PURE__*/function (_BaseShadingPattern2) { + _inherits(MeshShadingPattern, _BaseShadingPattern2); + + var _super2 = _createSuper(MeshShadingPattern); + + function MeshShadingPattern(IR) { + var _this2; + + _classCallCheck(this, MeshShadingPattern); + + _this2 = _super2.call(this); + _this2._coords = IR[2]; + _this2._colors = IR[3]; + _this2._figures = IR[4]; + _this2._bounds = IR[5]; + _this2._bbox = IR[7]; + _this2._background = IR[8]; + _this2.matrix = null; + return _this2; + } + + _createClass(MeshShadingPattern, [{ + key: "_createMeshCanvas", + value: function _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) { + var EXPECTED_SCALE = 1.1; + var MAX_PATTERN_SIZE = 3000; + var BORDER_SIZE = 2; + var offsetX = Math.floor(this._bounds[0]); + var offsetY = Math.floor(this._bounds[1]); + var boundsWidth = Math.ceil(this._bounds[2]) - offsetX; + var boundsHeight = Math.ceil(this._bounds[3]) - offsetY; + var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE); + var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE); + var scaleX = boundsWidth / width; + var scaleY = boundsHeight / height; + var context = { + coords: this._coords, + colors: this._colors, + offsetX: -offsetX, + offsetY: -offsetY, + scaleX: 1 / scaleX, + scaleY: 1 / scaleY + }; + var paddedWidth = width + BORDER_SIZE * 2; + var paddedHeight = height + BORDER_SIZE * 2; + var tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false); + var tmpCtx = tmpCanvas.context; + var data = tmpCtx.createImageData(width, height); + + if (backgroundColor) { + var bytes = data.data; + + for (var i = 0, ii = bytes.length; i < ii; i += 4) { + bytes[i] = backgroundColor[0]; + bytes[i + 1] = backgroundColor[1]; + bytes[i + 2] = backgroundColor[2]; + bytes[i + 3] = 255; + } + } + + var _iterator2 = _createForOfIteratorHelper(this._figures), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var figure = _step2.value; + drawFigure(data, figure, context); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE); + var canvas = tmpCanvas.canvas; + return { + canvas: canvas, + offsetX: offsetX - BORDER_SIZE * scaleX, + offsetY: offsetY - BORDER_SIZE * scaleY, + scaleX: scaleX, + scaleY: scaleY + }; + } + }, { + key: "getPattern", + value: function getPattern(ctx, owner, inverse, pathType) { + applyBoundingBox(ctx, this._bbox); + var scale; + + if (pathType === PathType.SHADING) { + scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform); + } else { + scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform); + + if (this.matrix) { + var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix); + + scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]]; + } + } + + var temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases); + + if (pathType !== PathType.SHADING) { + ctx.setTransform.apply(ctx, owner.baseTransform); + + if (this.matrix) { + ctx.transform.apply(ctx, this.matrix); + } + } + + ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY); + ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY); + return ctx.createPattern(temporaryPatternCanvas.canvas, "no-repeat"); + } + }]); + + return MeshShadingPattern; +}(BaseShadingPattern); + +var DummyShadingPattern = /*#__PURE__*/function (_BaseShadingPattern3) { + _inherits(DummyShadingPattern, _BaseShadingPattern3); + + var _super3 = _createSuper(DummyShadingPattern); + + function DummyShadingPattern() { + _classCallCheck(this, DummyShadingPattern); + + return _super3.apply(this, arguments); + } + + _createClass(DummyShadingPattern, [{ + key: "getPattern", + value: function getPattern() { + return "hotpink"; + } + }]); + + return DummyShadingPattern; +}(BaseShadingPattern); + +function getShadingPattern(IR) { + switch (IR[0]) { + case "RadialAxial": + return new RadialAxialShadingPattern(IR); + + case "Mesh": + return new MeshShadingPattern(IR); + + case "Dummy": + return new DummyShadingPattern(); + } + + throw new Error("Unknown IR type: ".concat(IR[0])); +} + +var PaintType = { + COLORED: 1, + UNCOLORED: 2 +}; + +var TilingPattern = /*#__PURE__*/function () { + function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) { + _classCallCheck(this, TilingPattern); + + this.operatorList = IR[2]; + this.matrix = IR[3] || [1, 0, 0, 1, 0, 0]; + this.bbox = IR[4]; + this.xstep = IR[5]; + this.ystep = IR[6]; + this.paintType = IR[7]; + this.tilingType = IR[8]; + this.color = color; + this.ctx = ctx; + this.canvasGraphicsFactory = canvasGraphicsFactory; + this.baseTransform = baseTransform; + } + + _createClass(TilingPattern, [{ + key: "createPatternCanvas", + value: function createPatternCanvas(owner) { + var operatorList = this.operatorList; + var bbox = this.bbox; + var xstep = this.xstep; + var ystep = this.ystep; + var paintType = this.paintType; + var tilingType = this.tilingType; + var color = this.color; + var canvasGraphicsFactory = this.canvasGraphicsFactory; + (0, _util.info)("TilingType: " + tilingType); + var x0 = bbox[0], + y0 = bbox[1], + x1 = bbox[2], + y1 = bbox[3]; + + var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix); + + var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform); + + var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]]; + var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]); + var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]); + var tmpCanvas = owner.cachedCanvases.getCanvas("pattern", dimx.size, dimy.size, true); + var tmpCtx = tmpCanvas.context; + var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx); + graphics.groupLevel = owner.groupLevel; + this.setFillAndStrokeStyleToContext(graphics, paintType, color); + var adjustedX0 = x0; + var adjustedY0 = y0; + var adjustedX1 = x1; + var adjustedY1 = y1; + + if (x0 < 0) { + adjustedX0 = 0; + adjustedX1 += Math.abs(x0); + } + + if (y0 < 0) { + adjustedY0 = 0; + adjustedY1 += Math.abs(y0); + } + + tmpCtx.translate(-(dimx.scale * adjustedX0), -(dimy.scale * adjustedY0)); + graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0); + tmpCtx.save(); + this.clipBbox(graphics, adjustedX0, adjustedY0, adjustedX1, adjustedY1); + graphics.baseTransform = graphics.ctx.mozCurrentTransform.slice(); + graphics.executeOperatorList(operatorList); + graphics.endDrawing(); + return { + canvas: tmpCanvas.canvas, + scaleX: dimx.scale, + scaleY: dimy.scale, + offsetX: adjustedX0, + offsetY: adjustedY0 + }; + } + }, { + key: "getSizeAndScale", + value: function getSizeAndScale(step, realOutputSize, scale) { + step = Math.abs(step); + var maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize); + var size = Math.ceil(step * scale); + + if (size >= maxSize) { + size = maxSize; + } else { + scale = size / step; + } + + return { + scale: scale, + size: size + }; + } + }, { + key: "clipBbox", + value: function clipBbox(graphics, x0, y0, x1, y1) { + var bboxWidth = x1 - x0; + var bboxHeight = y1 - y0; + graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight); + graphics.clip(); + graphics.endPath(); + } + }, { + key: "setFillAndStrokeStyleToContext", + value: function setFillAndStrokeStyleToContext(graphics, paintType, color) { + var context = graphics.ctx, + current = graphics.current; + + switch (paintType) { + case PaintType.COLORED: + var ctx = this.ctx; + context.fillStyle = ctx.fillStyle; + context.strokeStyle = ctx.strokeStyle; + current.fillColor = ctx.fillStyle; + current.strokeColor = ctx.strokeStyle; + break; + + case PaintType.UNCOLORED: + var cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]); + + context.fillStyle = cssColor; + context.strokeStyle = cssColor; + current.fillColor = cssColor; + current.strokeColor = cssColor; + break; + + default: + throw new _util.FormatError("Unsupported paint type: ".concat(paintType)); + } + } + }, { + key: "getPattern", + value: function getPattern(ctx, owner, inverse, pathType) { + var matrix = inverse; + + if (pathType !== PathType.SHADING) { + matrix = _util.Util.transform(matrix, owner.baseTransform); + + if (this.matrix) { + matrix = _util.Util.transform(matrix, this.matrix); + } + } + + var temporaryPatternCanvas = this.createPatternCanvas(owner); + var domMatrix = new DOMMatrix(matrix); + domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY); + domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY); + var pattern = ctx.createPattern(temporaryPatternCanvas.canvas, "repeat"); + + try { + pattern.setTransform(domMatrix); + } catch (ex) { + (0, _util.warn)("TilingPattern.getPattern: \"".concat(ex === null || ex === void 0 ? void 0 : ex.message, "\".")); + } + + return pattern; + } + }], [{ + key: "MAX_PATTERN_SIZE", + get: function get() { + return (0, _util.shadow)(this, "MAX_PATTERN_SIZE", 3000); + } + }]); + + return TilingPattern; +}(); + +exports.TilingPattern = TilingPattern; + +/***/ }), +/* 153 */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.GlobalWorkerOptions = void 0; +var GlobalWorkerOptions = Object.create(null); +exports.GlobalWorkerOptions = GlobalWorkerOptions; +GlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort; +GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? "" : GlobalWorkerOptions.workerSrc; + +/***/ }), +/* 154 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.MessageHandler = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); + +var _util = __w_pdfjs_require__(1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +var CallbackKind = { + UNKNOWN: 0, + DATA: 1, + ERROR: 2 +}; +var StreamKind = { + UNKNOWN: 0, + CANCEL: 1, + CANCEL_COMPLETE: 2, + CLOSE: 3, + ENQUEUE: 4, + ERROR: 5, + PULL: 6, + PULL_COMPLETE: 7, + START_COMPLETE: 8 +}; + +function wrapReason(reason) { + if (!(reason instanceof Error || _typeof(reason) === "object" && reason !== null)) { + (0, _util.unreachable)('wrapReason: Expected "reason" to be a (possibly cloned) Error.'); + } + + switch (reason.name) { + case "AbortException": + return new _util.AbortException(reason.message); + + case "MissingPDFException": + return new _util.MissingPDFException(reason.message); + + case "PasswordException": + return new _util.PasswordException(reason.message, reason.code); + + case "UnexpectedResponseException": + return new _util.UnexpectedResponseException(reason.message, reason.status); + + case "UnknownErrorException": + return new _util.UnknownErrorException(reason.message, reason.details); + + default: + return new _util.UnknownErrorException(reason.message, reason.toString()); + } +} + +var MessageHandler = /*#__PURE__*/function () { + function MessageHandler(sourceName, targetName, comObj) { + var _this = this; + + _classCallCheck(this, MessageHandler); + + this.sourceName = sourceName; + this.targetName = targetName; + this.comObj = comObj; + this.callbackId = 1; + this.streamId = 1; + this.streamSinks = Object.create(null); + this.streamControllers = Object.create(null); + this.callbackCapabilities = Object.create(null); + this.actionHandler = Object.create(null); + + this._onComObjOnMessage = function (event) { + var data = event.data; + + if (data.targetName !== _this.sourceName) { + return; + } + + if (data.stream) { + _this._processStreamMessage(data); + + return; + } + + if (data.callback) { + var callbackId = data.callbackId; + var capability = _this.callbackCapabilities[callbackId]; + + if (!capability) { + throw new Error("Cannot resolve callback ".concat(callbackId)); + } + + delete _this.callbackCapabilities[callbackId]; + + if (data.callback === CallbackKind.DATA) { + capability.resolve(data.data); + } else if (data.callback === CallbackKind.ERROR) { + capability.reject(wrapReason(data.reason)); + } else { + throw new Error("Unexpected callback case"); + } + + return; + } + + var action = _this.actionHandler[data.action]; + + if (!action) { + throw new Error("Unknown action from worker: ".concat(data.action)); + } + + if (data.callbackId) { + var cbSourceName = _this.sourceName; + var cbTargetName = data.sourceName; + new Promise(function (resolve) { + resolve(action(data.data)); + }).then(function (result) { + comObj.postMessage({ + sourceName: cbSourceName, + targetName: cbTargetName, + callback: CallbackKind.DATA, + callbackId: data.callbackId, + data: result + }); + }, function (reason) { + comObj.postMessage({ + sourceName: cbSourceName, + targetName: cbTargetName, + callback: CallbackKind.ERROR, + callbackId: data.callbackId, + reason: wrapReason(reason) + }); + }); + return; + } + + if (data.streamId) { + _this._createStreamSink(data); + + return; + } + + action(data.data); + }; + + comObj.addEventListener("message", this._onComObjOnMessage); + } + + _createClass(MessageHandler, [{ + key: "on", + value: function on(actionName, handler) { + var ah = this.actionHandler; + + if (ah[actionName]) { + throw new Error("There is already an actionName called \"".concat(actionName, "\"")); + } + + ah[actionName] = handler; + } + }, { + key: "send", + value: function send(actionName, data, transfers) { + this.comObj.postMessage({ + sourceName: this.sourceName, + targetName: this.targetName, + action: actionName, + data: data + }, transfers); + } + }, { + key: "sendWithPromise", + value: function sendWithPromise(actionName, data, transfers) { + var callbackId = this.callbackId++; + var capability = (0, _util.createPromiseCapability)(); + this.callbackCapabilities[callbackId] = capability; + + try { + this.comObj.postMessage({ + sourceName: this.sourceName, + targetName: this.targetName, + action: actionName, + callbackId: callbackId, + data: data + }, transfers); + } catch (ex) { + capability.reject(ex); + } + + return capability.promise; + } + }, { + key: "sendWithStream", + value: function sendWithStream(actionName, data, queueingStrategy, transfers) { + var _this2 = this; + + var streamId = this.streamId++, + sourceName = this.sourceName, + targetName = this.targetName, + comObj = this.comObj; + return new ReadableStream({ + start: function start(controller) { + var startCapability = (0, _util.createPromiseCapability)(); + _this2.streamControllers[streamId] = { + controller: controller, + startCall: startCapability, + pullCall: null, + cancelCall: null, + isClosed: false + }; + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + action: actionName, + streamId: streamId, + data: data, + desiredSize: controller.desiredSize + }, transfers); + return startCapability.promise; + }, + pull: function pull(controller) { + var pullCapability = (0, _util.createPromiseCapability)(); + _this2.streamControllers[streamId].pullCall = pullCapability; + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.PULL, + streamId: streamId, + desiredSize: controller.desiredSize + }); + return pullCapability.promise; + }, + cancel: function cancel(reason) { + (0, _util.assert)(reason instanceof Error, "cancel must have a valid reason"); + var cancelCapability = (0, _util.createPromiseCapability)(); + _this2.streamControllers[streamId].cancelCall = cancelCapability; + _this2.streamControllers[streamId].isClosed = true; + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.CANCEL, + streamId: streamId, + reason: wrapReason(reason) + }); + return cancelCapability.promise; + } + }, queueingStrategy); + } + }, { + key: "_createStreamSink", + value: function _createStreamSink(data) { + var streamId = data.streamId, + sourceName = this.sourceName, + targetName = data.sourceName, + comObj = this.comObj; + var self = this, + action = this.actionHandler[data.action]; + var streamSink = { + enqueue: function enqueue(chunk) { + var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + var transfers = arguments.length > 2 ? arguments[2] : undefined; + + if (this.isCancelled) { + return; + } + + var lastDesiredSize = this.desiredSize; + this.desiredSize -= size; + + if (lastDesiredSize > 0 && this.desiredSize <= 0) { + this.sinkCapability = (0, _util.createPromiseCapability)(); + this.ready = this.sinkCapability.promise; + } + + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.ENQUEUE, + streamId: streamId, + chunk: chunk + }, transfers); + }, + close: function close() { + if (this.isCancelled) { + return; + } + + this.isCancelled = true; + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.CLOSE, + streamId: streamId + }); + delete self.streamSinks[streamId]; + }, + error: function error(reason) { + (0, _util.assert)(reason instanceof Error, "error must have a valid reason"); + + if (this.isCancelled) { + return; + } + + this.isCancelled = true; + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.ERROR, + streamId: streamId, + reason: wrapReason(reason) + }); + }, + sinkCapability: (0, _util.createPromiseCapability)(), + onPull: null, + onCancel: null, + isCancelled: false, + desiredSize: data.desiredSize, + ready: null + }; + streamSink.sinkCapability.resolve(); + streamSink.ready = streamSink.sinkCapability.promise; + this.streamSinks[streamId] = streamSink; + new Promise(function (resolve) { + resolve(action(data.data, streamSink)); + }).then(function () { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.START_COMPLETE, + streamId: streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.START_COMPLETE, + streamId: streamId, + reason: wrapReason(reason) + }); + }); + } + }, { + key: "_processStreamMessage", + value: function _processStreamMessage(data) { + var streamId = data.streamId, + sourceName = this.sourceName, + targetName = data.sourceName, + comObj = this.comObj; + var streamController = this.streamControllers[streamId], + streamSink = this.streamSinks[streamId]; + + switch (data.stream) { + case StreamKind.START_COMPLETE: + if (data.success) { + streamController.startCall.resolve(); + } else { + streamController.startCall.reject(wrapReason(data.reason)); + } + + break; + + case StreamKind.PULL_COMPLETE: + if (data.success) { + streamController.pullCall.resolve(); + } else { + streamController.pullCall.reject(wrapReason(data.reason)); + } + + break; + + case StreamKind.PULL: + if (!streamSink) { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.PULL_COMPLETE, + streamId: streamId, + success: true + }); + break; + } + + if (streamSink.desiredSize <= 0 && data.desiredSize > 0) { + streamSink.sinkCapability.resolve(); + } + + streamSink.desiredSize = data.desiredSize; + new Promise(function (resolve) { + resolve(streamSink.onPull && streamSink.onPull()); + }).then(function () { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.PULL_COMPLETE, + streamId: streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.PULL_COMPLETE, + streamId: streamId, + reason: wrapReason(reason) + }); + }); + break; + + case StreamKind.ENQUEUE: + (0, _util.assert)(streamController, "enqueue should have stream controller"); + + if (streamController.isClosed) { + break; + } + + streamController.controller.enqueue(data.chunk); + break; + + case StreamKind.CLOSE: + (0, _util.assert)(streamController, "close should have stream controller"); + + if (streamController.isClosed) { + break; + } + + streamController.isClosed = true; + streamController.controller.close(); + + this._deleteStreamController(streamController, streamId); + + break; + + case StreamKind.ERROR: + (0, _util.assert)(streamController, "error should have stream controller"); + streamController.controller.error(wrapReason(data.reason)); + + this._deleteStreamController(streamController, streamId); + + break; + + case StreamKind.CANCEL_COMPLETE: + if (data.success) { + streamController.cancelCall.resolve(); + } else { + streamController.cancelCall.reject(wrapReason(data.reason)); + } + + this._deleteStreamController(streamController, streamId); + + break; + + case StreamKind.CANCEL: + if (!streamSink) { + break; + } + + new Promise(function (resolve) { + resolve(streamSink.onCancel && streamSink.onCancel(wrapReason(data.reason))); + }).then(function () { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.CANCEL_COMPLETE, + streamId: streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.CANCEL_COMPLETE, + streamId: streamId, + reason: wrapReason(reason) + }); + }); + streamSink.sinkCapability.reject(wrapReason(data.reason)); + streamSink.isCancelled = true; + delete this.streamSinks[streamId]; + break; + + default: + throw new Error("Unexpected stream case"); + } + } + }, { + key: "_deleteStreamController", + value: function () { + var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(streamController, streamId) { + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return Promise.allSettled([streamController.startCall && streamController.startCall.promise, streamController.pullCall && streamController.pullCall.promise, streamController.cancelCall && streamController.cancelCall.promise]); + + case 2: + delete this.streamControllers[streamId]; + + case 3: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function _deleteStreamController(_x, _x2) { + return _deleteStreamController2.apply(this, arguments); + } + + return _deleteStreamController; + }() + }, { + key: "destroy", + value: function destroy() { + this.comObj.removeEventListener("message", this._onComObjOnMessage); + } + }]); + + return MessageHandler; +}(); + +exports.MessageHandler = MessageHandler; + +/***/ }), +/* 155 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.Metadata = void 0; + +var _util = __w_pdfjs_require__(1); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } + +function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } + +function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } + +function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } + +function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } + +var _metadataMap = /*#__PURE__*/new WeakMap(); + +var _data = /*#__PURE__*/new WeakMap(); + +var Metadata = /*#__PURE__*/function () { + function Metadata(_ref) { + var parsedData = _ref.parsedData, + rawData = _ref.rawData; + + _classCallCheck(this, Metadata); + + _classPrivateFieldInitSpec(this, _metadataMap, { + writable: true, + value: void 0 + }); + + _classPrivateFieldInitSpec(this, _data, { + writable: true, + value: void 0 + }); + + _classPrivateFieldSet(this, _metadataMap, parsedData); + + _classPrivateFieldSet(this, _data, rawData); + } + + _createClass(Metadata, [{ + key: "getRaw", + value: function getRaw() { + return _classPrivateFieldGet(this, _data); + } + }, { + key: "get", + value: function get(name) { + var _classPrivateFieldGet2; + + return (_classPrivateFieldGet2 = _classPrivateFieldGet(this, _metadataMap).get(name)) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : null; + } + }, { + key: "getAll", + value: function getAll() { + return (0, _util.objectFromMap)(_classPrivateFieldGet(this, _metadataMap)); + } + }, { + key: "has", + value: function has(name) { + return _classPrivateFieldGet(this, _metadataMap).has(name); + } + }]); + + return Metadata; +}(); + +exports.Metadata = Metadata; + +/***/ }), +/* 156 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.OptionalContentConfig = void 0; + +var _util = __w_pdfjs_require__(1); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var OptionalContentGroup = /*#__PURE__*/_createClass(function OptionalContentGroup(name, intent) { + _classCallCheck(this, OptionalContentGroup); + + this.visible = true; + this.name = name; + this.intent = intent; +}); + +var OptionalContentConfig = /*#__PURE__*/function () { + function OptionalContentConfig(data) { + _classCallCheck(this, OptionalContentConfig); + + this.name = null; + this.creator = null; + this._order = null; + this._groups = new Map(); + + if (data === null) { + return; + } + + this.name = data.name; + this.creator = data.creator; + this._order = data.order; + + var _iterator = _createForOfIteratorHelper(data.groups), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _group = _step.value; + + this._groups.set(_group.id, new OptionalContentGroup(_group.name, _group.intent)); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + if (data.baseState === "OFF") { + var _iterator2 = _createForOfIteratorHelper(this._groups), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var group = _step2.value; + group.visible = false; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + + var _iterator3 = _createForOfIteratorHelper(data.on), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var on = _step3.value; + this._groups.get(on).visible = true; + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + var _iterator4 = _createForOfIteratorHelper(data.off), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var off = _step4.value; + this._groups.get(off).visible = false; + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + } + + _createClass(OptionalContentConfig, [{ + key: "_evaluateVisibilityExpression", + value: function _evaluateVisibilityExpression(array) { + var length = array.length; + + if (length < 2) { + return true; + } + + var operator = array[0]; + + for (var i = 1; i < length; i++) { + var element = array[i]; + var state = void 0; + + if (Array.isArray(element)) { + state = this._evaluateVisibilityExpression(element); + } else if (this._groups.has(element)) { + state = this._groups.get(element).visible; + } else { + (0, _util.warn)("Optional content group not found: ".concat(element)); + return true; + } + + switch (operator) { + case "And": + if (!state) { + return false; + } + + break; + + case "Or": + if (state) { + return true; + } + + break; + + case "Not": + return !state; + + default: + return true; + } + } + + return operator === "And"; + } + }, { + key: "isVisible", + value: function isVisible(group) { + if (this._groups.size === 0) { + return true; + } + + if (!group) { + (0, _util.warn)("Optional content group not defined."); + return true; + } + + if (group.type === "OCG") { + if (!this._groups.has(group.id)) { + (0, _util.warn)("Optional content group not found: ".concat(group.id)); + return true; + } + + return this._groups.get(group.id).visible; + } else if (group.type === "OCMD") { + if (group.expression) { + return this._evaluateVisibilityExpression(group.expression); + } + + if (!group.policy || group.policy === "AnyOn") { + var _iterator5 = _createForOfIteratorHelper(group.ids), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var id = _step5.value; + + if (!this._groups.has(id)) { + (0, _util.warn)("Optional content group not found: ".concat(id)); + return true; + } + + if (this._groups.get(id).visible) { + return true; + } + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + return false; + } else if (group.policy === "AllOn") { + var _iterator6 = _createForOfIteratorHelper(group.ids), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var _id = _step6.value; + + if (!this._groups.has(_id)) { + (0, _util.warn)("Optional content group not found: ".concat(_id)); + return true; + } + + if (!this._groups.get(_id).visible) { + return false; + } + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + return true; + } else if (group.policy === "AnyOff") { + var _iterator7 = _createForOfIteratorHelper(group.ids), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var _id2 = _step7.value; + + if (!this._groups.has(_id2)) { + (0, _util.warn)("Optional content group not found: ".concat(_id2)); + return true; + } + + if (!this._groups.get(_id2).visible) { + return true; + } + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + + return false; + } else if (group.policy === "AllOff") { + var _iterator8 = _createForOfIteratorHelper(group.ids), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var _id3 = _step8.value; + + if (!this._groups.has(_id3)) { + (0, _util.warn)("Optional content group not found: ".concat(_id3)); + return true; + } + + if (this._groups.get(_id3).visible) { + return false; + } + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + + return true; + } + + (0, _util.warn)("Unknown optional content policy ".concat(group.policy, ".")); + return true; + } + + (0, _util.warn)("Unknown group type ".concat(group.type, ".")); + return true; + } + }, { + key: "setVisibility", + value: function setVisibility(id) { + var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + + if (!this._groups.has(id)) { + (0, _util.warn)("Optional content group not found: ".concat(id)); + return; + } + + this._groups.get(id).visible = !!visible; + } + }, { + key: "getOrder", + value: function getOrder() { + if (!this._groups.size) { + return null; + } + + if (this._order) { + return this._order.slice(); + } + + return Array.from(this._groups.keys()); + } + }, { + key: "getGroups", + value: function getGroups() { + return this._groups.size > 0 ? (0, _util.objectFromMap)(this._groups) : null; + } + }, { + key: "getGroup", + value: function getGroup(id) { + return this._groups.get(id) || null; + } + }]); + + return OptionalContentConfig; +}(); + +exports.OptionalContentConfig = OptionalContentConfig; + +/***/ }), +/* 157 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFDataTransportStream = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); + +var _util = __w_pdfjs_require__(1); + +var _display_utils = __w_pdfjs_require__(146); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var PDFDataTransportStream = /*#__PURE__*/function () { + function PDFDataTransportStream(params, pdfDataRangeTransport) { + var _this = this; + + _classCallCheck(this, PDFDataTransportStream); + + (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.'); + this._queuedChunks = []; + this._progressiveDone = params.progressiveDone || false; + this._contentDispositionFilename = params.contentDispositionFilename || null; + var initialData = params.initialData; + + if ((initialData === null || initialData === void 0 ? void 0 : initialData.length) > 0) { + var buffer = new Uint8Array(initialData).buffer; + + this._queuedChunks.push(buffer); + } + + this._pdfDataRangeTransport = pdfDataRangeTransport; + this._isStreamingSupported = !params.disableStream; + this._isRangeSupported = !params.disableRange; + this._contentLength = params.length; + this._fullRequestReader = null; + this._rangeReaders = []; + + this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) { + _this._onReceiveData({ + begin: begin, + chunk: chunk + }); + }); + + this._pdfDataRangeTransport.addProgressListener(function (loaded, total) { + _this._onProgress({ + loaded: loaded, + total: total + }); + }); + + this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) { + _this._onReceiveData({ + chunk: chunk + }); + }); + + this._pdfDataRangeTransport.addProgressiveDoneListener(function () { + _this._onProgressiveDone(); + }); + + this._pdfDataRangeTransport.transportReady(); + } + + _createClass(PDFDataTransportStream, [{ + key: "_onReceiveData", + value: function _onReceiveData(args) { + var buffer = new Uint8Array(args.chunk).buffer; + + if (args.begin === undefined) { + if (this._fullRequestReader) { + this._fullRequestReader._enqueue(buffer); + } else { + this._queuedChunks.push(buffer); + } + } else { + var found = this._rangeReaders.some(function (rangeReader) { + if (rangeReader._begin !== args.begin) { + return false; + } + + rangeReader._enqueue(buffer); + + return true; + }); + + (0, _util.assert)(found, "_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found."); + } + } + }, { + key: "_progressiveDataLength", + get: function get() { + var _this$_fullRequestRea, _this$_fullRequestRea2; + + return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0; + } + }, { + key: "_onProgress", + value: function _onProgress(evt) { + if (evt.total === undefined) { + var firstReader = this._rangeReaders[0]; + + if (firstReader !== null && firstReader !== void 0 && firstReader.onProgress) { + firstReader.onProgress({ + loaded: evt.loaded + }); + } + } else { + var fullReader = this._fullRequestReader; + + if (fullReader !== null && fullReader !== void 0 && fullReader.onProgress) { + fullReader.onProgress({ + loaded: evt.loaded, + total: evt.total + }); + } + } + } + }, { + key: "_onProgressiveDone", + value: function _onProgressiveDone() { + if (this._fullRequestReader) { + this._fullRequestReader.progressiveDone(); + } + + this._progressiveDone = true; + } + }, { + key: "_removeRangeReader", + value: function _removeRangeReader(reader) { + var i = this._rangeReaders.indexOf(reader); + + if (i >= 0) { + this._rangeReaders.splice(i, 1); + } + } + }, { + key: "getFullReader", + value: function getFullReader() { + (0, _util.assert)(!this._fullRequestReader, "PDFDataTransportStream.getFullReader can only be called once."); + var queuedChunks = this._queuedChunks; + this._queuedChunks = null; + return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename); + } + }, { + key: "getRangeReader", + value: function getRangeReader(begin, end) { + if (end <= this._progressiveDataLength) { + return null; + } + + var reader = new PDFDataTransportStreamRangeReader(this, begin, end); + + this._pdfDataRangeTransport.requestDataRange(begin, end); + + this._rangeReaders.push(reader); + + return reader; + } + }, { + key: "cancelAllRequests", + value: function cancelAllRequests(reason) { + if (this._fullRequestReader) { + this._fullRequestReader.cancel(reason); + } + + var _iterator = _createForOfIteratorHelper(this._rangeReaders.slice(0)), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var reader = _step.value; + reader.cancel(reason); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + this._pdfDataRangeTransport.abort(); + } + }]); + + return PDFDataTransportStream; +}(); + +exports.PDFDataTransportStream = PDFDataTransportStream; + +var PDFDataTransportStreamReader = /*#__PURE__*/function () { + function PDFDataTransportStreamReader(stream, queuedChunks) { + var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + + _classCallCheck(this, PDFDataTransportStreamReader); + + this._stream = stream; + this._done = progressiveDone || false; + this._filename = (0, _display_utils.isPdfFile)(contentDispositionFilename) ? contentDispositionFilename : null; + this._queuedChunks = queuedChunks || []; + this._loaded = 0; + + var _iterator2 = _createForOfIteratorHelper(this._queuedChunks), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var chunk = _step2.value; + this._loaded += chunk.byteLength; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + this._requests = []; + this._headersReady = Promise.resolve(); + stream._fullRequestReader = this; + this.onProgress = null; + } + + _createClass(PDFDataTransportStreamReader, [{ + key: "_enqueue", + value: function _enqueue(chunk) { + if (this._done) { + return; + } + + if (this._requests.length > 0) { + var requestCapability = this._requests.shift(); + + requestCapability.resolve({ + value: chunk, + done: false + }); + } else { + this._queuedChunks.push(chunk); + } + + this._loaded += chunk.byteLength; + } + }, { + key: "headersReady", + get: function get() { + return this._headersReady; + } + }, { + key: "filename", + get: function get() { + return this._filename; + } + }, { + key: "isRangeSupported", + get: function get() { + return this._stream._isRangeSupported; + } + }, { + key: "isStreamingSupported", + get: function get() { + return this._stream._isStreamingSupported; + } + }, { + key: "contentLength", + get: function get() { + return this._stream._contentLength; + } + }, { + key: "read", + value: function () { + var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var chunk, requestCapability; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (!(this._queuedChunks.length > 0)) { + _context.next = 3; + break; + } + + chunk = this._queuedChunks.shift(); + return _context.abrupt("return", { + value: chunk, + done: false + }); + + case 3: + if (!this._done) { + _context.next = 5; + break; + } + + return _context.abrupt("return", { + value: undefined, + done: true + }); + + case 5: + requestCapability = (0, _util.createPromiseCapability)(); + + this._requests.push(requestCapability); + + return _context.abrupt("return", requestCapability.promise); + + case 8: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function read() { + return _read.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + this._done = true; + + var _iterator3 = _createForOfIteratorHelper(this._requests), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var requestCapability = _step3.value; + requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + this._requests.length = 0; + } + }, { + key: "progressiveDone", + value: function progressiveDone() { + if (this._done) { + return; + } + + this._done = true; + } + }]); + + return PDFDataTransportStreamReader; +}(); + +var PDFDataTransportStreamRangeReader = /*#__PURE__*/function () { + function PDFDataTransportStreamRangeReader(stream, begin, end) { + _classCallCheck(this, PDFDataTransportStreamRangeReader); + + this._stream = stream; + this._begin = begin; + this._end = end; + this._queuedChunk = null; + this._requests = []; + this._done = false; + this.onProgress = null; + } + + _createClass(PDFDataTransportStreamRangeReader, [{ + key: "_enqueue", + value: function _enqueue(chunk) { + if (this._done) { + return; + } + + if (this._requests.length === 0) { + this._queuedChunk = chunk; + } else { + var requestsCapability = this._requests.shift(); + + requestsCapability.resolve({ + value: chunk, + done: false + }); + + var _iterator4 = _createForOfIteratorHelper(this._requests), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var requestCapability = _step4.value; + requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + this._requests.length = 0; + } + + this._done = true; + + this._stream._removeRangeReader(this); + } + }, { + key: "isStreamingSupported", + get: function get() { + return false; + } + }, { + key: "read", + value: function () { + var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var chunk, requestCapability; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (!this._queuedChunk) { + _context2.next = 4; + break; + } + + chunk = this._queuedChunk; + this._queuedChunk = null; + return _context2.abrupt("return", { + value: chunk, + done: false + }); + + case 4: + if (!this._done) { + _context2.next = 6; + break; + } + + return _context2.abrupt("return", { + value: undefined, + done: true + }); + + case 6: + requestCapability = (0, _util.createPromiseCapability)(); + + this._requests.push(requestCapability); + + return _context2.abrupt("return", requestCapability.promise); + + case 9: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function read() { + return _read2.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + this._done = true; + + var _iterator5 = _createForOfIteratorHelper(this._requests), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var requestCapability = _step5.value; + requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + this._requests.length = 0; + + this._stream._removeRangeReader(this); + } + }]); + + return PDFDataTransportStreamRangeReader; +}(); + +/***/ }), +/* 158 */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.XfaText = void 0; + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var XfaText = /*#__PURE__*/function () { + function XfaText() { + _classCallCheck(this, XfaText); + } + + _createClass(XfaText, null, [{ + key: "textContent", + value: function textContent(xfa) { + var items = []; + var output = { + items: items, + styles: Object.create(null) + }; + + function walk(node) { + var _node$attributes; + + if (!node) { + return; + } + + var str = null; + var name = node.name; + + if (name === "#text") { + str = node.value; + } else if (!XfaText.shouldBuildText(name)) { + return; + } else if (node !== null && node !== void 0 && (_node$attributes = node.attributes) !== null && _node$attributes !== void 0 && _node$attributes.textContent) { + str = node.attributes.textContent; + } else if (node.value) { + str = node.value; + } + + if (str !== null) { + items.push({ + str: str + }); + } + + if (!node.children) { + return; + } + + var _iterator = _createForOfIteratorHelper(node.children), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var child = _step.value; + walk(child); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + + walk(xfa); + return output; + } + }, { + key: "shouldBuildText", + value: function shouldBuildText(name) { + return !(name === "textarea" || name === "input" || name === "option" || name === "select"); + } + }]); + + return XfaText; +}(); + +exports.XfaText = XfaText; + +/***/ }), +/* 159 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.AnnotationLayer = void 0; + +var _util = __w_pdfjs_require__(1); + +var _display_utils = __w_pdfjs_require__(146); + +var _annotation_storage = __w_pdfjs_require__(150); + +var _scripting_utils = __w_pdfjs_require__(160); + +var _xfa_layer = __w_pdfjs_require__(161); + +function _classStaticPrivateMethodGet(receiver, classConstructor, method) { _classCheckPrivateStaticAccess(receiver, classConstructor); return method; } + +function _classCheckPrivateStaticAccess(receiver, classConstructor) { if (receiver !== classConstructor) { throw new TypeError("Private static access of wrong provenance"); } } + +function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } + +function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var DEFAULT_TAB_INDEX = 1000; +var GetElementsByNameSet = new WeakSet(); + +function getRectDims(rect) { + return { + width: rect[2] - rect[0], + height: rect[3] - rect[1] + }; +} + +var AnnotationElementFactory = /*#__PURE__*/function () { + function AnnotationElementFactory() { + _classCallCheck(this, AnnotationElementFactory); + } + + _createClass(AnnotationElementFactory, null, [{ + key: "create", + value: function create(parameters) { + var subtype = parameters.data.annotationType; + + switch (subtype) { + case _util.AnnotationType.LINK: + return new LinkAnnotationElement(parameters); + + case _util.AnnotationType.TEXT: + return new TextAnnotationElement(parameters); + + case _util.AnnotationType.WIDGET: + var fieldType = parameters.data.fieldType; + + switch (fieldType) { + case "Tx": + return new TextWidgetAnnotationElement(parameters); + + case "Btn": + if (parameters.data.radioButton) { + return new RadioButtonWidgetAnnotationElement(parameters); + } else if (parameters.data.checkBox) { + return new CheckboxWidgetAnnotationElement(parameters); + } + + return new PushButtonWidgetAnnotationElement(parameters); + + case "Ch": + return new ChoiceWidgetAnnotationElement(parameters); + } + + return new WidgetAnnotationElement(parameters); + + case _util.AnnotationType.POPUP: + return new PopupAnnotationElement(parameters); + + case _util.AnnotationType.FREETEXT: + return new FreeTextAnnotationElement(parameters); + + case _util.AnnotationType.LINE: + return new LineAnnotationElement(parameters); + + case _util.AnnotationType.SQUARE: + return new SquareAnnotationElement(parameters); + + case _util.AnnotationType.CIRCLE: + return new CircleAnnotationElement(parameters); + + case _util.AnnotationType.POLYLINE: + return new PolylineAnnotationElement(parameters); + + case _util.AnnotationType.CARET: + return new CaretAnnotationElement(parameters); + + case _util.AnnotationType.INK: + return new InkAnnotationElement(parameters); + + case _util.AnnotationType.POLYGON: + return new PolygonAnnotationElement(parameters); + + case _util.AnnotationType.HIGHLIGHT: + return new HighlightAnnotationElement(parameters); + + case _util.AnnotationType.UNDERLINE: + return new UnderlineAnnotationElement(parameters); + + case _util.AnnotationType.SQUIGGLY: + return new SquigglyAnnotationElement(parameters); + + case _util.AnnotationType.STRIKEOUT: + return new StrikeOutAnnotationElement(parameters); + + case _util.AnnotationType.STAMP: + return new StampAnnotationElement(parameters); + + case _util.AnnotationType.FILEATTACHMENT: + return new FileAttachmentAnnotationElement(parameters); + + default: + return new AnnotationElement(parameters); + } + } + }]); + + return AnnotationElementFactory; +}(); + +var AnnotationElement = /*#__PURE__*/function () { + function AnnotationElement(parameters) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$isRenderable = _ref.isRenderable, + isRenderable = _ref$isRenderable === void 0 ? false : _ref$isRenderable, + _ref$ignoreBorder = _ref.ignoreBorder, + ignoreBorder = _ref$ignoreBorder === void 0 ? false : _ref$ignoreBorder, + _ref$createQuadrilate = _ref.createQuadrilaterals, + createQuadrilaterals = _ref$createQuadrilate === void 0 ? false : _ref$createQuadrilate; + + _classCallCheck(this, AnnotationElement); + + this.isRenderable = isRenderable; + this.data = parameters.data; + this.layer = parameters.layer; + this.page = parameters.page; + this.viewport = parameters.viewport; + this.linkService = parameters.linkService; + this.downloadManager = parameters.downloadManager; + this.imageResourcesPath = parameters.imageResourcesPath; + this.renderForms = parameters.renderForms; + this.svgFactory = parameters.svgFactory; + this.annotationStorage = parameters.annotationStorage; + this.enableScripting = parameters.enableScripting; + this.hasJSActions = parameters.hasJSActions; + this._fieldObjects = parameters.fieldObjects; + this._mouseState = parameters.mouseState; + + if (isRenderable) { + this.container = this._createContainer(ignoreBorder); + } + + if (createQuadrilaterals) { + this.quadrilaterals = this._createQuadrilaterals(ignoreBorder); + } + } + + _createClass(AnnotationElement, [{ + key: "_createContainer", + value: function _createContainer() { + var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var data = this.data, + page = this.page, + viewport = this.viewport; + var container = document.createElement("section"); + + var _getRectDims = getRectDims(data.rect), + width = _getRectDims.width, + height = _getRectDims.height; + + container.setAttribute("data-annotation-id", data.id); + + var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]); + + if (data.hasOwnCanvas) { + var transform = viewport.transform.slice(); + + var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(transform), + _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2), + scaleX = _Util$singularValueDe2[0], + scaleY = _Util$singularValueDe2[1]; + + width = Math.ceil(width * scaleX); + height = Math.ceil(height * scaleY); + rect[0] *= scaleX; + rect[1] *= scaleY; + + for (var i = 0; i < 4; i++) { + transform[i] = Math.sign(transform[i]); + } + + container.style.transform = "matrix(".concat(transform.join(","), ")"); + } else { + container.style.transform = "matrix(".concat(viewport.transform.join(","), ")"); + } + + container.style.transformOrigin = "".concat(-rect[0], "px ").concat(-rect[1], "px"); + + if (!ignoreBorder && data.borderStyle.width > 0) { + container.style.borderWidth = "".concat(data.borderStyle.width, "px"); + + if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) { + width -= 2 * data.borderStyle.width; + height -= 2 * data.borderStyle.width; + } + + var horizontalRadius = data.borderStyle.horizontalCornerRadius; + var verticalRadius = data.borderStyle.verticalCornerRadius; + + if (horizontalRadius > 0 || verticalRadius > 0) { + var radius = "".concat(horizontalRadius, "px / ").concat(verticalRadius, "px"); + container.style.borderRadius = radius; + } + + switch (data.borderStyle.style) { + case _util.AnnotationBorderStyleType.SOLID: + container.style.borderStyle = "solid"; + break; + + case _util.AnnotationBorderStyleType.DASHED: + container.style.borderStyle = "dashed"; + break; + + case _util.AnnotationBorderStyleType.BEVELED: + (0, _util.warn)("Unimplemented border style: beveled"); + break; + + case _util.AnnotationBorderStyleType.INSET: + (0, _util.warn)("Unimplemented border style: inset"); + break; + + case _util.AnnotationBorderStyleType.UNDERLINE: + container.style.borderBottomStyle = "solid"; + break; + + default: + break; + } + + var borderColor = data.borderColor || data.color || null; + + if (borderColor) { + container.style.borderColor = _util.Util.makeHexColor(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0); + } else { + container.style.borderWidth = 0; + } + } + + container.style.left = "".concat(rect[0], "px"); + container.style.top = "".concat(rect[1], "px"); + + if (data.hasOwnCanvas) { + container.style.width = container.style.height = "auto"; + } else { + container.style.width = "".concat(width, "px"); + container.style.height = "".concat(height, "px"); + } + + return container; + } + }, { + key: "_createQuadrilaterals", + value: function _createQuadrilaterals() { + var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (!this.data.quadPoints) { + return null; + } + + var quadrilaterals = []; + var savedRect = this.data.rect; + + var _iterator = _createForOfIteratorHelper(this.data.quadPoints), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var quadPoint = _step.value; + this.data.rect = [quadPoint[2].x, quadPoint[2].y, quadPoint[1].x, quadPoint[1].y]; + quadrilaterals.push(this._createContainer(ignoreBorder)); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + this.data.rect = savedRect; + return quadrilaterals; + } + }, { + key: "_createPopup", + value: function _createPopup(trigger, data) { + var container = this.container; + + if (this.quadrilaterals) { + trigger = trigger || this.quadrilaterals; + container = this.quadrilaterals[0]; + } + + if (!trigger) { + trigger = document.createElement("div"); + trigger.style.height = container.style.height; + trigger.style.width = container.style.width; + container.appendChild(trigger); + } + + var popupElement = new PopupElement({ + container: container, + trigger: trigger, + color: data.color, + titleObj: data.titleObj, + modificationDate: data.modificationDate, + contentsObj: data.contentsObj, + richText: data.richText, + hideWrapper: true + }); + var popup = popupElement.render(); + popup.style.left = container.style.width; + container.appendChild(popup); + } + }, { + key: "_renderQuadrilaterals", + value: function _renderQuadrilaterals(className) { + var _iterator2 = _createForOfIteratorHelper(this.quadrilaterals), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var quadrilateral = _step2.value; + quadrilateral.className = className; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + return this.quadrilaterals; + } + }, { + key: "render", + value: function render() { + (0, _util.unreachable)("Abstract method `AnnotationElement.render` called"); + } + }, { + key: "_getElementsByName", + value: function _getElementsByName(name) { + var skipId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var fields = []; + + if (this._fieldObjects) { + var fieldObj = this._fieldObjects[name]; + + if (fieldObj) { + var _iterator3 = _createForOfIteratorHelper(fieldObj), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var _step3$value = _step3.value, + page = _step3$value.page, + id = _step3$value.id, + exportValues = _step3$value.exportValues; + + if (page === -1) { + continue; + } + + if (id === skipId) { + continue; + } + + var exportValue = typeof exportValues === "string" ? exportValues : null; + var domElement = document.getElementById(id); + + if (domElement && !GetElementsByNameSet.has(domElement)) { + (0, _util.warn)("_getElementsByName - element not allowed: ".concat(id)); + continue; + } + + fields.push({ + id: id, + exportValue: exportValue, + domElement: domElement + }); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + + return fields; + } + + var _iterator4 = _createForOfIteratorHelper(document.getElementsByName(name)), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var _domElement = _step4.value; + var _id = _domElement.id, + _exportValue = _domElement.exportValue; + + if (_id === skipId) { + continue; + } + + if (!GetElementsByNameSet.has(_domElement)) { + continue; + } + + fields.push({ + id: _id, + exportValue: _exportValue, + domElement: _domElement + }); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + return fields; + } + }], [{ + key: "platform", + get: function get() { + var platform = typeof navigator !== "undefined" ? navigator.platform : ""; + return (0, _util.shadow)(this, "platform", { + isWin: platform.includes("Win"), + isMac: platform.includes("Mac") + }); + } + }]); + + return AnnotationElement; +}(); + +var LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) { + _inherits(LinkAnnotationElement, _AnnotationElement); + + var _super = _createSuper(LinkAnnotationElement); + + function LinkAnnotationElement(parameters) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + + _classCallCheck(this, LinkAnnotationElement); + + var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action || parameters.data.isTooltipOnly || parameters.data.resetForm || parameters.data.actions && (parameters.data.actions.Action || parameters.data.actions["Mouse Up"] || parameters.data.actions["Mouse Down"])); + return _super.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: !!(options !== null && options !== void 0 && options.ignoreBorder), + createQuadrilaterals: true + }); + } + + _createClass(LinkAnnotationElement, [{ + key: "render", + value: function render() { + var data = this.data, + linkService = this.linkService; + var link = document.createElement("a"); + + if (data.url) { + var _linkService$addLinkA; + + if (!linkService.addLinkAttributes) { + (0, _util.warn)("LinkAnnotationElement.render - missing `addLinkAttributes`-method on the `linkService`-instance."); + } + + (_linkService$addLinkA = linkService.addLinkAttributes) === null || _linkService$addLinkA === void 0 ? void 0 : _linkService$addLinkA.call(linkService, link, data.url, data.newWindow); + } else if (data.action) { + this._bindNamedAction(link, data.action); + } else if (data.dest) { + this._bindLink(link, data.dest); + } else { + var hasClickAction = false; + + if (data.actions && (data.actions.Action || data.actions["Mouse Up"] || data.actions["Mouse Down"]) && this.enableScripting && this.hasJSActions) { + hasClickAction = true; + + this._bindJSAction(link, data); + } + + if (data.resetForm) { + this._bindResetFormAction(link, data.resetForm); + } else if (!hasClickAction) { + this._bindLink(link, ""); + } + } + + if (this.quadrilaterals) { + return this._renderQuadrilaterals("linkAnnotation").map(function (quadrilateral, index) { + var linkElement = index === 0 ? link : link.cloneNode(); + quadrilateral.appendChild(linkElement); + return quadrilateral; + }); + } + + this.container.className = "linkAnnotation"; + var span = document.createElement("span"); + span.style.display = "none"; + span.innerHTML = data.url; + link.appendChild(span); + this.container.appendChild(link); + return this.container; + } + }, { + key: "_bindLink", + value: function _bindLink(link, destination) { + var _this = this; + + link.href = this.linkService.getDestinationHash(destination); + + link.onclick = function () { + if (destination) { + _this.linkService.goToDestination(destination); + } + + return false; + }; + + if (destination || destination === "") { + link.className = "internalLink"; + } + var span = document.createElement("span"); + span.style.display = 'none'; + span.innerHTML = "internalLink"; + link.appendChild(span); + } + }, { + key: "_bindNamedAction", + value: function _bindNamedAction(link, action) { + var _this2 = this; + + link.href = this.linkService.getAnchorUrl(""); + + link.onclick = function () { + _this2.linkService.executeNamedAction(action); + + return false; + }; + + link.className = "internalLink"; + var span = document.createElement("span"); + span.style.display = 'none'; + span.innerHTML = "internalLink"; + link.appendChild(span); + } + }, { + key: "_bindJSAction", + value: function _bindJSAction(link, data) { + var _this3 = this; + + link.href = this.linkService.getAnchorUrl(""); + var map = new Map([["Action", "onclick"], ["Mouse Up", "onmouseup"], ["Mouse Down", "onmousedown"]]); + + var _loop = function _loop() { + var name = _Object$keys[_i2]; + var jsName = map.get(name); + + if (!jsName) { + return "continue"; + } + + link[jsName] = function () { + var _this3$linkService$ev; + + (_this3$linkService$ev = _this3.linkService.eventBus) === null || _this3$linkService$ev === void 0 ? void 0 : _this3$linkService$ev.dispatch("dispatcheventinsandbox", { + source: _this3, + detail: { + id: data.id, + name: name + } + }); + return false; + }; + }; + + for (var _i2 = 0, _Object$keys = Object.keys(data.actions); _i2 < _Object$keys.length; _i2++) { + var _ret = _loop(); + + if (_ret === "continue") continue; + } + + if (!link.onclick) { + link.onclick = function () { + return false; + }; + } + + link.className = "internalLink"; + } + }, { + key: "_bindResetFormAction", + value: function _bindResetFormAction(link, resetForm) { + var _this4 = this; + + var otherClickAction = link.onclick; + + if (!otherClickAction) { + link.href = this.linkService.getAnchorUrl(""); + } + + link.className = "internalLink"; + + if (!this._fieldObjects) { + (0, _util.warn)("_bindResetFormAction - \"resetForm\" action not supported, " + "ensure that the `fieldObjects` parameter is provided."); + + if (!otherClickAction) { + link.onclick = function () { + return false; + }; + } + + return; + } + + link.onclick = function () { + if (otherClickAction) { + otherClickAction(); + } + + var resetFormFields = resetForm.fields, + resetFormRefs = resetForm.refs, + include = resetForm.include; + var allFields = []; + + if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) { + var fieldIds = new Set(resetFormRefs); + + var _iterator5 = _createForOfIteratorHelper(resetFormFields), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var fieldName = _step5.value; + + var _fields = _this4._fieldObjects[fieldName] || []; + + var _iterator7 = _createForOfIteratorHelper(_fields), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var id = _step7.value.id; + fieldIds.add(id); + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + for (var _i3 = 0, _Object$values = Object.values(_this4._fieldObjects); _i3 < _Object$values.length; _i3++) { + var fields = _Object$values[_i3]; + + var _iterator6 = _createForOfIteratorHelper(fields), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var field = _step6.value; + + if (fieldIds.has(field.id) === include) { + allFields.push(field); + } + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + } + } else { + for (var _i4 = 0, _Object$values2 = Object.values(_this4._fieldObjects); _i4 < _Object$values2.length; _i4++) { + var _fields2 = _Object$values2[_i4]; + allFields.push.apply(allFields, _toConsumableArray(_fields2)); + } + } + + var storage = _this4.annotationStorage; + var allIds = []; + + for (var _i5 = 0, _allFields = allFields; _i5 < _allFields.length; _i5++) { + var _field = _allFields[_i5]; + var _id2 = _field.id; + allIds.push(_id2); + + switch (_field.type) { + case "text": + { + var value = _field.defaultValue || ""; + storage.setValue(_id2, { + value: value, + valueAsString: value + }); + break; + } + + case "checkbox": + case "radiobutton": + { + var _value = _field.defaultValue === _field.exportValues; + + storage.setValue(_id2, { + value: _value + }); + break; + } + + case "combobox": + case "listbox": + { + var _value2 = _field.defaultValue || ""; + + storage.setValue(_id2, { + value: _value2 + }); + break; + } + + default: + continue; + } + + var domElement = document.getElementById(_id2); + + if (!domElement || !GetElementsByNameSet.has(domElement)) { + continue; + } + + domElement.dispatchEvent(new Event("resetform")); + } + + if (_this4.enableScripting) { + var _this4$linkService$ev; + + (_this4$linkService$ev = _this4.linkService.eventBus) === null || _this4$linkService$ev === void 0 ? void 0 : _this4$linkService$ev.dispatch("dispatcheventinsandbox", { + source: _this4, + detail: { + id: "app", + ids: allIds, + name: "ResetForm" + } + }); + } + + return false; + }; + } + }]); + + return LinkAnnotationElement; +}(AnnotationElement); + +var TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) { + _inherits(TextAnnotationElement, _AnnotationElement2); + + var _super2 = _createSuper(TextAnnotationElement); + + function TextAnnotationElement(parameters) { + var _parameters$data$titl, _parameters$data$cont, _parameters$data$rich; + + _classCallCheck(this, TextAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl = parameters.data.titleObj) !== null && _parameters$data$titl !== void 0 && _parameters$data$titl.str || (_parameters$data$cont = parameters.data.contentsObj) !== null && _parameters$data$cont !== void 0 && _parameters$data$cont.str || (_parameters$data$rich = parameters.data.richText) !== null && _parameters$data$rich !== void 0 && _parameters$data$rich.str); + return _super2.call(this, parameters, { + isRenderable: isRenderable + }); + } + + _createClass(TextAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = "textAnnotation"; + var image = document.createElement("img"); + image.style.height = this.container.style.height; + image.style.width = this.container.style.width; + image.src = this.imageResourcesPath + "annotation-" + this.data.name.toLowerCase() + ".svg"; + image.alt = "[{{type}} Annotation]"; + image.dataset.l10nId = "text_annotation_type"; + image.dataset.l10nArgs = JSON.stringify({ + type: this.data.name + }); + + if (!this.data.hasPopup) { + this._createPopup(image, this.data); + } + + this.container.appendChild(image); + return this.container; + } + }]); + + return TextAnnotationElement; +}(AnnotationElement); + +var WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) { + _inherits(WidgetAnnotationElement, _AnnotationElement3); + + var _super3 = _createSuper(WidgetAnnotationElement); + + function WidgetAnnotationElement() { + _classCallCheck(this, WidgetAnnotationElement); + + return _super3.apply(this, arguments); + } + + _createClass(WidgetAnnotationElement, [{ + key: "render", + value: function render() { + if (this.data.alternativeText) { + this.container.title = this.data.alternativeText; + } + + return this.container; + } + }, { + key: "_getKeyModifier", + value: function _getKeyModifier(event) { + var _AnnotationElement$pl = AnnotationElement.platform, + isWin = _AnnotationElement$pl.isWin, + isMac = _AnnotationElement$pl.isMac; + return isWin && event.ctrlKey || isMac && event.metaKey; + } + }, { + key: "_setEventListener", + value: function _setEventListener(element, baseName, eventName, valueGetter) { + var _this5 = this; + + if (baseName.includes("mouse")) { + element.addEventListener(baseName, function (event) { + var _this5$linkService$ev; + + (_this5$linkService$ev = _this5.linkService.eventBus) === null || _this5$linkService$ev === void 0 ? void 0 : _this5$linkService$ev.dispatch("dispatcheventinsandbox", { + source: _this5, + detail: { + id: _this5.data.id, + name: eventName, + value: valueGetter(event), + shift: event.shiftKey, + modifier: _this5._getKeyModifier(event) + } + }); + }); + } else { + element.addEventListener(baseName, function (event) { + var _this5$linkService$ev2; + + (_this5$linkService$ev2 = _this5.linkService.eventBus) === null || _this5$linkService$ev2 === void 0 ? void 0 : _this5$linkService$ev2.dispatch("dispatcheventinsandbox", { + source: _this5, + detail: { + id: _this5.data.id, + name: eventName, + value: valueGetter(event) + } + }); + }); + } + } + }, { + key: "_setEventListeners", + value: function _setEventListeners(element, names, getter) { + var _iterator8 = _createForOfIteratorHelper(names), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var _this$data$actions; + + var _step8$value = _slicedToArray(_step8.value, 2), + baseName = _step8$value[0], + eventName = _step8$value[1]; + + if (eventName === "Action" || (_this$data$actions = this.data.actions) !== null && _this$data$actions !== void 0 && _this$data$actions[eventName]) { + this._setEventListener(element, baseName, eventName, getter); + } + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + } + }, { + key: "_setBackgroundColor", + value: function _setBackgroundColor(element) { + var color = this.data.backgroundColor || null; + element.style.backgroundColor = color === null ? "transparent" : _util.Util.makeHexColor(color[0], color[1], color[2]); + } + }, { + key: "_dispatchEventFromSandbox", + value: function _dispatchEventFromSandbox(actions, jsEvent) { + var _this6 = this; + + var setColor = function setColor(jsName, styleName, event) { + var color = event.detail[jsName]; + event.target.style[styleName] = _scripting_utils.ColorConverters["".concat(color[0], "_HTML")](color.slice(1)); + }; + + var commonActions = { + display: function display(event) { + var hidden = event.detail.display % 2 === 1; + event.target.style.visibility = hidden ? "hidden" : "visible"; + + _this6.annotationStorage.setValue(_this6.data.id, { + hidden: hidden, + print: event.detail.display === 0 || event.detail.display === 3 + }); + }, + print: function print(event) { + _this6.annotationStorage.setValue(_this6.data.id, { + print: event.detail.print + }); + }, + hidden: function hidden(event) { + event.target.style.visibility = event.detail.hidden ? "hidden" : "visible"; + + _this6.annotationStorage.setValue(_this6.data.id, { + hidden: event.detail.hidden + }); + }, + focus: function focus(event) { + setTimeout(function () { + return event.target.focus({ + preventScroll: false + }); + }, 0); + }, + userName: function userName(event) { + event.target.title = event.detail.userName; + }, + readonly: function readonly(event) { + if (event.detail.readonly) { + event.target.setAttribute("readonly", ""); + } else { + event.target.removeAttribute("readonly"); + } + }, + required: function required(event) { + if (event.detail.required) { + event.target.setAttribute("required", ""); + } else { + event.target.removeAttribute("required"); + } + }, + bgColor: function bgColor(event) { + setColor("bgColor", "backgroundColor", event); + }, + fillColor: function fillColor(event) { + setColor("fillColor", "backgroundColor", event); + }, + fgColor: function fgColor(event) { + setColor("fgColor", "color", event); + }, + textColor: function textColor(event) { + setColor("textColor", "color", event); + }, + borderColor: function borderColor(event) { + setColor("borderColor", "borderColor", event); + }, + strokeColor: function strokeColor(event) { + setColor("strokeColor", "borderColor", event); + } + }; + + for (var _i6 = 0, _Object$keys2 = Object.keys(jsEvent.detail); _i6 < _Object$keys2.length; _i6++) { + var name = _Object$keys2[_i6]; + var action = actions[name] || commonActions[name]; + + if (action) { + action(jsEvent); + } + } + } + }]); + + return WidgetAnnotationElement; +}(AnnotationElement); + +var TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) { + _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem); + + var _super4 = _createSuper(TextWidgetAnnotationElement); + + function TextWidgetAnnotationElement(parameters) { + _classCallCheck(this, TextWidgetAnnotationElement); + + var isRenderable = parameters.renderForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue; + return _super4.call(this, parameters, { + isRenderable: isRenderable + }); + } + + _createClass(TextWidgetAnnotationElement, [{ + key: "setPropertyOnSiblings", + value: function setPropertyOnSiblings(base, key, value, keyInStorage) { + var storage = this.annotationStorage; + + var _iterator9 = _createForOfIteratorHelper(this._getElementsByName(base.name, base.id)), + _step9; + + try { + for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) { + var element = _step9.value; + + if (element.domElement) { + element.domElement[key] = value; + } + + storage.setValue(element.id, _defineProperty({}, keyInStorage, value)); + } + } catch (err) { + _iterator9.e(err); + } finally { + _iterator9.f(); + } + } + }, { + key: "render", + value: function render() { + var _this7 = this; + + var storage = this.annotationStorage; + var id = this.data.id; + this.container.className = "textWidgetAnnotation"; + var element = null; + + if (this.renderForms) { + var storedData = storage.getValue(id, { + value: this.data.fieldValue, + valueAsString: this.data.fieldValue + }); + var textContent = storedData.valueAsString || storedData.value || ""; + var elementData = { + userValue: null, + formattedValue: null + }; + + if (this.data.multiLine) { + element = document.createElement("textarea"); + element.textContent = textContent; + } else { + element = document.createElement("input"); + element.type = "text"; + element.setAttribute("value", textContent); + } + + GetElementsByNameSet.add(element); + element.disabled = this.data.readOnly; + element.name = this.data.fieldName; + element.tabIndex = DEFAULT_TAB_INDEX; + elementData.userValue = textContent; + element.setAttribute("id", id); + element.addEventListener("input", function (event) { + storage.setValue(id, { + value: event.target.value + }); + + _this7.setPropertyOnSiblings(element, "value", event.target.value, "value"); + }); + element.addEventListener("resetform", function (event) { + var defaultValue = _this7.data.defaultFieldValue || ""; + element.value = elementData.userValue = defaultValue; + delete elementData.formattedValue; + }); + + var blurListener = function blurListener(event) { + if (elementData.formattedValue) { + event.target.value = elementData.formattedValue; + } + + event.target.scrollLeft = 0; + }; + + if (this.enableScripting && this.hasJSActions) { + var _this$data$actions2; + + element.addEventListener("focus", function (event) { + if (elementData.userValue) { + event.target.value = elementData.userValue; + } + }); + element.addEventListener("updatefromsandbox", function (jsEvent) { + var actions = { + value: function value(event) { + elementData.userValue = event.detail.value || ""; + storage.setValue(id, { + value: elementData.userValue.toString() + }); + + if (!elementData.formattedValue) { + event.target.value = elementData.userValue; + } + }, + valueAsString: function valueAsString(event) { + elementData.formattedValue = event.detail.valueAsString || ""; + + if (event.target !== document.activeElement) { + event.target.value = elementData.formattedValue; + } + + storage.setValue(id, { + formattedValue: elementData.formattedValue + }); + }, + selRange: function selRange(event) { + var _event$detail$selRang = _slicedToArray(event.detail.selRange, 2), + selStart = _event$detail$selRang[0], + selEnd = _event$detail$selRang[1]; + + if (selStart >= 0 && selEnd < event.target.value.length) { + event.target.setSelectionRange(selStart, selEnd); + } + } + }; + + _this7._dispatchEventFromSandbox(actions, jsEvent); + }); + element.addEventListener("keydown", function (event) { + var _this7$linkService$ev; + + var commitKey = -1; + + if (event.key === "Escape") { + commitKey = 0; + } else if (event.key === "Enter") { + commitKey = 2; + } else if (event.key === "Tab") { + commitKey = 3; + } + + if (commitKey === -1) { + return; + } + + elementData.userValue = event.target.value; + (_this7$linkService$ev = _this7.linkService.eventBus) === null || _this7$linkService$ev === void 0 ? void 0 : _this7$linkService$ev.dispatch("dispatcheventinsandbox", { + source: _this7, + detail: { + id: id, + name: "Keystroke", + value: event.target.value, + willCommit: true, + commitKey: commitKey, + selStart: event.target.selectionStart, + selEnd: event.target.selectionEnd + } + }); + }); + var _blurListener = blurListener; + blurListener = null; + element.addEventListener("blur", function (event) { + elementData.userValue = event.target.value; + + if (_this7._mouseState.isDown) { + var _this7$linkService$ev2; + + (_this7$linkService$ev2 = _this7.linkService.eventBus) === null || _this7$linkService$ev2 === void 0 ? void 0 : _this7$linkService$ev2.dispatch("dispatcheventinsandbox", { + source: _this7, + detail: { + id: id, + name: "Keystroke", + value: event.target.value, + willCommit: true, + commitKey: 1, + selStart: event.target.selectionStart, + selEnd: event.target.selectionEnd + } + }); + } + + _blurListener(event); + }); + + if ((_this$data$actions2 = this.data.actions) !== null && _this$data$actions2 !== void 0 && _this$data$actions2.Keystroke) { + element.addEventListener("beforeinput", function (event) { + var _this7$linkService$ev3; + + elementData.formattedValue = ""; + var data = event.data, + target = event.target; + var value = target.value, + selectionStart = target.selectionStart, + selectionEnd = target.selectionEnd; + (_this7$linkService$ev3 = _this7.linkService.eventBus) === null || _this7$linkService$ev3 === void 0 ? void 0 : _this7$linkService$ev3.dispatch("dispatcheventinsandbox", { + source: _this7, + detail: { + id: id, + name: "Keystroke", + value: value, + change: data, + willCommit: false, + selStart: selectionStart, + selEnd: selectionEnd + } + }); + }); + } + + this._setEventListeners(element, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], function (event) { + return event.target.value; + }); + } + + if (blurListener) { + element.addEventListener("blur", blurListener); + } + + if (this.data.maxLen !== null) { + element.maxLength = this.data.maxLen; + } + + if (this.data.comb) { + var fieldWidth = this.data.rect[2] - this.data.rect[0]; + var combWidth = fieldWidth / this.data.maxLen; + element.classList.add("comb"); + element.style.letterSpacing = "calc(".concat(combWidth, "px - 1ch)"); + } + } else { + element = document.createElement("div"); + element.textContent = this.data.fieldValue; + element.style.verticalAlign = "middle"; + element.style.display = "table-cell"; + } + + this._setTextStyle(element); + + this._setBackgroundColor(element); + + this.container.appendChild(element); + return this.container; + } + }, { + key: "_setTextStyle", + value: function _setTextStyle(element) { + var TEXT_ALIGNMENT = ["left", "center", "right"]; + var _this$data$defaultApp = this.data.defaultAppearanceData, + fontSize = _this$data$defaultApp.fontSize, + fontColor = _this$data$defaultApp.fontColor; + var style = element.style; + + if (fontSize) { + style.fontSize = "".concat(fontSize / 16.0, "em"); + } + + style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]); + + if (this.data.textAlignment !== null) { + style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment]; + } + } + }]); + + return TextWidgetAnnotationElement; +}(WidgetAnnotationElement); + +var CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) { + _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2); + + var _super5 = _createSuper(CheckboxWidgetAnnotationElement); + + function CheckboxWidgetAnnotationElement(parameters) { + _classCallCheck(this, CheckboxWidgetAnnotationElement); + + return _super5.call(this, parameters, { + isRenderable: parameters.renderForms + }); + } + + _createClass(CheckboxWidgetAnnotationElement, [{ + key: "render", + value: function render() { + var _this8 = this; + + var storage = this.annotationStorage; + var data = this.data; + var id = data.id; + var value = storage.getValue(id, { + value: data.exportValue === data.fieldValue + }).value; + + if (typeof value === "string") { + value = value !== "Off"; + storage.setValue(id, { + value: value + }); + } + + this.container.className = "buttonWidgetAnnotation checkBox"; + var element = document.createElement("input"); + GetElementsByNameSet.add(element); + element.disabled = data.readOnly; + element.type = "checkbox"; + element.name = data.fieldName; + + if (value) { + element.setAttribute("checked", true); + } + + element.setAttribute("id", id); + element.setAttribute("exportValue", data.exportValue); + element.tabIndex = DEFAULT_TAB_INDEX; + element.addEventListener("change", function (event) { + var _event$target = event.target, + name = _event$target.name, + checked = _event$target.checked; + + var _iterator10 = _createForOfIteratorHelper(_this8._getElementsByName(name, id)), + _step10; + + try { + for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) { + var checkbox = _step10.value; + var curChecked = checked && checkbox.exportValue === data.exportValue; + + if (checkbox.domElement) { + checkbox.domElement.checked = curChecked; + } + + storage.setValue(checkbox.id, { + value: curChecked + }); + } + } catch (err) { + _iterator10.e(err); + } finally { + _iterator10.f(); + } + + storage.setValue(id, { + value: checked + }); + }); + element.addEventListener("resetform", function (event) { + var defaultValue = data.defaultFieldValue || "Off"; + event.target.checked = defaultValue === data.exportValue; + }); + + if (this.enableScripting && this.hasJSActions) { + element.addEventListener("updatefromsandbox", function (jsEvent) { + var actions = { + value: function value(event) { + event.target.checked = event.detail.value !== "Off"; + storage.setValue(id, { + value: event.target.checked + }); + } + }; + + _this8._dispatchEventFromSandbox(actions, jsEvent); + }); + + this._setEventListeners(element, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], function (event) { + return event.target.checked; + }); + } + + this._setBackgroundColor(element); + + this.container.appendChild(element); + return this.container; + } + }]); + + return CheckboxWidgetAnnotationElement; +}(WidgetAnnotationElement); + +var RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) { + _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3); + + var _super6 = _createSuper(RadioButtonWidgetAnnotationElement); + + function RadioButtonWidgetAnnotationElement(parameters) { + _classCallCheck(this, RadioButtonWidgetAnnotationElement); + + return _super6.call(this, parameters, { + isRenderable: parameters.renderForms + }); + } + + _createClass(RadioButtonWidgetAnnotationElement, [{ + key: "render", + value: function render() { + var _this9 = this; + + this.container.className = "buttonWidgetAnnotation radioButton"; + var storage = this.annotationStorage; + var data = this.data; + var id = data.id; + var value = storage.getValue(id, { + value: data.fieldValue === data.buttonValue + }).value; + + if (typeof value === "string") { + value = value !== data.buttonValue; + storage.setValue(id, { + value: value + }); + } + + var element = document.createElement("input"); + GetElementsByNameSet.add(element); + element.disabled = data.readOnly; + element.type = "radio"; + element.name = data.fieldName; + + if (value) { + element.setAttribute("checked", true); + } + + element.setAttribute("id", id); + element.tabIndex = DEFAULT_TAB_INDEX; + element.addEventListener("change", function (event) { + var _event$target2 = event.target, + name = _event$target2.name, + checked = _event$target2.checked; + + var _iterator11 = _createForOfIteratorHelper(_this9._getElementsByName(name, id)), + _step11; + + try { + for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) { + var radio = _step11.value; + storage.setValue(radio.id, { + value: false + }); + } + } catch (err) { + _iterator11.e(err); + } finally { + _iterator11.f(); + } + + storage.setValue(id, { + value: checked + }); + }); + element.addEventListener("resetform", function (event) { + var defaultValue = data.defaultFieldValue; + event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue; + }); + + if (this.enableScripting && this.hasJSActions) { + var pdfButtonValue = data.buttonValue; + element.addEventListener("updatefromsandbox", function (jsEvent) { + var actions = { + value: function value(event) { + var checked = pdfButtonValue === event.detail.value; + + var _iterator12 = _createForOfIteratorHelper(_this9._getElementsByName(event.target.name)), + _step12; + + try { + for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) { + var radio = _step12.value; + var curChecked = checked && radio.id === id; + + if (radio.domElement) { + radio.domElement.checked = curChecked; + } + + storage.setValue(radio.id, { + value: curChecked + }); + } + } catch (err) { + _iterator12.e(err); + } finally { + _iterator12.f(); + } + } + }; + + _this9._dispatchEventFromSandbox(actions, jsEvent); + }); + + this._setEventListeners(element, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], function (event) { + return event.target.checked; + }); + } + + this._setBackgroundColor(element); + + this.container.appendChild(element); + return this.container; + } + }]); + + return RadioButtonWidgetAnnotationElement; +}(WidgetAnnotationElement); + +var PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) { + _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen); + + var _super7 = _createSuper(PushButtonWidgetAnnotationElement); + + function PushButtonWidgetAnnotationElement(parameters) { + _classCallCheck(this, PushButtonWidgetAnnotationElement); + + return _super7.call(this, parameters, { + ignoreBorder: parameters.data.hasAppearance + }); + } + + _createClass(PushButtonWidgetAnnotationElement, [{ + key: "render", + value: function render() { + var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), "render", this).call(this); + + container.className = "buttonWidgetAnnotation pushButton"; + + if (this.data.alternativeText) { + container.title = this.data.alternativeText; + } + + return container; + } + }]); + + return PushButtonWidgetAnnotationElement; +}(LinkAnnotationElement); + +var ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) { + _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4); + + var _super8 = _createSuper(ChoiceWidgetAnnotationElement); + + function ChoiceWidgetAnnotationElement(parameters) { + _classCallCheck(this, ChoiceWidgetAnnotationElement); + + return _super8.call(this, parameters, { + isRenderable: parameters.renderForms + }); + } + + _createClass(ChoiceWidgetAnnotationElement, [{ + key: "render", + value: function render() { + var _this10 = this; + + this.container.className = "choiceWidgetAnnotation"; + var storage = this.annotationStorage; + var id = this.data.id; + storage.getValue(id, { + value: this.data.fieldValue.length > 0 ? this.data.fieldValue[0] : undefined + }); + var fontSize = this.data.defaultAppearanceData.fontSize; + + if (!fontSize) { + fontSize = 9; + } + + var fontSizeStyle = "calc(".concat(fontSize, "px * var(--zoom-factor))"); + var selectElement = document.createElement("select"); + GetElementsByNameSet.add(selectElement); + selectElement.disabled = this.data.readOnly; + selectElement.name = this.data.fieldName; + selectElement.setAttribute("id", id); + selectElement.tabIndex = DEFAULT_TAB_INDEX; + selectElement.style.fontSize = "".concat(fontSize, "px"); + + if (!this.data.combo) { + selectElement.size = this.data.options.length; + + if (this.data.multiSelect) { + selectElement.multiple = true; + } + } + + selectElement.addEventListener("resetform", function (event) { + var defaultValue = _this10.data.defaultFieldValue; + + var _iterator13 = _createForOfIteratorHelper(selectElement.options), + _step13; + + try { + for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) { + var option = _step13.value; + option.selected = option.value === defaultValue; + } + } catch (err) { + _iterator13.e(err); + } finally { + _iterator13.f(); + } + }); + + var _iterator14 = _createForOfIteratorHelper(this.data.options), + _step14; + + try { + for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) { + var option = _step14.value; + var optionElement = document.createElement("option"); + optionElement.textContent = option.displayValue; + optionElement.value = option.exportValue; + + if (this.data.combo) { + optionElement.style.fontSize = fontSizeStyle; + } + + if (this.data.fieldValue.includes(option.exportValue)) { + optionElement.setAttribute("selected", true); + } + + selectElement.appendChild(optionElement); + } + } catch (err) { + _iterator14.e(err); + } finally { + _iterator14.f(); + } + + var getValue = function getValue(event, isExport) { + var name = isExport ? "value" : "textContent"; + var options = event.target.options; + + if (!event.target.multiple) { + return options.selectedIndex === -1 ? null : options[options.selectedIndex][name]; + } + + return Array.prototype.filter.call(options, function (option) { + return option.selected; + }).map(function (option) { + return option[name]; + }); + }; + + var getItems = function getItems(event) { + var options = event.target.options; + return Array.prototype.map.call(options, function (option) { + return { + displayValue: option.textContent, + exportValue: option.value + }; + }); + }; + + if (this.enableScripting && this.hasJSActions) { + selectElement.addEventListener("updatefromsandbox", function (jsEvent) { + var actions = { + value: function value(event) { + var value = event.detail.value; + var values = new Set(Array.isArray(value) ? value : [value]); + + var _iterator15 = _createForOfIteratorHelper(selectElement.options), + _step15; + + try { + for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) { + var option = _step15.value; + option.selected = values.has(option.value); + } + } catch (err) { + _iterator15.e(err); + } finally { + _iterator15.f(); + } + + storage.setValue(id, { + value: getValue(event, true) + }); + }, + multipleSelection: function multipleSelection(event) { + selectElement.multiple = true; + }, + remove: function remove(event) { + var options = selectElement.options; + var index = event.detail.remove; + options[index].selected = false; + selectElement.remove(index); + + if (options.length > 0) { + var i = Array.prototype.findIndex.call(options, function (option) { + return option.selected; + }); + + if (i === -1) { + options[0].selected = true; + } + } + + storage.setValue(id, { + value: getValue(event, true), + items: getItems(event) + }); + }, + clear: function clear(event) { + while (selectElement.length !== 0) { + selectElement.remove(0); + } + + storage.setValue(id, { + value: null, + items: [] + }); + }, + insert: function insert(event) { + var _event$detail$insert = event.detail.insert, + index = _event$detail$insert.index, + displayValue = _event$detail$insert.displayValue, + exportValue = _event$detail$insert.exportValue; + var optionElement = document.createElement("option"); + optionElement.textContent = displayValue; + optionElement.value = exportValue; + selectElement.insertBefore(optionElement, selectElement.children[index]); + storage.setValue(id, { + value: getValue(event, true), + items: getItems(event) + }); + }, + items: function items(event) { + var items = event.detail.items; + + while (selectElement.length !== 0) { + selectElement.remove(0); + } + + var _iterator16 = _createForOfIteratorHelper(items), + _step16; + + try { + for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) { + var item = _step16.value; + var displayValue = item.displayValue, + exportValue = item.exportValue; + var optionElement = document.createElement("option"); + optionElement.textContent = displayValue; + optionElement.value = exportValue; + selectElement.appendChild(optionElement); + } + } catch (err) { + _iterator16.e(err); + } finally { + _iterator16.f(); + } + + if (selectElement.options.length > 0) { + selectElement.options[0].selected = true; + } + + storage.setValue(id, { + value: getValue(event, true), + items: getItems(event) + }); + }, + indices: function indices(event) { + var indices = new Set(event.detail.indices); + + var _iterator17 = _createForOfIteratorHelper(event.target.options), + _step17; + + try { + for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) { + var option = _step17.value; + option.selected = indices.has(option.index); + } + } catch (err) { + _iterator17.e(err); + } finally { + _iterator17.f(); + } + + storage.setValue(id, { + value: getValue(event, true) + }); + }, + editable: function editable(event) { + event.target.disabled = !event.detail.editable; + } + }; + + _this10._dispatchEventFromSandbox(actions, jsEvent); + }); + selectElement.addEventListener("input", function (event) { + var _this10$linkService$e; + + var exportValue = getValue(event, true); + var value = getValue(event, false); + storage.setValue(id, { + value: exportValue + }); + (_this10$linkService$e = _this10.linkService.eventBus) === null || _this10$linkService$e === void 0 ? void 0 : _this10$linkService$e.dispatch("dispatcheventinsandbox", { + source: _this10, + detail: { + id: id, + name: "Keystroke", + value: value, + changeEx: exportValue, + willCommit: true, + commitKey: 1, + keyDown: false + } + }); + }); + + this._setEventListeners(selectElement, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"], ["input", "Action"]], function (event) { + return event.target.checked; + }); + } else { + selectElement.addEventListener("input", function (event) { + storage.setValue(id, { + value: getValue(event) + }); + }); + } + + this._setBackgroundColor(selectElement); + + this.container.appendChild(selectElement); + return this.container; + } + }]); + + return ChoiceWidgetAnnotationElement; +}(WidgetAnnotationElement); + +var PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) { + _inherits(PopupAnnotationElement, _AnnotationElement4); + + var _super9 = _createSuper(PopupAnnotationElement); + + function PopupAnnotationElement(parameters) { + var _parameters$data$titl2, _parameters$data$cont2, _parameters$data$rich2; + + _classCallCheck(this, PopupAnnotationElement); + + var isRenderable = !!((_parameters$data$titl2 = parameters.data.titleObj) !== null && _parameters$data$titl2 !== void 0 && _parameters$data$titl2.str || (_parameters$data$cont2 = parameters.data.contentsObj) !== null && _parameters$data$cont2 !== void 0 && _parameters$data$cont2.str || (_parameters$data$rich2 = parameters.data.richText) !== null && _parameters$data$rich2 !== void 0 && _parameters$data$rich2.str); + return _super9.call(this, parameters, { + isRenderable: isRenderable + }); + } + + _createClass(PopupAnnotationElement, [{ + key: "render", + value: function render() { + var IGNORE_TYPES = ["Line", "Square", "Circle", "PolyLine", "Polygon", "Ink"]; + this.container.className = "popupAnnotation"; + + if (IGNORE_TYPES.includes(this.data.parentType)) { + return this.container; + } + + var selector = "[data-annotation-id=\"".concat(this.data.parentId, "\"]"); + var parentElements = this.layer.querySelectorAll(selector); + + if (parentElements.length === 0) { + return this.container; + } + + var popup = new PopupElement({ + container: this.container, + trigger: Array.from(parentElements), + color: this.data.color, + titleObj: this.data.titleObj, + modificationDate: this.data.modificationDate, + contentsObj: this.data.contentsObj, + richText: this.data.richText + }); + var page = this.page; + + var rect = _util.Util.normalizeRect([this.data.parentRect[0], page.view[3] - this.data.parentRect[1] + page.view[1], this.data.parentRect[2], page.view[3] - this.data.parentRect[3] + page.view[1]]); + + var popupLeft = rect[0] + this.data.parentRect[2] - this.data.parentRect[0]; + var popupTop = rect[1]; + this.container.style.transformOrigin = "".concat(-popupLeft, "px ").concat(-popupTop, "px"); + this.container.style.left = "".concat(popupLeft, "px"); + this.container.style.top = "".concat(popupTop, "px"); + this.container.appendChild(popup.render()); + return this.container; + } + }]); + + return PopupAnnotationElement; +}(AnnotationElement); + +var PopupElement = /*#__PURE__*/function () { + function PopupElement(parameters) { + _classCallCheck(this, PopupElement); + + this.container = parameters.container; + this.trigger = parameters.trigger; + this.color = parameters.color; + this.titleObj = parameters.titleObj; + this.modificationDate = parameters.modificationDate; + this.contentsObj = parameters.contentsObj; + this.richText = parameters.richText; + this.hideWrapper = parameters.hideWrapper || false; + this.pinned = false; + } + + _createClass(PopupElement, [{ + key: "render", + value: function render() { + var _this$richText, _this$contentsObj; + + var BACKGROUND_ENLIGHT = 0.7; + var wrapper = document.createElement("div"); + wrapper.className = "popupWrapper"; + this.hideElement = this.hideWrapper ? wrapper : this.container; + this.hideElement.hidden = true; + var popup = document.createElement("div"); + popup.className = "popup"; + var color = this.color; + + if (color) { + var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0]; + var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1]; + var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2]; + popup.style.backgroundColor = _util.Util.makeHexColor(r | 0, g | 0, b | 0); + } + + var title = document.createElement("h1"); + title.dir = this.titleObj.dir; + title.textContent = this.titleObj.str; + popup.appendChild(title); + + var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate); + + if (dateObject) { + var modificationDate = document.createElement("span"); + modificationDate.className = "popupDate"; + modificationDate.textContent = "{{date}}, {{time}}"; + modificationDate.dataset.l10nId = "annotation_date_string"; + modificationDate.dataset.l10nArgs = JSON.stringify({ + date: dateObject.toLocaleDateString(), + time: dateObject.toLocaleTimeString() + }); + popup.appendChild(modificationDate); + } + + if ((_this$richText = this.richText) !== null && _this$richText !== void 0 && _this$richText.str && (!((_this$contentsObj = this.contentsObj) !== null && _this$contentsObj !== void 0 && _this$contentsObj.str) || this.contentsObj.str === this.richText.str)) { + _xfa_layer.XfaLayer.render({ + xfaHtml: this.richText.html, + intent: "richText", + div: popup + }); + + popup.lastChild.className = "richText popupContent"; + } else { + var contents = this._formatContents(this.contentsObj); + + popup.appendChild(contents); + } + + if (!Array.isArray(this.trigger)) { + this.trigger = [this.trigger]; + } + + var _iterator18 = _createForOfIteratorHelper(this.trigger), + _step18; + + try { + for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) { + var element = _step18.value; + element.addEventListener("click", this._toggle.bind(this)); + element.addEventListener("mouseover", this._show.bind(this, false)); + element.addEventListener("mouseout", this._hide.bind(this, false)); + } + } catch (err) { + _iterator18.e(err); + } finally { + _iterator18.f(); + } + + popup.addEventListener("click", this._hide.bind(this, true)); + wrapper.appendChild(popup); + return wrapper; + } + }, { + key: "_formatContents", + value: function _formatContents(_ref2) { + var str = _ref2.str, + dir = _ref2.dir; + var p = document.createElement("p"); + p.className = "popupContent"; + p.dir = dir; + var lines = str.split(/(?:\r\n?|\n)/); + + for (var i = 0, ii = lines.length; i < ii; ++i) { + var line = lines[i]; + p.appendChild(document.createTextNode(line)); + + if (i < ii - 1) { + p.appendChild(document.createElement("br")); + } + } + + return p; + } + }, { + key: "_toggle", + value: function _toggle() { + if (this.pinned) { + this._hide(true); + } else { + this._show(true); + } + } + }, { + key: "_show", + value: function _show() { + var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (pin) { + this.pinned = true; + } + + if (this.hideElement.hidden) { + this.hideElement.hidden = false; + this.container.style.zIndex += 1; + } + } + }, { + key: "_hide", + value: function _hide() { + var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + + if (unpin) { + this.pinned = false; + } + + if (!this.hideElement.hidden && !this.pinned) { + this.hideElement.hidden = true; + this.container.style.zIndex -= 1; + } + } + }]); + + return PopupElement; +}(); + +var FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) { + _inherits(FreeTextAnnotationElement, _AnnotationElement5); + + var _super10 = _createSuper(FreeTextAnnotationElement); + + function FreeTextAnnotationElement(parameters) { + var _parameters$data$titl3, _parameters$data$cont3, _parameters$data$rich3; + + _classCallCheck(this, FreeTextAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl3 = parameters.data.titleObj) !== null && _parameters$data$titl3 !== void 0 && _parameters$data$titl3.str || (_parameters$data$cont3 = parameters.data.contentsObj) !== null && _parameters$data$cont3 !== void 0 && _parameters$data$cont3.str || (_parameters$data$rich3 = parameters.data.richText) !== null && _parameters$data$rich3 !== void 0 && _parameters$data$rich3.str); + return _super10.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + } + + _createClass(FreeTextAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = "freeTextAnnotation"; + + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + return this.container; + } + }]); + + return FreeTextAnnotationElement; +}(AnnotationElement); + +var LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) { + _inherits(LineAnnotationElement, _AnnotationElement6); + + var _super11 = _createSuper(LineAnnotationElement); + + function LineAnnotationElement(parameters) { + var _parameters$data$titl4, _parameters$data$cont4, _parameters$data$rich4; + + _classCallCheck(this, LineAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl4 = parameters.data.titleObj) !== null && _parameters$data$titl4 !== void 0 && _parameters$data$titl4.str || (_parameters$data$cont4 = parameters.data.contentsObj) !== null && _parameters$data$cont4 !== void 0 && _parameters$data$cont4.str || (_parameters$data$rich4 = parameters.data.richText) !== null && _parameters$data$rich4 !== void 0 && _parameters$data$rich4.str); + return _super11.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + } + + _createClass(LineAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = "lineAnnotation"; + var data = this.data; + + var _getRectDims2 = getRectDims(data.rect), + width = _getRectDims2.width, + height = _getRectDims2.height; + + var svg = this.svgFactory.create(width, height); + var line = this.svgFactory.createElement("svg:line"); + line.setAttribute("x1", data.rect[2] - data.lineCoordinates[0]); + line.setAttribute("y1", data.rect[3] - data.lineCoordinates[1]); + line.setAttribute("x2", data.rect[2] - data.lineCoordinates[2]); + line.setAttribute("y2", data.rect[3] - data.lineCoordinates[3]); + line.setAttribute("stroke-width", data.borderStyle.width || 1); + line.setAttribute("stroke", "transparent"); + line.setAttribute("fill", "transparent"); + svg.appendChild(line); + this.container.append(svg); + + this._createPopup(line, data); + + return this.container; + } + }]); + + return LineAnnotationElement; +}(AnnotationElement); + +var SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) { + _inherits(SquareAnnotationElement, _AnnotationElement7); + + var _super12 = _createSuper(SquareAnnotationElement); + + function SquareAnnotationElement(parameters) { + var _parameters$data$titl5, _parameters$data$cont5, _parameters$data$rich5; + + _classCallCheck(this, SquareAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl5 = parameters.data.titleObj) !== null && _parameters$data$titl5 !== void 0 && _parameters$data$titl5.str || (_parameters$data$cont5 = parameters.data.contentsObj) !== null && _parameters$data$cont5 !== void 0 && _parameters$data$cont5.str || (_parameters$data$rich5 = parameters.data.richText) !== null && _parameters$data$rich5 !== void 0 && _parameters$data$rich5.str); + return _super12.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + } + + _createClass(SquareAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = "squareAnnotation"; + var data = this.data; + + var _getRectDims3 = getRectDims(data.rect), + width = _getRectDims3.width, + height = _getRectDims3.height; + + var svg = this.svgFactory.create(width, height); + var borderWidth = data.borderStyle.width; + var square = this.svgFactory.createElement("svg:rect"); + square.setAttribute("x", borderWidth / 2); + square.setAttribute("y", borderWidth / 2); + square.setAttribute("width", width - borderWidth); + square.setAttribute("height", height - borderWidth); + square.setAttribute("stroke-width", borderWidth || 1); + square.setAttribute("stroke", "transparent"); + square.setAttribute("fill", "transparent"); + svg.appendChild(square); + this.container.append(svg); + + this._createPopup(square, data); + + return this.container; + } + }]); + + return SquareAnnotationElement; +}(AnnotationElement); + +var CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) { + _inherits(CircleAnnotationElement, _AnnotationElement8); + + var _super13 = _createSuper(CircleAnnotationElement); + + function CircleAnnotationElement(parameters) { + var _parameters$data$titl6, _parameters$data$cont6, _parameters$data$rich6; + + _classCallCheck(this, CircleAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl6 = parameters.data.titleObj) !== null && _parameters$data$titl6 !== void 0 && _parameters$data$titl6.str || (_parameters$data$cont6 = parameters.data.contentsObj) !== null && _parameters$data$cont6 !== void 0 && _parameters$data$cont6.str || (_parameters$data$rich6 = parameters.data.richText) !== null && _parameters$data$rich6 !== void 0 && _parameters$data$rich6.str); + return _super13.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + } + + _createClass(CircleAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = "circleAnnotation"; + var data = this.data; + + var _getRectDims4 = getRectDims(data.rect), + width = _getRectDims4.width, + height = _getRectDims4.height; + + var svg = this.svgFactory.create(width, height); + var borderWidth = data.borderStyle.width; + var circle = this.svgFactory.createElement("svg:ellipse"); + circle.setAttribute("cx", width / 2); + circle.setAttribute("cy", height / 2); + circle.setAttribute("rx", width / 2 - borderWidth / 2); + circle.setAttribute("ry", height / 2 - borderWidth / 2); + circle.setAttribute("stroke-width", borderWidth || 1); + circle.setAttribute("stroke", "transparent"); + circle.setAttribute("fill", "transparent"); + svg.appendChild(circle); + this.container.append(svg); + + this._createPopup(circle, data); + + return this.container; + } + }]); + + return CircleAnnotationElement; +}(AnnotationElement); + +var PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) { + _inherits(PolylineAnnotationElement, _AnnotationElement9); + + var _super14 = _createSuper(PolylineAnnotationElement); + + function PolylineAnnotationElement(parameters) { + var _parameters$data$titl7, _parameters$data$cont7, _parameters$data$rich7; + + var _this11; + + _classCallCheck(this, PolylineAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl7 = parameters.data.titleObj) !== null && _parameters$data$titl7 !== void 0 && _parameters$data$titl7.str || (_parameters$data$cont7 = parameters.data.contentsObj) !== null && _parameters$data$cont7 !== void 0 && _parameters$data$cont7.str || (_parameters$data$rich7 = parameters.data.richText) !== null && _parameters$data$rich7 !== void 0 && _parameters$data$rich7.str); + _this11 = _super14.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + _this11.containerClassName = "polylineAnnotation"; + _this11.svgElementName = "svg:polyline"; + return _this11; + } + + _createClass(PolylineAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = this.containerClassName; + var data = this.data; + + var _getRectDims5 = getRectDims(data.rect), + width = _getRectDims5.width, + height = _getRectDims5.height; + + var svg = this.svgFactory.create(width, height); + var points = []; + + var _iterator19 = _createForOfIteratorHelper(data.vertices), + _step19; + + try { + for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) { + var coordinate = _step19.value; + var x = coordinate.x - data.rect[0]; + var y = data.rect[3] - coordinate.y; + points.push(x + "," + y); + } + } catch (err) { + _iterator19.e(err); + } finally { + _iterator19.f(); + } + + points = points.join(" "); + var polyline = this.svgFactory.createElement(this.svgElementName); + polyline.setAttribute("points", points); + polyline.setAttribute("stroke-width", data.borderStyle.width || 1); + polyline.setAttribute("stroke", "transparent"); + polyline.setAttribute("fill", "transparent"); + svg.appendChild(polyline); + this.container.append(svg); + + this._createPopup(polyline, data); + + return this.container; + } + }]); + + return PolylineAnnotationElement; +}(AnnotationElement); + +var PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) { + _inherits(PolygonAnnotationElement, _PolylineAnnotationEl); + + var _super15 = _createSuper(PolygonAnnotationElement); + + function PolygonAnnotationElement(parameters) { + var _this12; + + _classCallCheck(this, PolygonAnnotationElement); + + _this12 = _super15.call(this, parameters); + _this12.containerClassName = "polygonAnnotation"; + _this12.svgElementName = "svg:polygon"; + return _this12; + } + + return _createClass(PolygonAnnotationElement); +}(PolylineAnnotationElement); + +var CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) { + _inherits(CaretAnnotationElement, _AnnotationElement10); + + var _super16 = _createSuper(CaretAnnotationElement); + + function CaretAnnotationElement(parameters) { + var _parameters$data$titl8, _parameters$data$cont8, _parameters$data$rich8; + + _classCallCheck(this, CaretAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl8 = parameters.data.titleObj) !== null && _parameters$data$titl8 !== void 0 && _parameters$data$titl8.str || (_parameters$data$cont8 = parameters.data.contentsObj) !== null && _parameters$data$cont8 !== void 0 && _parameters$data$cont8.str || (_parameters$data$rich8 = parameters.data.richText) !== null && _parameters$data$rich8 !== void 0 && _parameters$data$rich8.str); + return _super16.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + } + + _createClass(CaretAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = "caretAnnotation"; + + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + return this.container; + } + }]); + + return CaretAnnotationElement; +}(AnnotationElement); + +var InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) { + _inherits(InkAnnotationElement, _AnnotationElement11); + + var _super17 = _createSuper(InkAnnotationElement); + + function InkAnnotationElement(parameters) { + var _parameters$data$titl9, _parameters$data$cont9, _parameters$data$rich9; + + var _this13; + + _classCallCheck(this, InkAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl9 = parameters.data.titleObj) !== null && _parameters$data$titl9 !== void 0 && _parameters$data$titl9.str || (_parameters$data$cont9 = parameters.data.contentsObj) !== null && _parameters$data$cont9 !== void 0 && _parameters$data$cont9.str || (_parameters$data$rich9 = parameters.data.richText) !== null && _parameters$data$rich9 !== void 0 && _parameters$data$rich9.str); + _this13 = _super17.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + _this13.containerClassName = "inkAnnotation"; + _this13.svgElementName = "svg:polyline"; + return _this13; + } + + _createClass(InkAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = this.containerClassName; + var data = this.data; + + var _getRectDims6 = getRectDims(data.rect), + width = _getRectDims6.width, + height = _getRectDims6.height; + + var svg = this.svgFactory.create(width, height); + + var _iterator20 = _createForOfIteratorHelper(data.inkLists), + _step20; + + try { + for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) { + var inkList = _step20.value; + var points = []; + + var _iterator21 = _createForOfIteratorHelper(inkList), + _step21; + + try { + for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) { + var coordinate = _step21.value; + var x = coordinate.x - data.rect[0]; + var y = data.rect[3] - coordinate.y; + points.push("".concat(x, ",").concat(y)); + } + } catch (err) { + _iterator21.e(err); + } finally { + _iterator21.f(); + } + + points = points.join(" "); + var polyline = this.svgFactory.createElement(this.svgElementName); + polyline.setAttribute("points", points); + polyline.setAttribute("stroke-width", data.borderStyle.width || 1); + polyline.setAttribute("stroke", "transparent"); + polyline.setAttribute("fill", "transparent"); + + this._createPopup(polyline, data); + + svg.appendChild(polyline); + } + } catch (err) { + _iterator20.e(err); + } finally { + _iterator20.f(); + } + + this.container.append(svg); + return this.container; + } + }]); + + return InkAnnotationElement; +}(AnnotationElement); + +var HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) { + _inherits(HighlightAnnotationElement, _AnnotationElement12); + + var _super18 = _createSuper(HighlightAnnotationElement); + + function HighlightAnnotationElement(parameters) { + var _parameters$data$titl10, _parameters$data$cont10, _parameters$data$rich10; + + _classCallCheck(this, HighlightAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl10 = parameters.data.titleObj) !== null && _parameters$data$titl10 !== void 0 && _parameters$data$titl10.str || (_parameters$data$cont10 = parameters.data.contentsObj) !== null && _parameters$data$cont10 !== void 0 && _parameters$data$cont10.str || (_parameters$data$rich10 = parameters.data.richText) !== null && _parameters$data$rich10 !== void 0 && _parameters$data$rich10.str); + return _super18.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + + _createClass(HighlightAnnotationElement, [{ + key: "render", + value: function render() { + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + if (this.quadrilaterals) { + return this._renderQuadrilaterals("highlightAnnotation"); + } + + this.container.className = "highlightAnnotation"; + return this.container; + } + }]); + + return HighlightAnnotationElement; +}(AnnotationElement); + +var UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) { + _inherits(UnderlineAnnotationElement, _AnnotationElement13); + + var _super19 = _createSuper(UnderlineAnnotationElement); + + function UnderlineAnnotationElement(parameters) { + var _parameters$data$titl11, _parameters$data$cont11, _parameters$data$rich11; + + _classCallCheck(this, UnderlineAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl11 = parameters.data.titleObj) !== null && _parameters$data$titl11 !== void 0 && _parameters$data$titl11.str || (_parameters$data$cont11 = parameters.data.contentsObj) !== null && _parameters$data$cont11 !== void 0 && _parameters$data$cont11.str || (_parameters$data$rich11 = parameters.data.richText) !== null && _parameters$data$rich11 !== void 0 && _parameters$data$rich11.str); + return _super19.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + + _createClass(UnderlineAnnotationElement, [{ + key: "render", + value: function render() { + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + if (this.quadrilaterals) { + return this._renderQuadrilaterals("underlineAnnotation"); + } + + this.container.className = "underlineAnnotation"; + return this.container; + } + }]); + + return UnderlineAnnotationElement; +}(AnnotationElement); + +var SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) { + _inherits(SquigglyAnnotationElement, _AnnotationElement14); + + var _super20 = _createSuper(SquigglyAnnotationElement); + + function SquigglyAnnotationElement(parameters) { + var _parameters$data$titl12, _parameters$data$cont12, _parameters$data$rich12; + + _classCallCheck(this, SquigglyAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl12 = parameters.data.titleObj) !== null && _parameters$data$titl12 !== void 0 && _parameters$data$titl12.str || (_parameters$data$cont12 = parameters.data.contentsObj) !== null && _parameters$data$cont12 !== void 0 && _parameters$data$cont12.str || (_parameters$data$rich12 = parameters.data.richText) !== null && _parameters$data$rich12 !== void 0 && _parameters$data$rich12.str); + return _super20.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + + _createClass(SquigglyAnnotationElement, [{ + key: "render", + value: function render() { + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + if (this.quadrilaterals) { + return this._renderQuadrilaterals("squigglyAnnotation"); + } + + this.container.className = "squigglyAnnotation"; + return this.container; + } + }]); + + return SquigglyAnnotationElement; +}(AnnotationElement); + +var StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) { + _inherits(StrikeOutAnnotationElement, _AnnotationElement15); + + var _super21 = _createSuper(StrikeOutAnnotationElement); + + function StrikeOutAnnotationElement(parameters) { + var _parameters$data$titl13, _parameters$data$cont13, _parameters$data$rich13; + + _classCallCheck(this, StrikeOutAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl13 = parameters.data.titleObj) !== null && _parameters$data$titl13 !== void 0 && _parameters$data$titl13.str || (_parameters$data$cont13 = parameters.data.contentsObj) !== null && _parameters$data$cont13 !== void 0 && _parameters$data$cont13.str || (_parameters$data$rich13 = parameters.data.richText) !== null && _parameters$data$rich13 !== void 0 && _parameters$data$rich13.str); + return _super21.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + + _createClass(StrikeOutAnnotationElement, [{ + key: "render", + value: function render() { + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + if (this.quadrilaterals) { + return this._renderQuadrilaterals("strikeoutAnnotation"); + } + + this.container.className = "strikeoutAnnotation"; + return this.container; + } + }]); + + return StrikeOutAnnotationElement; +}(AnnotationElement); + +var StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) { + _inherits(StampAnnotationElement, _AnnotationElement16); + + var _super22 = _createSuper(StampAnnotationElement); + + function StampAnnotationElement(parameters) { + var _parameters$data$titl14, _parameters$data$cont14, _parameters$data$rich14; + + _classCallCheck(this, StampAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl14 = parameters.data.titleObj) !== null && _parameters$data$titl14 !== void 0 && _parameters$data$titl14.str || (_parameters$data$cont14 = parameters.data.contentsObj) !== null && _parameters$data$cont14 !== void 0 && _parameters$data$cont14.str || (_parameters$data$rich14 = parameters.data.richText) !== null && _parameters$data$rich14 !== void 0 && _parameters$data$rich14.str); + return _super22.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + } + + _createClass(StampAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = "stampAnnotation"; + + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + return this.container; + } + }]); + + return StampAnnotationElement; +}(AnnotationElement); + +var FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement17) { + _inherits(FileAttachmentAnnotationElement, _AnnotationElement17); + + var _super23 = _createSuper(FileAttachmentAnnotationElement); + + function FileAttachmentAnnotationElement(parameters) { + var _this14$linkService$e; + + var _this14; + + _classCallCheck(this, FileAttachmentAnnotationElement); + + _this14 = _super23.call(this, parameters, { + isRenderable: true + }); + var _this14$data$file = _this14.data.file, + filename = _this14$data$file.filename, + content = _this14$data$file.content; + _this14.filename = (0, _display_utils.getFilenameFromUrl)(filename); + _this14.content = content; + (_this14$linkService$e = _this14.linkService.eventBus) === null || _this14$linkService$e === void 0 ? void 0 : _this14$linkService$e.dispatch("fileattachmentannotation", { + source: _assertThisInitialized(_this14), + id: (0, _util.stringToPDFString)(filename), + filename: filename, + content: content + }); + return _this14; + } + + _createClass(FileAttachmentAnnotationElement, [{ + key: "render", + value: function render() { + var _this$data$titleObj, _this$data$contentsOb; + + this.container.className = "fileAttachmentAnnotation"; + var trigger = document.createElement("div"); + trigger.style.height = this.container.style.height; + trigger.style.width = this.container.style.width; + trigger.addEventListener("dblclick", this._download.bind(this)); + + if (!this.data.hasPopup && ((_this$data$titleObj = this.data.titleObj) !== null && _this$data$titleObj !== void 0 && _this$data$titleObj.str || (_this$data$contentsOb = this.data.contentsObj) !== null && _this$data$contentsOb !== void 0 && _this$data$contentsOb.str || this.data.richText)) { + this._createPopup(trigger, this.data); + } + + this.container.appendChild(trigger); + return this.container; + } + }, { + key: "_download", + value: function _download() { + var _this$downloadManager; + + (_this$downloadManager = this.downloadManager) === null || _this$downloadManager === void 0 ? void 0 : _this$downloadManager.openOrDownloadData(this.container, this.content, this.filename); + } + }]); + + return FileAttachmentAnnotationElement; +}(AnnotationElement); + +var AnnotationLayer = /*#__PURE__*/function () { + function AnnotationLayer() { + _classCallCheck(this, AnnotationLayer); + } + + _createClass(AnnotationLayer, null, [{ + key: "render", + value: function render(parameters) { + var sortedAnnotations = [], + popupAnnotations = []; + + var _iterator22 = _createForOfIteratorHelper(parameters.annotations), + _step22; + + try { + for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) { + var _data = _step22.value; + + if (!_data) { + continue; + } + + var _getRectDims7 = getRectDims(_data.rect), + width = _getRectDims7.width, + height = _getRectDims7.height; + + if (width <= 0 || height <= 0) { + continue; + } + + if (_data.annotationType === _util.AnnotationType.POPUP) { + popupAnnotations.push(_data); + continue; + } + + sortedAnnotations.push(_data); + } + } catch (err) { + _iterator22.e(err); + } finally { + _iterator22.f(); + } + + if (popupAnnotations.length) { + sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations); + } + + var div = parameters.div; + + for (var _i7 = 0, _sortedAnnotations = sortedAnnotations; _i7 < _sortedAnnotations.length; _i7++) { + var data = _sortedAnnotations[_i7]; + var element = AnnotationElementFactory.create({ + data: data, + layer: div, + page: parameters.page, + viewport: parameters.viewport, + linkService: parameters.linkService, + downloadManager: parameters.downloadManager, + imageResourcesPath: parameters.imageResourcesPath || "", + renderForms: parameters.renderForms !== false, + svgFactory: new _display_utils.DOMSVGFactory(), + annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage(), + enableScripting: parameters.enableScripting, + hasJSActions: parameters.hasJSActions, + fieldObjects: parameters.fieldObjects, + mouseState: parameters.mouseState || { + isDown: false + } + }); + + if (element.isRenderable) { + var rendered = element.render(); + + if (data.hidden) { + rendered.style.visibility = "hidden"; + } + + if (Array.isArray(rendered)) { + var _iterator23 = _createForOfIteratorHelper(rendered), + _step23; + + try { + for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) { + var renderedElement = _step23.value; + div.appendChild(renderedElement); + } + } catch (err) { + _iterator23.e(err); + } finally { + _iterator23.f(); + } + } else { + if (element instanceof PopupAnnotationElement) { + div.prepend(rendered); + } else { + div.appendChild(rendered); + } + } + } + } + + _classStaticPrivateMethodGet(this, AnnotationLayer, _setAnnotationCanvasMap).call(this, div, parameters.annotationCanvasMap); + } + }, { + key: "update", + value: function update(parameters) { + var page = parameters.page, + viewport = parameters.viewport, + annotations = parameters.annotations, + annotationCanvasMap = parameters.annotationCanvasMap, + div = parameters.div; + var transform = viewport.transform; + var matrix = "matrix(".concat(transform.join(","), ")"); + var scale, ownMatrix; + + var _iterator24 = _createForOfIteratorHelper(annotations), + _step24; + + try { + for (_iterator24.s(); !(_step24 = _iterator24.n()).done;) { + var data = _step24.value; + var elements = div.querySelectorAll("[data-annotation-id=\"".concat(data.id, "\"]")); + + if (elements) { + var _iterator25 = _createForOfIteratorHelper(elements), + _step25; + + try { + for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) { + var element = _step25.value; + + if (data.hasOwnCanvas) { + var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]); + + if (!ownMatrix) { + scale = Math.abs(transform[0] || transform[1]); + var ownTransform = transform.slice(); + + for (var i = 0; i < 4; i++) { + ownTransform[i] = Math.sign(ownTransform[i]); + } + + ownMatrix = "matrix(".concat(ownTransform.join(","), ")"); + } + + var left = rect[0] * scale; + var top = rect[1] * scale; + element.style.left = "".concat(left, "px"); + element.style.top = "".concat(top, "px"); + element.style.transformOrigin = "".concat(-left, "px ").concat(-top, "px"); + element.style.transform = ownMatrix; + } else { + element.style.transform = matrix; + } + } + } catch (err) { + _iterator25.e(err); + } finally { + _iterator25.f(); + } + } + } + } catch (err) { + _iterator24.e(err); + } finally { + _iterator24.f(); + } + + _classStaticPrivateMethodGet(this, AnnotationLayer, _setAnnotationCanvasMap).call(this, div, annotationCanvasMap); + + div.hidden = false; + } + }]); + + return AnnotationLayer; +}(); + +exports.AnnotationLayer = AnnotationLayer; + +function _setAnnotationCanvasMap(div, annotationCanvasMap) { + if (!annotationCanvasMap) { + return; + } + + var _iterator26 = _createForOfIteratorHelper(annotationCanvasMap), + _step26; + + try { + for (_iterator26.s(); !(_step26 = _iterator26.n()).done;) { + var _step26$value = _slicedToArray(_step26.value, 2), + id = _step26$value[0], + canvas = _step26$value[1]; + + var element = div.querySelector("[data-annotation-id=\"".concat(id, "\"]")); + + if (!element) { + continue; + } + + var firstChild = element.firstChild; + + if (firstChild.nodeName === "CANVAS") { + element.replaceChild(canvas, firstChild); + } else { + element.insertBefore(canvas, firstChild); + } + } + } catch (err) { + _iterator26.e(err); + } finally { + _iterator26.f(); + } + + annotationCanvasMap.clear(); +} + +/***/ }), +/* 160 */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.ColorConverters = void 0; + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function makeColorComp(n) { + return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, "0"); +} + +var ColorConverters = /*#__PURE__*/function () { + function ColorConverters() { + _classCallCheck(this, ColorConverters); + } + + _createClass(ColorConverters, null, [{ + key: "CMYK_G", + value: function CMYK_G(_ref) { + var _ref2 = _slicedToArray(_ref, 4), + c = _ref2[0], + y = _ref2[1], + m = _ref2[2], + k = _ref2[3]; + + return ["G", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)]; + } + }, { + key: "G_CMYK", + value: function G_CMYK(_ref3) { + var _ref4 = _slicedToArray(_ref3, 1), + g = _ref4[0]; + + return ["CMYK", 0, 0, 0, 1 - g]; + } + }, { + key: "G_RGB", + value: function G_RGB(_ref5) { + var _ref6 = _slicedToArray(_ref5, 1), + g = _ref6[0]; + + return ["RGB", g, g, g]; + } + }, { + key: "G_HTML", + value: function G_HTML(_ref7) { + var _ref8 = _slicedToArray(_ref7, 1), + g = _ref8[0]; + + var G = makeColorComp(g); + return "#".concat(G).concat(G).concat(G); + } + }, { + key: "RGB_G", + value: function RGB_G(_ref9) { + var _ref10 = _slicedToArray(_ref9, 3), + r = _ref10[0], + g = _ref10[1], + b = _ref10[2]; + + return ["G", 0.3 * r + 0.59 * g + 0.11 * b]; + } + }, { + key: "RGB_HTML", + value: function RGB_HTML(_ref11) { + var _ref12 = _slicedToArray(_ref11, 3), + r = _ref12[0], + g = _ref12[1], + b = _ref12[2]; + + var R = makeColorComp(r); + var G = makeColorComp(g); + var B = makeColorComp(b); + return "#".concat(R).concat(G).concat(B); + } + }, { + key: "T_HTML", + value: function T_HTML() { + return "#00000000"; + } + }, { + key: "CMYK_RGB", + value: function CMYK_RGB(_ref13) { + var _ref14 = _slicedToArray(_ref13, 4), + c = _ref14[0], + y = _ref14[1], + m = _ref14[2], + k = _ref14[3]; + + return ["RGB", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)]; + } + }, { + key: "CMYK_HTML", + value: function CMYK_HTML(components) { + return this.RGB_HTML(this.CMYK_RGB(components)); + } + }, { + key: "RGB_CMYK", + value: function RGB_CMYK(_ref15) { + var _ref16 = _slicedToArray(_ref15, 3), + r = _ref16[0], + g = _ref16[1], + b = _ref16[2]; + + var c = 1 - r; + var m = 1 - g; + var y = 1 - b; + var k = Math.min(c, m, y); + return ["CMYK", c, m, y, k]; + } + }]); + + return ColorConverters; +}(); + +exports.ColorConverters = ColorConverters; + +/***/ }), +/* 161 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.XfaLayer = void 0; + +var _util = __w_pdfjs_require__(1); + +var _xfa_text = __w_pdfjs_require__(158); + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var XfaLayer = /*#__PURE__*/function () { + function XfaLayer() { + _classCallCheck(this, XfaLayer); + } + + _createClass(XfaLayer, null, [{ + key: "setupStorage", + value: function setupStorage(html, id, element, storage, intent) { + var storedData = storage.getValue(id, { + value: null + }); + + switch (element.name) { + case "textarea": + if (storedData.value !== null) { + html.textContent = storedData.value; + } + + if (intent === "print") { + break; + } + + html.addEventListener("input", function (event) { + storage.setValue(id, { + value: event.target.value + }); + }); + break; + + case "input": + if (element.attributes.type === "radio" || element.attributes.type === "checkbox") { + if (storedData.value === element.attributes.xfaOn) { + html.setAttribute("checked", true); + } else if (storedData.value === element.attributes.xfaOff) { + html.removeAttribute("checked"); + } + + if (intent === "print") { + break; + } + + html.addEventListener("change", function (event) { + storage.setValue(id, { + value: event.target.checked ? event.target.getAttribute("xfaOn") : event.target.getAttribute("xfaOff") + }); + }); + } else { + if (storedData.value !== null) { + html.setAttribute("value", storedData.value); + } + + if (intent === "print") { + break; + } + + html.addEventListener("input", function (event) { + storage.setValue(id, { + value: event.target.value + }); + }); + } + + break; + + case "select": + if (storedData.value !== null) { + var _iterator = _createForOfIteratorHelper(element.children), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var option = _step.value; + + if (option.attributes.value === storedData.value) { + option.attributes.selected = true; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + + html.addEventListener("input", function (event) { + var options = event.target.options; + var value = options.selectedIndex === -1 ? "" : options[options.selectedIndex].value; + storage.setValue(id, { + value: value + }); + }); + break; + } + } + }, { + key: "setAttributes", + value: function setAttributes(_ref) { + var html = _ref.html, + element = _ref.element, + _ref$storage = _ref.storage, + storage = _ref$storage === void 0 ? null : _ref$storage, + intent = _ref.intent, + linkService = _ref.linkService; + var attributes = element.attributes; + var isHTMLAnchorElement = html instanceof HTMLAnchorElement; + + if (attributes.type === "radio") { + attributes.name = "".concat(attributes.name, "-").concat(intent); + } + + for (var _i = 0, _Object$entries = Object.entries(attributes); _i < _Object$entries.length; _i++) { + var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), + key = _Object$entries$_i[0], + value = _Object$entries$_i[1]; + + if (value === null || value === undefined || key === "dataId") { + continue; + } + + if (key !== "style") { + if (key === "textContent") { + html.textContent = value; + } else if (key === "class") { + if (value.length) { + html.setAttribute(key, value.join(" ")); + } + } else { + if (isHTMLAnchorElement && (key === "href" || key === "newWindow")) { + continue; + } + + html.setAttribute(key, value); + } + } else { + Object.assign(html.style, value); + } + } + + if (isHTMLAnchorElement) { + var _linkService$addLinkA; + + if (!linkService.addLinkAttributes) { + (0, _util.warn)("XfaLayer.setAttribute - missing `addLinkAttributes`-method on the `linkService`-instance."); + } + + (_linkService$addLinkA = linkService.addLinkAttributes) === null || _linkService$addLinkA === void 0 ? void 0 : _linkService$addLinkA.call(linkService, html, attributes.href, attributes.newWindow); + } + + if (storage && attributes.dataId) { + this.setupStorage(html, attributes.dataId, element, storage); + } + } + }, { + key: "render", + value: function render(parameters) { + var storage = parameters.annotationStorage; + var linkService = parameters.linkService; + var root = parameters.xfaHtml; + var intent = parameters.intent || "display"; + var rootHtml = document.createElement(root.name); + + if (root.attributes) { + this.setAttributes({ + html: rootHtml, + element: root, + intent: intent, + linkService: linkService + }); + } + + var stack = [[root, -1, rootHtml]]; + var rootDiv = parameters.div; + rootDiv.appendChild(rootHtml); + + if (parameters.viewport) { + var transform = "matrix(".concat(parameters.viewport.transform.join(","), ")"); + rootDiv.style.transform = transform; + } + + if (intent !== "richText") { + rootDiv.setAttribute("class", "xfaLayer xfaFont"); + } + + var textDivs = []; + + while (stack.length > 0) { + var _child$attributes; + + var _stack = _slicedToArray(stack[stack.length - 1], 3), + parent = _stack[0], + i = _stack[1], + html = _stack[2]; + + if (i + 1 === parent.children.length) { + stack.pop(); + continue; + } + + var child = parent.children[++stack[stack.length - 1][1]]; + + if (child === null) { + continue; + } + + var name = child.name; + + if (name === "#text") { + var node = document.createTextNode(child.value); + textDivs.push(node); + html.appendChild(node); + continue; + } + + var childHtml = void 0; + + if (child !== null && child !== void 0 && (_child$attributes = child.attributes) !== null && _child$attributes !== void 0 && _child$attributes.xmlns) { + childHtml = document.createElementNS(child.attributes.xmlns, name); + } else { + childHtml = document.createElement(name); + } + + html.appendChild(childHtml); + + if (child.attributes) { + this.setAttributes({ + html: childHtml, + element: child, + storage: storage, + intent: intent, + linkService: linkService + }); + } + + if (child.children && child.children.length > 0) { + stack.push([child, -1, childHtml]); + } else if (child.value) { + var _node = document.createTextNode(child.value); + + if (_xfa_text.XfaText.shouldBuildText(name)) { + textDivs.push(_node); + } + + childHtml.appendChild(_node); + } + } + + var _iterator2 = _createForOfIteratorHelper(rootDiv.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea")), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var el = _step2.value; + el.setAttribute("readOnly", true); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + return { + textDivs: textDivs + }; + } + }, { + key: "update", + value: function update(parameters) { + var transform = "matrix(".concat(parameters.viewport.transform.join(","), ")"); + parameters.div.style.transform = transform; + parameters.div.hidden = false; + } + }]); + + return XfaLayer; +}(); + +exports.XfaLayer = XfaLayer; + +/***/ }), +/* 162 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.renderTextLayer = renderTextLayer; + +var _util = __w_pdfjs_require__(1); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +var MAX_TEXT_DIVS_TO_RENDER = 100000; +var DEFAULT_FONT_SIZE = 30; +var DEFAULT_FONT_ASCENT = 0.8; +var ascentCache = new Map(); +var AllWhitespaceRegexp = /^\s+$/g; + +function getAscent(fontFamily, ctx) { + var cachedAscent = ascentCache.get(fontFamily); + + if (cachedAscent) { + return cachedAscent; + } + + ctx.save(); + ctx.font = "".concat(DEFAULT_FONT_SIZE, "px ").concat(fontFamily); + var metrics = ctx.measureText(""); + var ascent = metrics.fontBoundingBoxAscent; + var descent = Math.abs(metrics.fontBoundingBoxDescent); + + if (ascent) { + ctx.restore(); + var ratio = ascent / (ascent + descent); + ascentCache.set(fontFamily, ratio); + return ratio; + } + + ctx.strokeStyle = "red"; + ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE); + ctx.strokeText("g", 0, 0); + var pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data; + descent = 0; + + for (var i = pixels.length - 1 - 3; i >= 0; i -= 4) { + if (pixels[i] > 0) { + descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE); + break; + } + } + + ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE); + ctx.strokeText("A", 0, DEFAULT_FONT_SIZE); + pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data; + ascent = 0; + + for (var _i = 0, ii = pixels.length; _i < ii; _i += 4) { + if (pixels[_i] > 0) { + ascent = DEFAULT_FONT_SIZE - Math.floor(_i / 4 / DEFAULT_FONT_SIZE); + break; + } + } + + ctx.restore(); + + if (ascent) { + var _ratio = ascent / (ascent + descent); + + ascentCache.set(fontFamily, _ratio); + return _ratio; + } + + ascentCache.set(fontFamily, DEFAULT_FONT_ASCENT); + return DEFAULT_FONT_ASCENT; +} + +function appendText(task, geom, styles, ctx) { + var textDiv = document.createElement("span"); + var textDivProperties = task._enhanceTextSelection ? { + angle: 0, + canvasWidth: 0, + hasText: geom.str !== "", + hasEOL: geom.hasEOL, + originalTransform: null, + paddingBottom: 0, + paddingLeft: 0, + paddingRight: 0, + paddingTop: 0, + scale: 1 + } : { + angle: 0, + canvasWidth: 0, + hasText: geom.str !== "", + hasEOL: geom.hasEOL + }; + + task._textDivs.push(textDiv); + + var tx = _util.Util.transform(task._viewport.transform, geom.transform); + + var angle = Math.atan2(tx[1], tx[0]); + var style = styles[geom.fontName]; + + if (style.vertical) { + angle += Math.PI / 2; + } + + var fontHeight = Math.hypot(tx[2], tx[3]); + var fontAscent = fontHeight * getAscent(style.fontFamily, ctx); + var left, top; + + if (angle === 0) { + left = tx[4]; + top = tx[5] - fontAscent; + } else { + left = tx[4] + fontAscent * Math.sin(angle); + top = tx[5] - fontAscent * Math.cos(angle); + } + + textDiv.style.left = "".concat(left, "px"); + textDiv.style.top = "".concat(top, "px"); + textDiv.style.fontSize = "".concat(fontHeight / 16.0, "em"); + textDiv.style.fontFamily = style.fontFamily; + textDiv.setAttribute("role", "presentation"); + textDiv.textContent = geom.str; + textDiv.dir = geom.dir; + + if (task._fontInspectorEnabled) { + textDiv.dataset.fontName = geom.fontName; + } + + if (angle !== 0) { + textDivProperties.angle = angle * (180 / Math.PI); + } + + var shouldScaleText = false; + + if (geom.str.length > 1 || task._enhanceTextSelection && AllWhitespaceRegexp.test(geom.str)) { + shouldScaleText = true; + } else if (geom.str !== " " && geom.transform[0] !== geom.transform[3]) { + var absScaleX = Math.abs(geom.transform[0]), + absScaleY = Math.abs(geom.transform[3]); + + if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) { + shouldScaleText = true; + } + } + + if (shouldScaleText) { + if (style.vertical) { + textDivProperties.canvasWidth = geom.height * task._viewport.scale; + } else { + textDivProperties.canvasWidth = geom.width * task._viewport.scale; + } + } + + task._textDivProperties.set(textDiv, textDivProperties); + + if (task._textContentStream) { + task._layoutText(textDiv); + } + + if (task._enhanceTextSelection && textDivProperties.hasText) { + var angleCos = 1, + angleSin = 0; + + if (angle !== 0) { + angleCos = Math.cos(angle); + angleSin = Math.sin(angle); + } + + var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale; + var divHeight = fontHeight; + var m, b; + + if (angle !== 0) { + m = [angleCos, angleSin, -angleSin, angleCos, left, top]; + b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m); + } else { + b = [left, top, left + divWidth, top + divHeight]; + } + + task._bounds.push({ + left: b[0], + top: b[1], + right: b[2], + bottom: b[3], + div: textDiv, + size: [divWidth, divHeight], + m: m + }); + } +} + +function render(task) { + if (task._canceled) { + return; + } + + var textDivs = task._textDivs; + var capability = task._capability; + var textDivsLength = textDivs.length; + + if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) { + task._renderingDone = true; + capability.resolve(); + return; + } + + if (!task._textContentStream) { + for (var i = 0; i < textDivsLength; i++) { + task._layoutText(textDivs[i]); + } + } + + task._renderingDone = true; + capability.resolve(); +} + +function findPositiveMin(ts, offset, count) { + var result = 0; + + for (var i = 0; i < count; i++) { + var t = ts[offset++]; + + if (t > 0) { + result = result ? Math.min(t, result) : t; + } + } + + return result; +} + +function expand(task) { + var bounds = task._bounds; + var viewport = task._viewport; + var expanded = expandBounds(viewport.width, viewport.height, bounds); + + for (var i = 0; i < expanded.length; i++) { + var div = bounds[i].div; + + var divProperties = task._textDivProperties.get(div); + + if (divProperties.angle === 0) { + divProperties.paddingLeft = bounds[i].left - expanded[i].left; + divProperties.paddingTop = bounds[i].top - expanded[i].top; + divProperties.paddingRight = expanded[i].right - bounds[i].right; + divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom; + + task._textDivProperties.set(div, divProperties); + + continue; + } + + var e = expanded[i], + b = bounds[i]; + var m = b.m, + c = m[0], + s = m[1]; + var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size]; + var ts = new Float64Array(64); + + for (var j = 0, jj = points.length; j < jj; j++) { + var t = _util.Util.applyTransform(points[j], m); + + ts[j + 0] = c && (e.left - t[0]) / c; + ts[j + 4] = s && (e.top - t[1]) / s; + ts[j + 8] = c && (e.right - t[0]) / c; + ts[j + 12] = s && (e.bottom - t[1]) / s; + ts[j + 16] = s && (e.left - t[0]) / -s; + ts[j + 20] = c && (e.top - t[1]) / c; + ts[j + 24] = s && (e.right - t[0]) / -s; + ts[j + 28] = c && (e.bottom - t[1]) / c; + ts[j + 32] = c && (e.left - t[0]) / -c; + ts[j + 36] = s && (e.top - t[1]) / -s; + ts[j + 40] = c && (e.right - t[0]) / -c; + ts[j + 44] = s && (e.bottom - t[1]) / -s; + ts[j + 48] = s && (e.left - t[0]) / s; + ts[j + 52] = c && (e.top - t[1]) / -c; + ts[j + 56] = s && (e.right - t[0]) / s; + ts[j + 60] = c && (e.bottom - t[1]) / -c; + } + + var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s)); + divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale; + divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale; + divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale; + divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale; + + task._textDivProperties.set(div, divProperties); + } +} + +function expandBounds(width, height, boxes) { + var bounds = boxes.map(function (box, i) { + return { + x1: box.left, + y1: box.top, + x2: box.right, + y2: box.bottom, + index: i, + x1New: undefined, + x2New: undefined + }; + }); + expandBoundsLTR(width, bounds); + var expanded = new Array(boxes.length); + + var _iterator = _createForOfIteratorHelper(bounds), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var b = _step.value; + var i = b.index; + expanded[i] = { + left: b.x1New, + top: 0, + right: b.x2New, + bottom: 0 + }; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + boxes.map(function (box, i) { + var e = expanded[i], + b = bounds[i]; + b.x1 = box.top; + b.y1 = width - e.right; + b.x2 = box.bottom; + b.y2 = width - e.left; + b.index = i; + b.x1New = undefined; + b.x2New = undefined; + }); + expandBoundsLTR(height, bounds); + + var _iterator2 = _createForOfIteratorHelper(bounds), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var _b = _step2.value; + var _i2 = _b.index; + expanded[_i2].top = _b.x1New; + expanded[_i2].bottom = _b.x2New; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + return expanded; +} + +function expandBoundsLTR(width, bounds) { + bounds.sort(function (a, b) { + return a.x1 - b.x1 || a.index - b.index; + }); + var fakeBoundary = { + x1: -Infinity, + y1: -Infinity, + x2: 0, + y2: Infinity, + index: -1, + x1New: 0, + x2New: 0 + }; + var horizon = [{ + start: -Infinity, + end: Infinity, + boundary: fakeBoundary + }]; + + var _iterator3 = _createForOfIteratorHelper(bounds), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var boundary = _step3.value; + var i = 0; + + while (i < horizon.length && horizon[i].end <= boundary.y1) { + i++; + } + + var j = horizon.length - 1; + + while (j >= 0 && horizon[j].start >= boundary.y2) { + j--; + } + + var _horizonPart = void 0, + _affectedBoundary = void 0; + + var q = void 0, + k = void 0, + maxXNew = -Infinity; + + for (q = i; q <= j; q++) { + _horizonPart = horizon[q]; + _affectedBoundary = _horizonPart.boundary; + var xNew = void 0; + + if (_affectedBoundary.x2 > boundary.x1) { + xNew = _affectedBoundary.index > boundary.index ? _affectedBoundary.x1New : boundary.x1; + } else if (_affectedBoundary.x2New === undefined) { + xNew = (_affectedBoundary.x2 + boundary.x1) / 2; + } else { + xNew = _affectedBoundary.x2New; + } + + if (xNew > maxXNew) { + maxXNew = xNew; + } + } + + boundary.x1New = maxXNew; + + for (q = i; q <= j; q++) { + _horizonPart = horizon[q]; + _affectedBoundary = _horizonPart.boundary; + + if (_affectedBoundary.x2New === undefined) { + if (_affectedBoundary.x2 > boundary.x1) { + if (_affectedBoundary.index > boundary.index) { + _affectedBoundary.x2New = _affectedBoundary.x2; + } + } else { + _affectedBoundary.x2New = maxXNew; + } + } else if (_affectedBoundary.x2New > maxXNew) { + _affectedBoundary.x2New = Math.max(maxXNew, _affectedBoundary.x2); + } + } + + var changedHorizon = []; + var lastBoundary = null; + + for (q = i; q <= j; q++) { + _horizonPart = horizon[q]; + _affectedBoundary = _horizonPart.boundary; + var useBoundary = _affectedBoundary.x2 > boundary.x2 ? _affectedBoundary : boundary; + + if (lastBoundary === useBoundary) { + changedHorizon[changedHorizon.length - 1].end = _horizonPart.end; + } else { + changedHorizon.push({ + start: _horizonPart.start, + end: _horizonPart.end, + boundary: useBoundary + }); + lastBoundary = useBoundary; + } + } + + if (horizon[i].start < boundary.y1) { + changedHorizon[0].start = boundary.y1; + changedHorizon.unshift({ + start: horizon[i].start, + end: boundary.y1, + boundary: horizon[i].boundary + }); + } + + if (boundary.y2 < horizon[j].end) { + changedHorizon[changedHorizon.length - 1].end = boundary.y2; + changedHorizon.push({ + start: boundary.y2, + end: horizon[j].end, + boundary: horizon[j].boundary + }); + } + + for (q = i; q <= j; q++) { + _horizonPart = horizon[q]; + _affectedBoundary = _horizonPart.boundary; + + if (_affectedBoundary.x2New !== undefined) { + continue; + } + + var used = false; + + for (k = i - 1; !used && k >= 0 && horizon[k].start >= _affectedBoundary.y1; k--) { + used = horizon[k].boundary === _affectedBoundary; + } + + for (k = j + 1; !used && k < horizon.length && horizon[k].end <= _affectedBoundary.y2; k++) { + used = horizon[k].boundary === _affectedBoundary; + } + + for (k = 0; !used && k < changedHorizon.length; k++) { + used = changedHorizon[k].boundary === _affectedBoundary; + } + + if (!used) { + _affectedBoundary.x2New = maxXNew; + } + } + + Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon)); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + for (var _i3 = 0, _horizon = horizon; _i3 < _horizon.length; _i3++) { + var horizonPart = _horizon[_i3]; + var affectedBoundary = horizonPart.boundary; + + if (affectedBoundary.x2New === undefined) { + affectedBoundary.x2New = Math.max(width, affectedBoundary.x2); + } + } +} + +var TextLayerRenderTask = /*#__PURE__*/function () { + function TextLayerRenderTask(_ref) { + var _globalThis$FontInspe, + _this = this; + + var textContent = _ref.textContent, + textContentStream = _ref.textContentStream, + container = _ref.container, + viewport = _ref.viewport, + textDivs = _ref.textDivs, + textContentItemsStr = _ref.textContentItemsStr, + enhanceTextSelection = _ref.enhanceTextSelection; + + _classCallCheck(this, TextLayerRenderTask); + + this._textContent = textContent; + this._textContentStream = textContentStream; + this._container = container; + this._document = container.ownerDocument; + this._viewport = viewport; + this._textDivs = textDivs || []; + this._textContentItemsStr = textContentItemsStr || []; + this._enhanceTextSelection = !!enhanceTextSelection; + this._fontInspectorEnabled = !!((_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.enabled); + this._reader = null; + this._layoutTextLastFontSize = null; + this._layoutTextLastFontFamily = null; + this._layoutTextCtx = null; + this._textDivProperties = new WeakMap(); + this._renderingDone = false; + this._canceled = false; + this._capability = (0, _util.createPromiseCapability)(); + this._renderTimer = null; + this._bounds = []; + + this._capability.promise["finally"](function () { + if (!_this._enhanceTextSelection) { + _this._textDivProperties = null; + } + + if (_this._layoutTextCtx) { + _this._layoutTextCtx.canvas.width = 0; + _this._layoutTextCtx.canvas.height = 0; + _this._layoutTextCtx = null; + } + })["catch"](function () {}); + } + + _createClass(TextLayerRenderTask, [{ + key: "promise", + get: function get() { + return this._capability.promise; + } + }, { + key: "cancel", + value: function cancel() { + this._canceled = true; + + if (this._reader) { + this._reader.cancel(new _util.AbortException("TextLayer task cancelled."))["catch"](function () {}); + + this._reader = null; + } + + if (this._renderTimer !== null) { + clearTimeout(this._renderTimer); + this._renderTimer = null; + } + + this._capability.reject(new Error("TextLayer task cancelled.")); + } + }, { + key: "_processItems", + value: function _processItems(items, styleCache) { + for (var i = 0, len = items.length; i < len; i++) { + if (items[i].str === undefined) { + if (items[i].type === "beginMarkedContentProps" || items[i].type === "beginMarkedContent") { + var parent = this._container; + this._container = document.createElement("span"); + + this._container.classList.add("markedContent"); + + if (items[i].id !== null) { + this._container.setAttribute("id", "".concat(items[i].id)); + } + + parent.appendChild(this._container); + } else if (items[i].type === "endMarkedContent") { + this._container = this._container.parentNode; + } + + continue; + } + + this._textContentItemsStr.push(items[i].str); + + appendText(this, items[i], styleCache, this._layoutTextCtx); + } + } + }, { + key: "_layoutText", + value: function _layoutText(textDiv) { + var textDivProperties = this._textDivProperties.get(textDiv); + + var transform = ""; + + if (textDivProperties.canvasWidth !== 0 && textDivProperties.hasText) { + var _textDiv$style = textDiv.style, + fontSize = _textDiv$style.fontSize, + fontFamily = _textDiv$style.fontFamily; + + if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) { + this._layoutTextCtx.font = "".concat(fontSize, " ").concat(fontFamily); + this._layoutTextLastFontSize = fontSize; + this._layoutTextLastFontFamily = fontFamily; + } + + var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent), + width = _this$_layoutTextCtx$.width; + + if (width > 0) { + var scale = textDivProperties.canvasWidth / width; + + if (this._enhanceTextSelection) { + textDivProperties.scale = scale; + } + + transform = "scaleX(".concat(scale, ")"); + } + } + + if (textDivProperties.angle !== 0) { + transform = "rotate(".concat(textDivProperties.angle, "deg) ").concat(transform); + } + + if (transform.length > 0) { + if (this._enhanceTextSelection) { + textDivProperties.originalTransform = transform; + } + + textDiv.style.transform = transform; + } + + if (textDivProperties.hasText) { + this._container.appendChild(textDiv); + } + + if (textDivProperties.hasEOL) { + var br = document.createElement("br"); + br.setAttribute("role", "presentation"); + + this._container.appendChild(br); + } + } + }, { + key: "_render", + value: function _render() { + var _this2 = this; + + var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + var capability = (0, _util.createPromiseCapability)(); + var styleCache = Object.create(null); + + var canvas = this._document.createElement("canvas"); + + canvas.height = canvas.width = DEFAULT_FONT_SIZE; + canvas.mozOpaque = true; + this._layoutTextCtx = canvas.getContext("2d", { + alpha: false + }); + + if (this._textContent) { + var textItems = this._textContent.items; + var textStyles = this._textContent.styles; + + this._processItems(textItems, textStyles); + + capability.resolve(); + } else if (this._textContentStream) { + var pump = function pump() { + _this2._reader.read().then(function (_ref2) { + var value = _ref2.value, + done = _ref2.done; + + if (done) { + capability.resolve(); + return; + } + + Object.assign(styleCache, value.styles); + + _this2._processItems(value.items, styleCache); + + pump(); + }, capability.reject); + }; + + this._reader = this._textContentStream.getReader(); + pump(); + } else { + throw new Error('Neither "textContent" nor "textContentStream" parameters specified.'); + } + + capability.promise.then(function () { + styleCache = null; + + if (!timeout) { + render(_this2); + } else { + _this2._renderTimer = setTimeout(function () { + render(_this2); + _this2._renderTimer = null; + }, timeout); + } + }, this._capability.reject); + } + }, { + key: "expandTextDivs", + value: function expandTextDivs() { + var expandDivs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (!this._enhanceTextSelection || !this._renderingDone) { + return; + } + + if (this._bounds !== null) { + expand(this); + this._bounds = null; + } + + var transformBuf = [], + paddingBuf = []; + + for (var i = 0, ii = this._textDivs.length; i < ii; i++) { + var div = this._textDivs[i]; + + var divProps = this._textDivProperties.get(div); + + if (!divProps.hasText) { + continue; + } + + if (expandDivs) { + transformBuf.length = 0; + paddingBuf.length = 0; + + if (divProps.originalTransform) { + transformBuf.push(divProps.originalTransform); + } + + if (divProps.paddingTop > 0) { + paddingBuf.push("".concat(divProps.paddingTop, "px")); + transformBuf.push("translateY(".concat(-divProps.paddingTop, "px)")); + } else { + paddingBuf.push(0); + } + + if (divProps.paddingRight > 0) { + paddingBuf.push("".concat(divProps.paddingRight / divProps.scale, "px")); + } else { + paddingBuf.push(0); + } + + if (divProps.paddingBottom > 0) { + paddingBuf.push("".concat(divProps.paddingBottom, "px")); + } else { + paddingBuf.push(0); + } + + if (divProps.paddingLeft > 0) { + paddingBuf.push("".concat(divProps.paddingLeft / divProps.scale, "px")); + transformBuf.push("translateX(".concat(-divProps.paddingLeft / divProps.scale, "px)")); + } else { + paddingBuf.push(0); + } + + div.style.padding = paddingBuf.join(" "); + + if (transformBuf.length) { + div.style.transform = transformBuf.join(" "); + } + } else { + div.style.padding = null; + div.style.transform = divProps.originalTransform; + } + } + } + }]); + + return TextLayerRenderTask; +}(); + +function renderTextLayer(renderParameters) { + var task = new TextLayerRenderTask({ + textContent: renderParameters.textContent, + textContentStream: renderParameters.textContentStream, + container: renderParameters.container, + viewport: renderParameters.viewport, + textDivs: renderParameters.textDivs, + textContentItemsStr: renderParameters.textContentItemsStr, + enhanceTextSelection: renderParameters.enhanceTextSelection + }); + + task._render(renderParameters.timeout); + + return task; +} + +/***/ }), +/* 163 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.SVGGraphics = void 0; + +var _util = __w_pdfjs_require__(1); + +var _display_utils = __w_pdfjs_require__(146); + +var _is_node = __w_pdfjs_require__(3); + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var SVGGraphics = /*#__PURE__*/_createClass(function SVGGraphics() { + _classCallCheck(this, SVGGraphics); + + (0, _util.unreachable)("Not implemented: SVGGraphics"); +}); + +exports.SVGGraphics = SVGGraphics; +{ + var opListToTree = function opListToTree(opList) { + var opTree = []; + var tmp = []; + + var _iterator = _createForOfIteratorHelper(opList), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var opListElement = _step.value; + + if (opListElement.fn === "save") { + opTree.push({ + fnId: 92, + fn: "group", + items: [] + }); + tmp.push(opTree); + opTree = opTree[opTree.length - 1].items; + continue; + } + + if (opListElement.fn === "restore") { + opTree = tmp.pop(); + } else { + opTree.push(opListElement); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + return opTree; + }; + + var pf = function pf(value) { + if (Number.isInteger(value)) { + return value.toString(); + } + + var s = value.toFixed(10); + var i = s.length - 1; + + if (s[i] !== "0") { + return s; + } + + do { + i--; + } while (s[i] === "0"); + + return s.substring(0, s[i] === "." ? i : i + 1); + }; + + var pm = function pm(m) { + if (m[4] === 0 && m[5] === 0) { + if (m[1] === 0 && m[2] === 0) { + if (m[0] === 1 && m[3] === 1) { + return ""; + } + + return "scale(".concat(pf(m[0]), " ").concat(pf(m[3]), ")"); + } + + if (m[0] === m[3] && m[1] === -m[2]) { + var a = Math.acos(m[0]) * 180 / Math.PI; + return "rotate(".concat(pf(a), ")"); + } + } else { + if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) { + return "translate(".concat(pf(m[4]), " ").concat(pf(m[5]), ")"); + } + } + + return "matrix(".concat(pf(m[0]), " ").concat(pf(m[1]), " ").concat(pf(m[2]), " ").concat(pf(m[3]), " ").concat(pf(m[4]), " ") + "".concat(pf(m[5]), ")"); + }; + + var SVG_DEFAULTS = { + fontStyle: "normal", + fontWeight: "normal", + fillColor: "#000000" + }; + var XML_NS = "http://www.w3.org/XML/1998/namespace"; + var XLINK_NS = "http://www.w3.org/1999/xlink"; + var LINE_CAP_STYLES = ["butt", "round", "square"]; + var LINE_JOIN_STYLES = ["miter", "round", "bevel"]; + + var createObjectURL = function createObjectURL(data) { + var contentType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ""; + var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + if (URL.createObjectURL && typeof Blob !== "undefined" && !forceDataSchema) { + return URL.createObjectURL(new Blob([data], { + type: contentType + })); + } + + var digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + var buffer = "data:".concat(contentType, ";base64,"); + + for (var i = 0, ii = data.length; i < ii; i += 3) { + var b1 = data[i] & 0xff; + var b2 = data[i + 1] & 0xff; + var b3 = data[i + 2] & 0xff; + var d1 = b1 >> 2, + d2 = (b1 & 3) << 4 | b2 >> 4; + var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64; + var d4 = i + 2 < ii ? b3 & 0x3f : 64; + buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4]; + } + + return buffer; + }; + + var convertImgDataToPng = function () { + var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]); + var CHUNK_WRAPPER_SIZE = 12; + var crcTable = new Int32Array(256); + + for (var i = 0; i < 256; i++) { + var c = i; + + for (var h = 0; h < 8; h++) { + if (c & 1) { + c = 0xedb88320 ^ c >> 1 & 0x7fffffff; + } else { + c = c >> 1 & 0x7fffffff; + } + } + + crcTable[i] = c; + } + + function crc32(data, start, end) { + var crc = -1; + + for (var _i = start; _i < end; _i++) { + var a = (crc ^ data[_i]) & 0xff; + var b = crcTable[a]; + crc = crc >>> 8 ^ b; + } + + return crc ^ -1; + } + + function writePngChunk(type, body, data, offset) { + var p = offset; + var len = body.length; + data[p] = len >> 24 & 0xff; + data[p + 1] = len >> 16 & 0xff; + data[p + 2] = len >> 8 & 0xff; + data[p + 3] = len & 0xff; + p += 4; + data[p] = type.charCodeAt(0) & 0xff; + data[p + 1] = type.charCodeAt(1) & 0xff; + data[p + 2] = type.charCodeAt(2) & 0xff; + data[p + 3] = type.charCodeAt(3) & 0xff; + p += 4; + data.set(body, p); + p += body.length; + var crc = crc32(data, offset + 4, p); + data[p] = crc >> 24 & 0xff; + data[p + 1] = crc >> 16 & 0xff; + data[p + 2] = crc >> 8 & 0xff; + data[p + 3] = crc & 0xff; + } + + function adler32(data, start, end) { + var a = 1; + var b = 0; + + for (var _i2 = start; _i2 < end; ++_i2) { + a = (a + (data[_i2] & 0xff)) % 65521; + b = (b + a) % 65521; + } + + return b << 16 | a; + } + + function deflateSync(literals) { + if (!_is_node.isNodeJS) { + return deflateSyncUncompressed(literals); + } + + try { + var input; + + if (parseInt(process.versions.node) >= 8) { + input = literals; + } else { + input = Buffer.from(literals); + } + + var output = require("zlib").deflateSync(input, { + level: 9 + }); + + return output instanceof Uint8Array ? output : new Uint8Array(output); + } catch (e) { + (0, _util.warn)("Not compressing PNG because zlib.deflateSync is unavailable: " + e); + } + + return deflateSyncUncompressed(literals); + } + + function deflateSyncUncompressed(literals) { + var len = literals.length; + var maxBlockLength = 0xffff; + var deflateBlocks = Math.ceil(len / maxBlockLength); + var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4); + var pi = 0; + idat[pi++] = 0x78; + idat[pi++] = 0x9c; + var pos = 0; + + while (len > maxBlockLength) { + idat[pi++] = 0x00; + idat[pi++] = 0xff; + idat[pi++] = 0xff; + idat[pi++] = 0x00; + idat[pi++] = 0x00; + idat.set(literals.subarray(pos, pos + maxBlockLength), pi); + pi += maxBlockLength; + pos += maxBlockLength; + len -= maxBlockLength; + } + + idat[pi++] = 0x01; + idat[pi++] = len & 0xff; + idat[pi++] = len >> 8 & 0xff; + idat[pi++] = ~len & 0xffff & 0xff; + idat[pi++] = (~len & 0xffff) >> 8 & 0xff; + idat.set(literals.subarray(pos), pi); + pi += literals.length - pos; + var adler = adler32(literals, 0, literals.length); + idat[pi++] = adler >> 24 & 0xff; + idat[pi++] = adler >> 16 & 0xff; + idat[pi++] = adler >> 8 & 0xff; + idat[pi++] = adler & 0xff; + return idat; + } + + function encode(imgData, kind, forceDataSchema, isMask) { + var width = imgData.width; + var height = imgData.height; + var bitDepth, colorType, lineSize; + var bytes = imgData.data; + + switch (kind) { + case _util.ImageKind.GRAYSCALE_1BPP: + colorType = 0; + bitDepth = 1; + lineSize = width + 7 >> 3; + break; + + case _util.ImageKind.RGB_24BPP: + colorType = 2; + bitDepth = 8; + lineSize = width * 3; + break; + + case _util.ImageKind.RGBA_32BPP: + colorType = 6; + bitDepth = 8; + lineSize = width * 4; + break; + + default: + throw new Error("invalid format"); + } + + var literals = new Uint8Array((1 + lineSize) * height); + var offsetLiterals = 0, + offsetBytes = 0; + + for (var y = 0; y < height; ++y) { + literals[offsetLiterals++] = 0; + literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals); + offsetBytes += lineSize; + offsetLiterals += lineSize; + } + + if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) { + offsetLiterals = 0; + + for (var _y = 0; _y < height; _y++) { + offsetLiterals++; + + for (var _i3 = 0; _i3 < lineSize; _i3++) { + literals[offsetLiterals++] ^= 0xff; + } + } + } + + var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]); + var idat = deflateSync(literals); + var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length; + var data = new Uint8Array(pngLength); + var offset = 0; + data.set(PNG_HEADER, offset); + offset += PNG_HEADER.length; + writePngChunk("IHDR", ihdr, data, offset); + offset += CHUNK_WRAPPER_SIZE + ihdr.length; + writePngChunk("IDATA", idat, data, offset); + offset += CHUNK_WRAPPER_SIZE + idat.length; + writePngChunk("IEND", new Uint8Array(0), data, offset); + return createObjectURL(data, "image/png", forceDataSchema); + } + + return function convertImgDataToPng(imgData, forceDataSchema, isMask) { + var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind; + return encode(imgData, kind, forceDataSchema, isMask); + }; + }(); + + var SVGExtraState = /*#__PURE__*/function () { + function SVGExtraState() { + _classCallCheck(this, SVGExtraState); + + this.fontSizeScale = 1; + this.fontWeight = SVG_DEFAULTS.fontWeight; + this.fontSize = 0; + this.textMatrix = _util.IDENTITY_MATRIX; + this.fontMatrix = _util.FONT_IDENTITY_MATRIX; + this.leading = 0; + this.textRenderingMode = _util.TextRenderingMode.FILL; + this.textMatrixScale = 1; + this.x = 0; + this.y = 0; + this.lineX = 0; + this.lineY = 0; + this.charSpacing = 0; + this.wordSpacing = 0; + this.textHScale = 1; + this.textRise = 0; + this.fillColor = SVG_DEFAULTS.fillColor; + this.strokeColor = "#000000"; + this.fillAlpha = 1; + this.strokeAlpha = 1; + this.lineWidth = 1; + this.lineJoin = ""; + this.lineCap = ""; + this.miterLimit = 0; + this.dashArray = []; + this.dashPhase = 0; + this.dependencies = []; + this.activeClipUrl = null; + this.clipGroup = null; + this.maskId = ""; + } + + _createClass(SVGExtraState, [{ + key: "clone", + value: function clone() { + return Object.create(this); + } + }, { + key: "setCurrentPoint", + value: function setCurrentPoint(x, y) { + this.x = x; + this.y = y; + } + }]); + + return SVGExtraState; + }(); + + var clipCount = 0; + var maskCount = 0; + var shadingCount = 0; + + exports.SVGGraphics = SVGGraphics = /*#__PURE__*/function () { + function SVGGraphics(commonObjs, objs) { + var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + _classCallCheck(this, SVGGraphics); + + this.svgFactory = new _display_utils.DOMSVGFactory(); + this.current = new SVGExtraState(); + this.transformMatrix = _util.IDENTITY_MATRIX; + this.transformStack = []; + this.extraStack = []; + this.commonObjs = commonObjs; + this.objs = objs; + this.pendingClip = null; + this.pendingEOFill = false; + this.embedFonts = false; + this.embeddedFonts = Object.create(null); + this.cssStyle = null; + this.forceDataSchema = !!forceDataSchema; + this._operatorIdMapping = []; + + for (var op in _util.OPS) { + this._operatorIdMapping[_util.OPS[op]] = op; + } + } + + _createClass(SVGGraphics, [{ + key: "save", + value: function save() { + this.transformStack.push(this.transformMatrix); + var old = this.current; + this.extraStack.push(old); + this.current = old.clone(); + } + }, { + key: "restore", + value: function restore() { + this.transformMatrix = this.transformStack.pop(); + this.current = this.extraStack.pop(); + this.pendingClip = null; + this.tgrp = null; + } + }, { + key: "group", + value: function group(items) { + this.save(); + this.executeOpTree(items); + this.restore(); + } + }, { + key: "loadDependencies", + value: function loadDependencies(operatorList) { + var _this = this; + + var fnArray = operatorList.fnArray; + var argsArray = operatorList.argsArray; + + for (var i = 0, ii = fnArray.length; i < ii; i++) { + if (fnArray[i] !== _util.OPS.dependency) { + continue; + } + + var _iterator2 = _createForOfIteratorHelper(argsArray[i]), + _step2; + + try { + var _loop = function _loop() { + var obj = _step2.value; + var objsPool = obj.startsWith("g_") ? _this.commonObjs : _this.objs; + var promise = new Promise(function (resolve) { + objsPool.get(obj, resolve); + }); + + _this.current.dependencies.push(promise); + }; + + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + _loop(); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + + return Promise.all(this.current.dependencies); + } + }, { + key: "transform", + value: function transform(a, b, c, d, e, f) { + var transformMatrix = [a, b, c, d, e, f]; + this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix); + this.tgrp = null; + } + }, { + key: "getSVG", + value: function getSVG(operatorList, viewport) { + var _this2 = this; + + this.viewport = viewport; + + var svgElement = this._initialize(viewport); + + return this.loadDependencies(operatorList).then(function () { + _this2.transformMatrix = _util.IDENTITY_MATRIX; + + _this2.executeOpTree(_this2.convertOpList(operatorList)); + + return svgElement; + }); + } + }, { + key: "convertOpList", + value: function convertOpList(operatorList) { + var operatorIdMapping = this._operatorIdMapping; + var argsArray = operatorList.argsArray; + var fnArray = operatorList.fnArray; + var opList = []; + + for (var i = 0, ii = fnArray.length; i < ii; i++) { + var fnId = fnArray[i]; + opList.push({ + fnId: fnId, + fn: operatorIdMapping[fnId], + args: argsArray[i] + }); + } + + return opListToTree(opList); + } + }, { + key: "executeOpTree", + value: function executeOpTree(opTree) { + var _iterator3 = _createForOfIteratorHelper(opTree), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var opTreeElement = _step3.value; + var fn = opTreeElement.fn; + var fnId = opTreeElement.fnId; + var args = opTreeElement.args; + + switch (fnId | 0) { + case _util.OPS.beginText: + this.beginText(); + break; + + case _util.OPS.dependency: + break; + + case _util.OPS.setLeading: + this.setLeading(args); + break; + + case _util.OPS.setLeadingMoveText: + this.setLeadingMoveText(args[0], args[1]); + break; + + case _util.OPS.setFont: + this.setFont(args); + break; + + case _util.OPS.showText: + this.showText(args[0]); + break; + + case _util.OPS.showSpacedText: + this.showText(args[0]); + break; + + case _util.OPS.endText: + this.endText(); + break; + + case _util.OPS.moveText: + this.moveText(args[0], args[1]); + break; + + case _util.OPS.setCharSpacing: + this.setCharSpacing(args[0]); + break; + + case _util.OPS.setWordSpacing: + this.setWordSpacing(args[0]); + break; + + case _util.OPS.setHScale: + this.setHScale(args[0]); + break; + + case _util.OPS.setTextMatrix: + this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]); + break; + + case _util.OPS.setTextRise: + this.setTextRise(args[0]); + break; + + case _util.OPS.setTextRenderingMode: + this.setTextRenderingMode(args[0]); + break; + + case _util.OPS.setLineWidth: + this.setLineWidth(args[0]); + break; + + case _util.OPS.setLineJoin: + this.setLineJoin(args[0]); + break; + + case _util.OPS.setLineCap: + this.setLineCap(args[0]); + break; + + case _util.OPS.setMiterLimit: + this.setMiterLimit(args[0]); + break; + + case _util.OPS.setFillRGBColor: + this.setFillRGBColor(args[0], args[1], args[2]); + break; + + case _util.OPS.setStrokeRGBColor: + this.setStrokeRGBColor(args[0], args[1], args[2]); + break; + + case _util.OPS.setStrokeColorN: + this.setStrokeColorN(args); + break; + + case _util.OPS.setFillColorN: + this.setFillColorN(args); + break; + + case _util.OPS.shadingFill: + this.shadingFill(args[0]); + break; + + case _util.OPS.setDash: + this.setDash(args[0], args[1]); + break; + + case _util.OPS.setRenderingIntent: + this.setRenderingIntent(args[0]); + break; + + case _util.OPS.setFlatness: + this.setFlatness(args[0]); + break; + + case _util.OPS.setGState: + this.setGState(args[0]); + break; + + case _util.OPS.fill: + this.fill(); + break; + + case _util.OPS.eoFill: + this.eoFill(); + break; + + case _util.OPS.stroke: + this.stroke(); + break; + + case _util.OPS.fillStroke: + this.fillStroke(); + break; + + case _util.OPS.eoFillStroke: + this.eoFillStroke(); + break; + + case _util.OPS.clip: + this.clip("nonzero"); + break; + + case _util.OPS.eoClip: + this.clip("evenodd"); + break; + + case _util.OPS.paintSolidColorImageMask: + this.paintSolidColorImageMask(); + break; + + case _util.OPS.paintImageXObject: + this.paintImageXObject(args[0]); + break; + + case _util.OPS.paintInlineImageXObject: + this.paintInlineImageXObject(args[0]); + break; + + case _util.OPS.paintImageMaskXObject: + this.paintImageMaskXObject(args[0]); + break; + + case _util.OPS.paintFormXObjectBegin: + this.paintFormXObjectBegin(args[0], args[1]); + break; + + case _util.OPS.paintFormXObjectEnd: + this.paintFormXObjectEnd(); + break; + + case _util.OPS.closePath: + this.closePath(); + break; + + case _util.OPS.closeStroke: + this.closeStroke(); + break; + + case _util.OPS.closeFillStroke: + this.closeFillStroke(); + break; + + case _util.OPS.closeEOFillStroke: + this.closeEOFillStroke(); + break; + + case _util.OPS.nextLine: + this.nextLine(); + break; + + case _util.OPS.transform: + this.transform(args[0], args[1], args[2], args[3], args[4], args[5]); + break; + + case _util.OPS.constructPath: + this.constructPath(args[0], args[1]); + break; + + case _util.OPS.endPath: + this.endPath(); + break; + + case 92: + this.group(opTreeElement.items); + break; + + default: + (0, _util.warn)("Unimplemented operator ".concat(fn)); + break; + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + }, { + key: "setWordSpacing", + value: function setWordSpacing(wordSpacing) { + this.current.wordSpacing = wordSpacing; + } + }, { + key: "setCharSpacing", + value: function setCharSpacing(charSpacing) { + this.current.charSpacing = charSpacing; + } + }, { + key: "nextLine", + value: function nextLine() { + this.moveText(0, this.current.leading); + } + }, { + key: "setTextMatrix", + value: function setTextMatrix(a, b, c, d, e, f) { + var current = this.current; + current.textMatrix = current.lineMatrix = [a, b, c, d, e, f]; + current.textMatrixScale = Math.hypot(a, b); + current.x = current.lineX = 0; + current.y = current.lineY = 0; + current.xcoords = []; + current.ycoords = []; + current.tspan = this.svgFactory.createElement("svg:tspan"); + current.tspan.setAttributeNS(null, "font-family", current.fontFamily); + current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize / 16.0), "em")); + current.tspan.setAttributeNS(null, "y", pf(-current.y)); + current.txtElement = this.svgFactory.createElement("svg:text"); + current.txtElement.appendChild(current.tspan); + } + }, { + key: "beginText", + value: function beginText() { + var current = this.current; + current.x = current.lineX = 0; + current.y = current.lineY = 0; + current.textMatrix = _util.IDENTITY_MATRIX; + current.lineMatrix = _util.IDENTITY_MATRIX; + current.textMatrixScale = 1; + current.tspan = this.svgFactory.createElement("svg:tspan"); + current.txtElement = this.svgFactory.createElement("svg:text"); + current.txtgrp = this.svgFactory.createElement("svg:g"); + current.xcoords = []; + current.ycoords = []; + } + }, { + key: "moveText", + value: function moveText(x, y) { + var current = this.current; + current.x = current.lineX += x; + current.y = current.lineY += y; + current.xcoords = []; + current.ycoords = []; + current.tspan = this.svgFactory.createElement("svg:tspan"); + current.tspan.setAttributeNS(null, "font-family", current.fontFamily); + current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize / 16.0), "em")); + current.tspan.setAttributeNS(null, "y", pf(-current.y)); + } + }, { + key: "showText", + value: function showText(glyphs) { + var current = this.current; + var font = current.font; + var fontSize = current.fontSize; + + if (fontSize === 0) { + return; + } + + var fontSizeScale = current.fontSizeScale; + var charSpacing = current.charSpacing; + var wordSpacing = current.wordSpacing; + var fontDirection = current.fontDirection; + var textHScale = current.textHScale * fontDirection; + var vertical = font.vertical; + var spacingDir = vertical ? 1 : -1; + var defaultVMetrics = font.defaultVMetrics; + var widthAdvanceScale = fontSize * current.fontMatrix[0]; + var x = 0; + + var _iterator4 = _createForOfIteratorHelper(glyphs), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var glyph = _step4.value; + + if (glyph === null) { + x += fontDirection * wordSpacing; + continue; + } else if (typeof glyph === "number") { + x += spacingDir * glyph * fontSize / 1000; + continue; + } + + var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; + var character = glyph.fontChar; + var scaledX = void 0, + scaledY = void 0; + var width = glyph.width; + + if (vertical) { + var vx = void 0; + var vmetric = glyph.vmetric || defaultVMetrics; + vx = glyph.vmetric ? vmetric[1] : width * 0.5; + vx = -vx * widthAdvanceScale; + var vy = vmetric[2] * widthAdvanceScale; + width = vmetric ? -vmetric[0] : width; + scaledX = vx / fontSizeScale; + scaledY = (x + vy) / fontSizeScale; + } else { + scaledX = x / fontSizeScale; + scaledY = 0; + } + + if (glyph.isInFont || font.missingFile) { + current.xcoords.push(current.x + scaledX); + + if (vertical) { + current.ycoords.push(-current.y + scaledY); + } + + current.tspan.textContent += character; + } else {} + + var charWidth = void 0; + + if (vertical) { + charWidth = width * widthAdvanceScale - spacing * fontDirection; + } else { + charWidth = width * widthAdvanceScale + spacing * fontDirection; + } + + x += charWidth; + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + current.tspan.setAttributeNS(null, "x", current.xcoords.map(pf).join(" ")); + + if (vertical) { + current.tspan.setAttributeNS(null, "y", current.ycoords.map(pf).join(" ")); + } else { + current.tspan.setAttributeNS(null, "y", pf(-current.y)); + } + + if (vertical) { + current.y -= x; + } else { + current.x += x * textHScale; + } + + current.tspan.setAttributeNS(null, "font-family", current.fontFamily); + current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize / 16.0), "em")); + + if (current.fontStyle !== SVG_DEFAULTS.fontStyle) { + current.tspan.setAttributeNS(null, "font-style", current.fontStyle); + } + + if (current.fontWeight !== SVG_DEFAULTS.fontWeight) { + current.tspan.setAttributeNS(null, "font-weight", current.fontWeight); + } + + var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; + + if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + if (current.fillColor !== SVG_DEFAULTS.fillColor) { + current.tspan.setAttributeNS(null, "fill", current.fillColor); + } + + if (current.fillAlpha < 1) { + current.tspan.setAttributeNS(null, "fill-opacity", current.fillAlpha); + } + } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) { + current.tspan.setAttributeNS(null, "fill", "transparent"); + } else { + current.tspan.setAttributeNS(null, "fill", "none"); + } + + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + var lineWidthScale = 1 / (current.textMatrixScale || 1); + + this._setStrokeAttributes(current.tspan, lineWidthScale); + } + + var textMatrix = current.textMatrix; + + if (current.textRise !== 0) { + textMatrix = textMatrix.slice(); + textMatrix[5] += current.textRise; + } + + current.txtElement.setAttributeNS(null, "transform", "".concat(pm(textMatrix), " scale(").concat(pf(textHScale), ", -1)")); + current.txtElement.setAttributeNS(XML_NS, "xml:space", "preserve"); + current.txtElement.appendChild(current.tspan); + current.txtgrp.appendChild(current.txtElement); + + this._ensureTransformGroup().appendChild(current.txtElement); + } + }, { + key: "setLeadingMoveText", + value: function setLeadingMoveText(x, y) { + this.setLeading(-y); + this.moveText(x, y); + } + }, { + key: "addFontStyle", + value: function addFontStyle(fontObj) { + if (!fontObj.data) { + throw new Error("addFontStyle: No font data available, " + 'ensure that the "fontExtraProperties" API parameter is set.'); + } + + if (!this.cssStyle) { + this.cssStyle = this.svgFactory.createElement("svg:style"); + this.cssStyle.setAttributeNS(null, "type", "text/css"); + this.defs.appendChild(this.cssStyle); + } + + var url = createObjectURL(fontObj.data, fontObj.mimetype, this.forceDataSchema); + this.cssStyle.textContent += "@font-face { font-family: \"".concat(fontObj.loadedName, "\";") + " src: url(".concat(url, "); }\n"); + } + }, { + key: "setFont", + value: function setFont(details) { + var current = this.current; + var fontObj = this.commonObjs.get(details[0]); + var size = details[1]; + current.font = fontObj; + + if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) { + this.addFontStyle(fontObj); + this.embeddedFonts[fontObj.loadedName] = fontObj; + } + + current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX; + var bold = "normal"; + + if (fontObj.black) { + bold = "900"; + } else if (fontObj.bold) { + bold = "bold"; + } + + var italic = fontObj.italic ? "italic" : "normal"; + + if (size < 0) { + size = -size; + current.fontDirection = -1; + } else { + current.fontDirection = 1; + } + + current.fontSize = size; + current.fontFamily = fontObj.loadedName; + current.fontWeight = bold; + current.fontStyle = italic; + current.tspan = this.svgFactory.createElement("svg:tspan"); + current.tspan.setAttributeNS(null, "y", pf(-current.y)); + current.xcoords = []; + current.ycoords = []; + } + }, { + key: "endText", + value: function endText() { + var _current$txtElement; + + var current = this.current; + + if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && (_current$txtElement = current.txtElement) !== null && _current$txtElement !== void 0 && _current$txtElement.hasChildNodes()) { + current.element = current.txtElement; + this.clip("nonzero"); + this.endPath(); + } + } + }, { + key: "setLineWidth", + value: function setLineWidth(width) { + if (width > 0) { + this.current.lineWidth = width; + } + } + }, { + key: "setLineCap", + value: function setLineCap(style) { + this.current.lineCap = LINE_CAP_STYLES[style]; + } + }, { + key: "setLineJoin", + value: function setLineJoin(style) { + this.current.lineJoin = LINE_JOIN_STYLES[style]; + } + }, { + key: "setMiterLimit", + value: function setMiterLimit(limit) { + this.current.miterLimit = limit; + } + }, { + key: "setStrokeAlpha", + value: function setStrokeAlpha(strokeAlpha) { + this.current.strokeAlpha = strokeAlpha; + } + }, { + key: "setStrokeRGBColor", + value: function setStrokeRGBColor(r, g, b) { + this.current.strokeColor = _util.Util.makeHexColor(r, g, b); + } + }, { + key: "setFillAlpha", + value: function setFillAlpha(fillAlpha) { + this.current.fillAlpha = fillAlpha; + } + }, { + key: "setFillRGBColor", + value: function setFillRGBColor(r, g, b) { + this.current.fillColor = _util.Util.makeHexColor(r, g, b); + this.current.tspan = this.svgFactory.createElement("svg:tspan"); + this.current.xcoords = []; + this.current.ycoords = []; + } + }, { + key: "setStrokeColorN", + value: function setStrokeColorN(args) { + this.current.strokeColor = this._makeColorN_Pattern(args); + } + }, { + key: "setFillColorN", + value: function setFillColorN(args) { + this.current.fillColor = this._makeColorN_Pattern(args); + } + }, { + key: "shadingFill", + value: function shadingFill(args) { + var width = this.viewport.width; + var height = this.viewport.height; + + var inv = _util.Util.inverseTransform(this.transformMatrix); + + var bl = _util.Util.applyTransform([0, 0], inv); + + var br = _util.Util.applyTransform([0, height], inv); + + var ul = _util.Util.applyTransform([width, 0], inv); + + var ur = _util.Util.applyTransform([width, height], inv); + + var x0 = Math.min(bl[0], br[0], ul[0], ur[0]); + var y0 = Math.min(bl[1], br[1], ul[1], ur[1]); + var x1 = Math.max(bl[0], br[0], ul[0], ur[0]); + var y1 = Math.max(bl[1], br[1], ul[1], ur[1]); + var rect = this.svgFactory.createElement("svg:rect"); + rect.setAttributeNS(null, "x", x0); + rect.setAttributeNS(null, "y", y0); + rect.setAttributeNS(null, "width", x1 - x0); + rect.setAttributeNS(null, "height", y1 - y0); + rect.setAttributeNS(null, "fill", this._makeShadingPattern(args)); + + if (this.current.fillAlpha < 1) { + rect.setAttributeNS(null, "fill-opacity", this.current.fillAlpha); + } + + this._ensureTransformGroup().appendChild(rect); + } + }, { + key: "_makeColorN_Pattern", + value: function _makeColorN_Pattern(args) { + if (args[0] === "TilingPattern") { + return this._makeTilingPattern(args); + } + + return this._makeShadingPattern(args); + } + }, { + key: "_makeTilingPattern", + value: function _makeTilingPattern(args) { + var color = args[1]; + var operatorList = args[2]; + var matrix = args[3] || _util.IDENTITY_MATRIX; + + var _args$ = _slicedToArray(args[4], 4), + x0 = _args$[0], + y0 = _args$[1], + x1 = _args$[2], + y1 = _args$[3]; + + var xstep = args[5]; + var ystep = args[6]; + var paintType = args[7]; + var tilingId = "shading".concat(shadingCount++); + + var _Util$normalizeRect = _util.Util.normalizeRect([].concat(_toConsumableArray(_util.Util.applyTransform([x0, y0], matrix)), _toConsumableArray(_util.Util.applyTransform([x1, y1], matrix)))), + _Util$normalizeRect2 = _slicedToArray(_Util$normalizeRect, 4), + tx0 = _Util$normalizeRect2[0], + ty0 = _Util$normalizeRect2[1], + tx1 = _Util$normalizeRect2[2], + ty1 = _Util$normalizeRect2[3]; + + var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix), + _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2), + xscale = _Util$singularValueDe2[0], + yscale = _Util$singularValueDe2[1]; + + var txstep = xstep * xscale; + var tystep = ystep * yscale; + var tiling = this.svgFactory.createElement("svg:pattern"); + tiling.setAttributeNS(null, "id", tilingId); + tiling.setAttributeNS(null, "patternUnits", "userSpaceOnUse"); + tiling.setAttributeNS(null, "width", txstep); + tiling.setAttributeNS(null, "height", tystep); + tiling.setAttributeNS(null, "x", "".concat(tx0)); + tiling.setAttributeNS(null, "y", "".concat(ty0)); + var svg = this.svg; + var transformMatrix = this.transformMatrix; + var fillColor = this.current.fillColor; + var strokeColor = this.current.strokeColor; + var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0); + this.svg = bbox; + this.transformMatrix = matrix; + + if (paintType === 2) { + var cssColor = _util.Util.makeHexColor.apply(_util.Util, _toConsumableArray(color)); + + this.current.fillColor = cssColor; + this.current.strokeColor = cssColor; + } + + this.executeOpTree(this.convertOpList(operatorList)); + this.svg = svg; + this.transformMatrix = transformMatrix; + this.current.fillColor = fillColor; + this.current.strokeColor = strokeColor; + tiling.appendChild(bbox.childNodes[0]); + this.defs.appendChild(tiling); + return "url(#".concat(tilingId, ")"); + } + }, { + key: "_makeShadingPattern", + value: function _makeShadingPattern(args) { + if (typeof args === "string") { + args = this.objs.get(args); + } + + switch (args[0]) { + case "RadialAxial": + var shadingId = "shading".concat(shadingCount++); + var colorStops = args[3]; + var gradient; + + switch (args[1]) { + case "axial": + var point0 = args[4]; + var point1 = args[5]; + gradient = this.svgFactory.createElement("svg:linearGradient"); + gradient.setAttributeNS(null, "id", shadingId); + gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse"); + gradient.setAttributeNS(null, "x1", point0[0]); + gradient.setAttributeNS(null, "y1", point0[1]); + gradient.setAttributeNS(null, "x2", point1[0]); + gradient.setAttributeNS(null, "y2", point1[1]); + break; + + case "radial": + var focalPoint = args[4]; + var circlePoint = args[5]; + var focalRadius = args[6]; + var circleRadius = args[7]; + gradient = this.svgFactory.createElement("svg:radialGradient"); + gradient.setAttributeNS(null, "id", shadingId); + gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse"); + gradient.setAttributeNS(null, "cx", circlePoint[0]); + gradient.setAttributeNS(null, "cy", circlePoint[1]); + gradient.setAttributeNS(null, "r", circleRadius); + gradient.setAttributeNS(null, "fx", focalPoint[0]); + gradient.setAttributeNS(null, "fy", focalPoint[1]); + gradient.setAttributeNS(null, "fr", focalRadius); + break; + + default: + throw new Error("Unknown RadialAxial type: ".concat(args[1])); + } + + var _iterator5 = _createForOfIteratorHelper(colorStops), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var colorStop = _step5.value; + var stop = this.svgFactory.createElement("svg:stop"); + stop.setAttributeNS(null, "offset", colorStop[0]); + stop.setAttributeNS(null, "stop-color", colorStop[1]); + gradient.appendChild(stop); + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + this.defs.appendChild(gradient); + return "url(#".concat(shadingId, ")"); + + case "Mesh": + (0, _util.warn)("Unimplemented pattern Mesh"); + return null; + + case "Dummy": + return "hotpink"; + + default: + throw new Error("Unknown IR type: ".concat(args[0])); + } + } + }, { + key: "setDash", + value: function setDash(dashArray, dashPhase) { + this.current.dashArray = dashArray; + this.current.dashPhase = dashPhase; + } + }, { + key: "constructPath", + value: function constructPath(ops, args) { + var current = this.current; + var x = current.x, + y = current.y; + var d = []; + var j = 0; + + var _iterator6 = _createForOfIteratorHelper(ops), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var op = _step6.value; + + switch (op | 0) { + case _util.OPS.rectangle: + x = args[j++]; + y = args[j++]; + var width = args[j++]; + var height = args[j++]; + var xw = x + width; + var yh = y + height; + d.push("M", pf(x), pf(y), "L", pf(xw), pf(y), "L", pf(xw), pf(yh), "L", pf(x), pf(yh), "Z"); + break; + + case _util.OPS.moveTo: + x = args[j++]; + y = args[j++]; + d.push("M", pf(x), pf(y)); + break; + + case _util.OPS.lineTo: + x = args[j++]; + y = args[j++]; + d.push("L", pf(x), pf(y)); + break; + + case _util.OPS.curveTo: + x = args[j + 4]; + y = args[j + 5]; + d.push("C", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y)); + j += 6; + break; + + case _util.OPS.curveTo2: + d.push("C", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3])); + x = args[j + 2]; + y = args[j + 3]; + j += 4; + break; + + case _util.OPS.curveTo3: + x = args[j + 2]; + y = args[j + 3]; + d.push("C", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y)); + j += 4; + break; + + case _util.OPS.closePath: + d.push("Z"); + break; + } + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + d = d.join(" "); + + if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) { + d = current.path.getAttributeNS(null, "d") + d; + } else { + current.path = this.svgFactory.createElement("svg:path"); + + this._ensureTransformGroup().appendChild(current.path); + } + + current.path.setAttributeNS(null, "d", d); + current.path.setAttributeNS(null, "fill", "none"); + current.element = current.path; + current.setCurrentPoint(x, y); + } + }, { + key: "endPath", + value: function endPath() { + var current = this.current; + current.path = null; + + if (!this.pendingClip) { + return; + } + + if (!current.element) { + this.pendingClip = null; + return; + } + + var clipId = "clippath".concat(clipCount++); + var clipPath = this.svgFactory.createElement("svg:clipPath"); + clipPath.setAttributeNS(null, "id", clipId); + clipPath.setAttributeNS(null, "transform", pm(this.transformMatrix)); + var clipElement = current.element.cloneNode(true); + + if (this.pendingClip === "evenodd") { + clipElement.setAttributeNS(null, "clip-rule", "evenodd"); + } else { + clipElement.setAttributeNS(null, "clip-rule", "nonzero"); + } + + this.pendingClip = null; + clipPath.appendChild(clipElement); + this.defs.appendChild(clipPath); + + if (current.activeClipUrl) { + current.clipGroup = null; + + var _iterator7 = _createForOfIteratorHelper(this.extraStack), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var prev = _step7.value; + prev.clipGroup = null; + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + + clipPath.setAttributeNS(null, "clip-path", current.activeClipUrl); + } + + current.activeClipUrl = "url(#".concat(clipId, ")"); + this.tgrp = null; + } + }, { + key: "clip", + value: function clip(type) { + this.pendingClip = type; + } + }, { + key: "closePath", + value: function closePath() { + var current = this.current; + + if (current.path) { + var d = "".concat(current.path.getAttributeNS(null, "d"), "Z"); + current.path.setAttributeNS(null, "d", d); + } + } + }, { + key: "setLeading", + value: function setLeading(leading) { + this.current.leading = -leading; + } + }, { + key: "setTextRise", + value: function setTextRise(textRise) { + this.current.textRise = textRise; + } + }, { + key: "setTextRenderingMode", + value: function setTextRenderingMode(textRenderingMode) { + this.current.textRenderingMode = textRenderingMode; + } + }, { + key: "setHScale", + value: function setHScale(scale) { + this.current.textHScale = scale / 100; + } + }, { + key: "setRenderingIntent", + value: function setRenderingIntent(intent) {} + }, { + key: "setFlatness", + value: function setFlatness(flatness) {} + }, { + key: "setGState", + value: function setGState(states) { + var _iterator8 = _createForOfIteratorHelper(states), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var _step8$value = _slicedToArray(_step8.value, 2), + key = _step8$value[0], + value = _step8$value[1]; + + switch (key) { + case "LW": + this.setLineWidth(value); + break; + + case "LC": + this.setLineCap(value); + break; + + case "LJ": + this.setLineJoin(value); + break; + + case "ML": + this.setMiterLimit(value); + break; + + case "D": + this.setDash(value[0], value[1]); + break; + + case "RI": + this.setRenderingIntent(value); + break; + + case "FL": + this.setFlatness(value); + break; + + case "Font": + this.setFont(value); + break; + + case "CA": + this.setStrokeAlpha(value); + break; + + case "ca": + this.setFillAlpha(value); + break; + + default: + (0, _util.warn)("Unimplemented graphic state operator ".concat(key)); + break; + } + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + } + }, { + key: "fill", + value: function fill() { + var current = this.current; + + if (current.element) { + current.element.setAttributeNS(null, "fill", current.fillColor); + current.element.setAttributeNS(null, "fill-opacity", current.fillAlpha); + this.endPath(); + } + } + }, { + key: "stroke", + value: function stroke() { + var current = this.current; + + if (current.element) { + this._setStrokeAttributes(current.element); + + current.element.setAttributeNS(null, "fill", "none"); + this.endPath(); + } + } + }, { + key: "_setStrokeAttributes", + value: function _setStrokeAttributes(element) { + var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + var current = this.current; + var dashArray = current.dashArray; + + if (lineWidthScale !== 1 && dashArray.length > 0) { + dashArray = dashArray.map(function (value) { + return lineWidthScale * value; + }); + } + + element.setAttributeNS(null, "stroke", current.strokeColor); + element.setAttributeNS(null, "stroke-opacity", current.strokeAlpha); + element.setAttributeNS(null, "stroke-miterlimit", pf(current.miterLimit)); + element.setAttributeNS(null, "stroke-linecap", current.lineCap); + element.setAttributeNS(null, "stroke-linejoin", current.lineJoin); + element.setAttributeNS(null, "stroke-width", pf(lineWidthScale * current.lineWidth) + "px"); + element.setAttributeNS(null, "stroke-dasharray", dashArray.map(pf).join(" ")); + element.setAttributeNS(null, "stroke-dashoffset", pf(lineWidthScale * current.dashPhase) + "px"); + } + }, { + key: "eoFill", + value: function eoFill() { + if (this.current.element) { + this.current.element.setAttributeNS(null, "fill-rule", "evenodd"); + } + + this.fill(); + } + }, { + key: "fillStroke", + value: function fillStroke() { + this.stroke(); + this.fill(); + } + }, { + key: "eoFillStroke", + value: function eoFillStroke() { + if (this.current.element) { + this.current.element.setAttributeNS(null, "fill-rule", "evenodd"); + } + + this.fillStroke(); + } + }, { + key: "closeStroke", + value: function closeStroke() { + this.closePath(); + this.stroke(); + } + }, { + key: "closeFillStroke", + value: function closeFillStroke() { + this.closePath(); + this.fillStroke(); + } + }, { + key: "closeEOFillStroke", + value: function closeEOFillStroke() { + this.closePath(); + this.eoFillStroke(); + } + }, { + key: "paintSolidColorImageMask", + value: function paintSolidColorImageMask() { + var rect = this.svgFactory.createElement("svg:rect"); + rect.setAttributeNS(null, "x", "0"); + rect.setAttributeNS(null, "y", "0"); + rect.setAttributeNS(null, "width", "1px"); + rect.setAttributeNS(null, "height", "1px"); + rect.setAttributeNS(null, "fill", this.current.fillColor); + + this._ensureTransformGroup().appendChild(rect); + } + }, { + key: "paintImageXObject", + value: function paintImageXObject(objId) { + var imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId); + + if (!imgData) { + (0, _util.warn)("Dependent image with object ID ".concat(objId, " is not ready yet")); + return; + } + + this.paintInlineImageXObject(imgData); + } + }, { + key: "paintInlineImageXObject", + value: function paintInlineImageXObject(imgData, mask) { + var width = imgData.width; + var height = imgData.height; + var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask); + var cliprect = this.svgFactory.createElement("svg:rect"); + cliprect.setAttributeNS(null, "x", "0"); + cliprect.setAttributeNS(null, "y", "0"); + cliprect.setAttributeNS(null, "width", pf(width)); + cliprect.setAttributeNS(null, "height", pf(height)); + this.current.element = cliprect; + this.clip("nonzero"); + var imgEl = this.svgFactory.createElement("svg:image"); + imgEl.setAttributeNS(XLINK_NS, "xlink:href", imgSrc); + imgEl.setAttributeNS(null, "x", "0"); + imgEl.setAttributeNS(null, "y", pf(-height)); + imgEl.setAttributeNS(null, "width", pf(width) + "px"); + imgEl.setAttributeNS(null, "height", pf(height) + "px"); + imgEl.setAttributeNS(null, "transform", "scale(".concat(pf(1 / width), " ").concat(pf(-1 / height), ")")); + + if (mask) { + mask.appendChild(imgEl); + } else { + this._ensureTransformGroup().appendChild(imgEl); + } + } + }, { + key: "paintImageMaskXObject", + value: function paintImageMaskXObject(imgData) { + var current = this.current; + var width = imgData.width; + var height = imgData.height; + var fillColor = current.fillColor; + current.maskId = "mask".concat(maskCount++); + var mask = this.svgFactory.createElement("svg:mask"); + mask.setAttributeNS(null, "id", current.maskId); + var rect = this.svgFactory.createElement("svg:rect"); + rect.setAttributeNS(null, "x", "0"); + rect.setAttributeNS(null, "y", "0"); + rect.setAttributeNS(null, "width", pf(width)); + rect.setAttributeNS(null, "height", pf(height)); + rect.setAttributeNS(null, "fill", fillColor); + rect.setAttributeNS(null, "mask", "url(#".concat(current.maskId, ")")); + this.defs.appendChild(mask); + + this._ensureTransformGroup().appendChild(rect); + + this.paintInlineImageXObject(imgData, mask); + } + }, { + key: "paintFormXObjectBegin", + value: function paintFormXObjectBegin(matrix, bbox) { + if (Array.isArray(matrix) && matrix.length === 6) { + this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]); + } + + if (bbox) { + var width = bbox[2] - bbox[0]; + var height = bbox[3] - bbox[1]; + var cliprect = this.svgFactory.createElement("svg:rect"); + cliprect.setAttributeNS(null, "x", bbox[0]); + cliprect.setAttributeNS(null, "y", bbox[1]); + cliprect.setAttributeNS(null, "width", pf(width)); + cliprect.setAttributeNS(null, "height", pf(height)); + this.current.element = cliprect; + this.clip("nonzero"); + this.endPath(); + } + } + }, { + key: "paintFormXObjectEnd", + value: function paintFormXObjectEnd() {} + }, { + key: "_initialize", + value: function _initialize(viewport) { + var svg = this.svgFactory.create(viewport.width, viewport.height); + var definitions = this.svgFactory.createElement("svg:defs"); + svg.appendChild(definitions); + this.defs = definitions; + var rootGroup = this.svgFactory.createElement("svg:g"); + rootGroup.setAttributeNS(null, "transform", pm(viewport.transform)); + svg.appendChild(rootGroup); + this.svg = rootGroup; + return svg; + } + }, { + key: "_ensureClipGroup", + value: function _ensureClipGroup() { + if (!this.current.clipGroup) { + var clipGroup = this.svgFactory.createElement("svg:g"); + clipGroup.setAttributeNS(null, "clip-path", this.current.activeClipUrl); + this.svg.appendChild(clipGroup); + this.current.clipGroup = clipGroup; + } + + return this.current.clipGroup; + } + }, { + key: "_ensureTransformGroup", + value: function _ensureTransformGroup() { + if (!this.tgrp) { + this.tgrp = this.svgFactory.createElement("svg:g"); + this.tgrp.setAttributeNS(null, "transform", pm(this.transformMatrix)); + + if (this.current.activeClipUrl) { + this._ensureClipGroup().appendChild(this.tgrp); + } else { + this.svg.appendChild(this.tgrp); + } + } + + return this.tgrp; + } + }]); + + return SVGGraphics; + }(); +} + +/***/ }), +/* 164 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFNodeStream = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); + +var _util = __w_pdfjs_require__(1); + +var _network_utils = __w_pdfjs_require__(165); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +; + +var fs = require("fs"); + +var http = require("http"); + +var https = require("https"); + +var url = require("url"); + +var fileUriRegex = /^file:\/\/\/[a-zA-Z]:\//; + +function parseUrl(sourceUrl) { + var parsedUrl = url.parse(sourceUrl); + + if (parsedUrl.protocol === "file:" || parsedUrl.host) { + return parsedUrl; + } + + if (/^[a-z]:[/\\]/i.test(sourceUrl)) { + return url.parse("file:///".concat(sourceUrl)); + } + + if (!parsedUrl.host) { + parsedUrl.protocol = "file:"; + } + + return parsedUrl; +} + +var PDFNodeStream = /*#__PURE__*/function () { + function PDFNodeStream(source) { + _classCallCheck(this, PDFNodeStream); + + this.source = source; + this.url = parseUrl(source.url); + this.isHttp = this.url.protocol === "http:" || this.url.protocol === "https:"; + this.isFsUrl = this.url.protocol === "file:"; + this.httpHeaders = this.isHttp && source.httpHeaders || {}; + this._fullRequestReader = null; + this._rangeRequestReaders = []; + } + + _createClass(PDFNodeStream, [{ + key: "_progressiveDataLength", + get: function get() { + var _this$_fullRequestRea, _this$_fullRequestRea2; + + return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0; + } + }, { + key: "getFullReader", + value: function getFullReader() { + (0, _util.assert)(!this._fullRequestReader, "PDFNodeStream.getFullReader can only be called once."); + this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this); + return this._fullRequestReader; + } + }, { + key: "getRangeReader", + value: function getRangeReader(start, end) { + if (end <= this._progressiveDataLength) { + return null; + } + + var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end); + + this._rangeRequestReaders.push(rangeReader); + + return rangeReader; + } + }, { + key: "cancelAllRequests", + value: function cancelAllRequests(reason) { + if (this._fullRequestReader) { + this._fullRequestReader.cancel(reason); + } + + var _iterator = _createForOfIteratorHelper(this._rangeRequestReaders.slice(0)), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var reader = _step.value; + reader.cancel(reason); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }]); + + return PDFNodeStream; +}(); + +exports.PDFNodeStream = PDFNodeStream; + +var BaseFullReader = /*#__PURE__*/function () { + function BaseFullReader(stream) { + _classCallCheck(this, BaseFullReader); + + this._url = stream.url; + this._done = false; + this._storedError = null; + this.onProgress = null; + var source = stream.source; + this._contentLength = source.length; + this._loaded = 0; + this._filename = null; + this._disableRange = source.disableRange || false; + this._rangeChunkSize = source.rangeChunkSize; + + if (!this._rangeChunkSize && !this._disableRange) { + this._disableRange = true; + } + + this._isStreamingSupported = !source.disableStream; + this._isRangeSupported = !source.disableRange; + this._readableStream = null; + this._readCapability = (0, _util.createPromiseCapability)(); + this._headersCapability = (0, _util.createPromiseCapability)(); + } + + _createClass(BaseFullReader, [{ + key: "headersReady", + get: function get() { + return this._headersCapability.promise; + } + }, { + key: "filename", + get: function get() { + return this._filename; + } + }, { + key: "contentLength", + get: function get() { + return this._contentLength; + } + }, { + key: "isRangeSupported", + get: function get() { + return this._isRangeSupported; + } + }, { + key: "isStreamingSupported", + get: function get() { + return this._isStreamingSupported; + } + }, { + key: "read", + value: function () { + var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var chunk, buffer; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return this._readCapability.promise; + + case 2: + if (!this._done) { + _context.next = 4; + break; + } + + return _context.abrupt("return", { + value: undefined, + done: true + }); + + case 4: + if (!this._storedError) { + _context.next = 6; + break; + } + + throw this._storedError; + + case 6: + chunk = this._readableStream.read(); + + if (!(chunk === null)) { + _context.next = 10; + break; + } + + this._readCapability = (0, _util.createPromiseCapability)(); + return _context.abrupt("return", this.read()); + + case 10: + this._loaded += chunk.length; + + if (this.onProgress) { + this.onProgress({ + loaded: this._loaded, + total: this._contentLength + }); + } + + buffer = new Uint8Array(chunk).buffer; + return _context.abrupt("return", { + value: buffer, + done: false + }); + + case 14: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function read() { + return _read.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + if (!this._readableStream) { + this._error(reason); + + return; + } + + this._readableStream.destroy(reason); + } + }, { + key: "_error", + value: function _error(reason) { + this._storedError = reason; + + this._readCapability.resolve(); + } + }, { + key: "_setReadableStream", + value: function _setReadableStream(readableStream) { + var _this = this; + + this._readableStream = readableStream; + readableStream.on("readable", function () { + _this._readCapability.resolve(); + }); + readableStream.on("end", function () { + readableStream.destroy(); + _this._done = true; + + _this._readCapability.resolve(); + }); + readableStream.on("error", function (reason) { + _this._error(reason); + }); + + if (!this._isStreamingSupported && this._isRangeSupported) { + this._error(new _util.AbortException("streaming is disabled")); + } + + if (this._storedError) { + this._readableStream.destroy(this._storedError); + } + } + }]); + + return BaseFullReader; +}(); + +var BaseRangeReader = /*#__PURE__*/function () { + function BaseRangeReader(stream) { + _classCallCheck(this, BaseRangeReader); + + this._url = stream.url; + this._done = false; + this._storedError = null; + this.onProgress = null; + this._loaded = 0; + this._readableStream = null; + this._readCapability = (0, _util.createPromiseCapability)(); + var source = stream.source; + this._isStreamingSupported = !source.disableStream; + } + + _createClass(BaseRangeReader, [{ + key: "isStreamingSupported", + get: function get() { + return this._isStreamingSupported; + } + }, { + key: "read", + value: function () { + var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var chunk, buffer; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return this._readCapability.promise; + + case 2: + if (!this._done) { + _context2.next = 4; + break; + } + + return _context2.abrupt("return", { + value: undefined, + done: true + }); + + case 4: + if (!this._storedError) { + _context2.next = 6; + break; + } + + throw this._storedError; + + case 6: + chunk = this._readableStream.read(); + + if (!(chunk === null)) { + _context2.next = 10; + break; + } + + this._readCapability = (0, _util.createPromiseCapability)(); + return _context2.abrupt("return", this.read()); + + case 10: + this._loaded += chunk.length; + + if (this.onProgress) { + this.onProgress({ + loaded: this._loaded + }); + } + + buffer = new Uint8Array(chunk).buffer; + return _context2.abrupt("return", { + value: buffer, + done: false + }); + + case 14: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function read() { + return _read2.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + if (!this._readableStream) { + this._error(reason); + + return; + } + + this._readableStream.destroy(reason); + } + }, { + key: "_error", + value: function _error(reason) { + this._storedError = reason; + + this._readCapability.resolve(); + } + }, { + key: "_setReadableStream", + value: function _setReadableStream(readableStream) { + var _this2 = this; + + this._readableStream = readableStream; + readableStream.on("readable", function () { + _this2._readCapability.resolve(); + }); + readableStream.on("end", function () { + readableStream.destroy(); + _this2._done = true; + + _this2._readCapability.resolve(); + }); + readableStream.on("error", function (reason) { + _this2._error(reason); + }); + + if (this._storedError) { + this._readableStream.destroy(this._storedError); + } + } + }]); + + return BaseRangeReader; +}(); + +function createRequestOptions(parsedUrl, headers) { + return { + protocol: parsedUrl.protocol, + auth: parsedUrl.auth, + host: parsedUrl.hostname, + port: parsedUrl.port, + path: parsedUrl.path, + method: "GET", + headers: headers + }; +} + +var PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) { + _inherits(PDFNodeStreamFullReader, _BaseFullReader); + + var _super = _createSuper(PDFNodeStreamFullReader); + + function PDFNodeStreamFullReader(stream) { + var _this3; + + _classCallCheck(this, PDFNodeStreamFullReader); + + _this3 = _super.call(this, stream); + + var handleResponse = function handleResponse(response) { + if (response.statusCode === 404) { + var error = new _util.MissingPDFException("Missing PDF \"".concat(_this3._url, "\".")); + _this3._storedError = error; + + _this3._headersCapability.reject(error); + + return; + } + + _this3._headersCapability.resolve(); + + _this3._setReadableStream(response); + + var getResponseHeader = function getResponseHeader(name) { + return _this3._readableStream.headers[name.toLowerCase()]; + }; + + var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({ + getResponseHeader: getResponseHeader, + isHttp: stream.isHttp, + rangeChunkSize: _this3._rangeChunkSize, + disableRange: _this3._disableRange + }), + allowRangeRequests = _validateRangeRequest.allowRangeRequests, + suggestedLength = _validateRangeRequest.suggestedLength; + + _this3._isRangeSupported = allowRangeRequests; + _this3._contentLength = suggestedLength || _this3._contentLength; + _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader); + }; + + _this3._request = null; + + if (_this3._url.protocol === "http:") { + _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse); + } else { + _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse); + } + + _this3._request.on("error", function (reason) { + _this3._storedError = reason; + + _this3._headersCapability.reject(reason); + }); + + _this3._request.end(); + + return _this3; + } + + return _createClass(PDFNodeStreamFullReader); +}(BaseFullReader); + +var PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) { + _inherits(PDFNodeStreamRangeReader, _BaseRangeReader); + + var _super2 = _createSuper(PDFNodeStreamRangeReader); + + function PDFNodeStreamRangeReader(stream, start, end) { + var _this4; + + _classCallCheck(this, PDFNodeStreamRangeReader); + + _this4 = _super2.call(this, stream); + _this4._httpHeaders = {}; + + for (var property in stream.httpHeaders) { + var value = stream.httpHeaders[property]; + + if (typeof value === "undefined") { + continue; + } + + _this4._httpHeaders[property] = value; + } + + _this4._httpHeaders.Range = "bytes=".concat(start, "-").concat(end - 1); + + var handleResponse = function handleResponse(response) { + if (response.statusCode === 404) { + var error = new _util.MissingPDFException("Missing PDF \"".concat(_this4._url, "\".")); + _this4._storedError = error; + return; + } + + _this4._setReadableStream(response); + }; + + _this4._request = null; + + if (_this4._url.protocol === "http:") { + _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse); + } else { + _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse); + } + + _this4._request.on("error", function (reason) { + _this4._storedError = reason; + }); + + _this4._request.end(); + + return _this4; + } + + return _createClass(PDFNodeStreamRangeReader); +}(BaseRangeReader); + +var PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) { + _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2); + + var _super3 = _createSuper(PDFNodeStreamFsFullReader); + + function PDFNodeStreamFsFullReader(stream) { + var _this5; + + _classCallCheck(this, PDFNodeStreamFsFullReader); + + _this5 = _super3.call(this, stream); + var path = decodeURIComponent(_this5._url.path); + + if (fileUriRegex.test(_this5._url.href)) { + path = path.replace(/^\//, ""); + } + + fs.lstat(path, function (error, stat) { + if (error) { + if (error.code === "ENOENT") { + error = new _util.MissingPDFException("Missing PDF \"".concat(path, "\".")); + } + + _this5._storedError = error; + + _this5._headersCapability.reject(error); + + return; + } + + _this5._contentLength = stat.size; + + _this5._setReadableStream(fs.createReadStream(path)); + + _this5._headersCapability.resolve(); + }); + return _this5; + } + + return _createClass(PDFNodeStreamFsFullReader); +}(BaseFullReader); + +var PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) { + _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2); + + var _super4 = _createSuper(PDFNodeStreamFsRangeReader); + + function PDFNodeStreamFsRangeReader(stream, start, end) { + var _this6; + + _classCallCheck(this, PDFNodeStreamFsRangeReader); + + _this6 = _super4.call(this, stream); + var path = decodeURIComponent(_this6._url.path); + + if (fileUriRegex.test(_this6._url.href)) { + path = path.replace(/^\//, ""); + } + + _this6._setReadableStream(fs.createReadStream(path, { + start: start, + end: end - 1 + })); + + return _this6; + } + + return _createClass(PDFNodeStreamFsRangeReader); +}(BaseRangeReader); + +/***/ }), +/* 165 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.createResponseStatusError = createResponseStatusError; +exports.extractFilenameFromHeader = extractFilenameFromHeader; +exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities; +exports.validateResponseStatus = validateResponseStatus; + +var _util = __w_pdfjs_require__(1); + +var _content_disposition = __w_pdfjs_require__(166); + +var _display_utils = __w_pdfjs_require__(146); + +function validateRangeRequestCapabilities(_ref) { + var getResponseHeader = _ref.getResponseHeader, + isHttp = _ref.isHttp, + rangeChunkSize = _ref.rangeChunkSize, + disableRange = _ref.disableRange; + (0, _util.assert)(rangeChunkSize > 0, "Range chunk size must be larger than zero"); + var returnValues = { + allowRangeRequests: false, + suggestedLength: undefined + }; + var length = parseInt(getResponseHeader("Content-Length"), 10); + + if (!Number.isInteger(length)) { + return returnValues; + } + + returnValues.suggestedLength = length; + + if (length <= 2 * rangeChunkSize) { + return returnValues; + } + + if (disableRange || !isHttp) { + return returnValues; + } + + if (getResponseHeader("Accept-Ranges") !== "bytes") { + return returnValues; + } + + var contentEncoding = getResponseHeader("Content-Encoding") || "identity"; + + if (contentEncoding !== "identity") { + return returnValues; + } + + returnValues.allowRangeRequests = true; + return returnValues; +} + +function extractFilenameFromHeader(getResponseHeader) { + var contentDisposition = getResponseHeader("Content-Disposition"); + + if (contentDisposition) { + var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition); + + if (filename.includes("%")) { + try { + filename = decodeURIComponent(filename); + } catch (ex) {} + } + + if ((0, _display_utils.isPdfFile)(filename)) { + return filename; + } + } + + return null; +} + +function createResponseStatusError(status, url) { + if (status === 404 || status === 0 && url.startsWith("file:")) { + return new _util.MissingPDFException('Missing PDF "' + url + '".'); + } + + return new _util.UnexpectedResponseException("Unexpected server response (".concat(status, ") while retrieving PDF \"").concat(url, "\"."), status); +} + +function validateResponseStatus(status) { + return status === 200 || status === 206; +} + +/***/ }), +/* 166 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader; + +var _util = __w_pdfjs_require__(1); + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function getFilenameFromContentDispositionHeader(contentDisposition) { + var needsEncodingFixup = true; + var tmp = toParamRegExp("filename\\*", "i").exec(contentDisposition); + + if (tmp) { + tmp = tmp[1]; + var filename = rfc2616unquote(tmp); + filename = unescape(filename); + filename = rfc5987decode(filename); + filename = rfc2047decode(filename); + return fixupEncoding(filename); + } + + tmp = rfc2231getparam(contentDisposition); + + if (tmp) { + var _filename = rfc2047decode(tmp); + + return fixupEncoding(_filename); + } + + tmp = toParamRegExp("filename", "i").exec(contentDisposition); + + if (tmp) { + tmp = tmp[1]; + + var _filename2 = rfc2616unquote(tmp); + + _filename2 = rfc2047decode(_filename2); + return fixupEncoding(_filename2); + } + + function toParamRegExp(attributePattern, flags) { + return new RegExp("(?:^|;)\\s*" + attributePattern + "\\s*=\\s*" + "(" + '[^";\\s][^;\\s]*' + "|" + '"(?:[^"\\\\]|\\\\"?)+"?' + ")", flags); + } + + function textdecode(encoding, value) { + if (encoding) { + if (!/^[\x00-\xFF]+$/.test(value)) { + return value; + } + + try { + var decoder = new TextDecoder(encoding, { + fatal: true + }); + var buffer = (0, _util.stringToBytes)(value); + value = decoder.decode(buffer); + needsEncodingFixup = false; + } catch (e) {} + } + + return value; + } + + function fixupEncoding(value) { + if (needsEncodingFixup && /[\x80-\xff]/.test(value)) { + value = textdecode("utf-8", value); + + if (needsEncodingFixup) { + value = textdecode("iso-8859-1", value); + } + } + + return value; + } + + function rfc2231getparam(contentDispositionStr) { + var matches = []; + var match; + var iter = toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)", "ig"); + + while ((match = iter.exec(contentDispositionStr)) !== null) { + var _match = match, + _match2 = _slicedToArray(_match, 4), + n = _match2[1], + quot = _match2[2], + part = _match2[3]; + + n = parseInt(n, 10); + + if (n in matches) { + if (n === 0) { + break; + } + + continue; + } + + matches[n] = [quot, part]; + } + + var parts = []; + + for (var _n2 = 0; _n2 < matches.length; ++_n2) { + if (!(_n2 in matches)) { + break; + } + + var _matches$_n = _slicedToArray(matches[_n2], 2), + _quot = _matches$_n[0], + _part = _matches$_n[1]; + + _part = rfc2616unquote(_part); + + if (_quot) { + _part = unescape(_part); + + if (_n2 === 0) { + _part = rfc5987decode(_part); + } + } + + parts.push(_part); + } + + return parts.join(""); + } + + function rfc2616unquote(value) { + if (value.startsWith('"')) { + var parts = value.slice(1).split('\\"'); + + for (var i = 0; i < parts.length; ++i) { + var quotindex = parts[i].indexOf('"'); + + if (quotindex !== -1) { + parts[i] = parts[i].slice(0, quotindex); + parts.length = i + 1; + } + + parts[i] = parts[i].replace(/\\(.)/g, "$1"); + } + + value = parts.join('"'); + } + + return value; + } + + function rfc5987decode(extvalue) { + var encodingend = extvalue.indexOf("'"); + + if (encodingend === -1) { + return extvalue; + } + + var encoding = extvalue.slice(0, encodingend); + var langvalue = extvalue.slice(encodingend + 1); + var value = langvalue.replace(/^[^']*'/, ""); + return textdecode(encoding, value); + } + + function rfc2047decode(value) { + if (!value.startsWith("=?") || /[\x00-\x19\x80-\xff]/.test(value)) { + return value; + } + + return value.replace(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g, function (matches, charset, encoding, text) { + if (encoding === "q" || encoding === "Q") { + text = text.replace(/_/g, " "); + text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) { + return String.fromCharCode(parseInt(hex, 16)); + }); + return textdecode(charset, text); + } + + try { + text = atob(text); + } catch (e) {} + + return textdecode(charset, text); + }); + } + + return ""; +} + +/***/ }), +/* 167 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFNetworkStream = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); + +var _util = __w_pdfjs_require__(1); + +var _network_utils = __w_pdfjs_require__(165); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +; +var OK_RESPONSE = 200; +var PARTIAL_CONTENT_RESPONSE = 206; + +function getArrayBuffer(xhr) { + var data = xhr.response; + + if (typeof data !== "string") { + return data; + } + + var array = (0, _util.stringToBytes)(data); + return array.buffer; +} + +var NetworkManager = /*#__PURE__*/function () { + function NetworkManager(url) { + var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + _classCallCheck(this, NetworkManager); + + this.url = url; + this.isHttp = /^https?:/i.test(url); + this.httpHeaders = this.isHttp && args.httpHeaders || Object.create(null); + this.withCredentials = args.withCredentials || false; + + this.getXhr = args.getXhr || function NetworkManager_getXhr() { + return new XMLHttpRequest(); + }; + + this.currXhrId = 0; + this.pendingRequests = Object.create(null); + } + + _createClass(NetworkManager, [{ + key: "requestRange", + value: function requestRange(begin, end, listeners) { + var args = { + begin: begin, + end: end + }; + + for (var prop in listeners) { + args[prop] = listeners[prop]; + } + + return this.request(args); + } + }, { + key: "requestFull", + value: function requestFull(listeners) { + return this.request(listeners); + } + }, { + key: "request", + value: function request(args) { + var xhr = this.getXhr(); + var xhrId = this.currXhrId++; + var pendingRequest = this.pendingRequests[xhrId] = { + xhr: xhr + }; + xhr.open("GET", this.url); + xhr.withCredentials = this.withCredentials; + + for (var property in this.httpHeaders) { + var value = this.httpHeaders[property]; + + if (typeof value === "undefined") { + continue; + } + + xhr.setRequestHeader(property, value); + } + + if (this.isHttp && "begin" in args && "end" in args) { + xhr.setRequestHeader("Range", "bytes=".concat(args.begin, "-").concat(args.end - 1)); + pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE; + } else { + pendingRequest.expectedStatus = OK_RESPONSE; + } + + xhr.responseType = "arraybuffer"; + + if (args.onError) { + xhr.onerror = function (evt) { + args.onError(xhr.status); + }; + } + + xhr.onreadystatechange = this.onStateChange.bind(this, xhrId); + xhr.onprogress = this.onProgress.bind(this, xhrId); + pendingRequest.onHeadersReceived = args.onHeadersReceived; + pendingRequest.onDone = args.onDone; + pendingRequest.onError = args.onError; + pendingRequest.onProgress = args.onProgress; + xhr.send(null); + return xhrId; + } + }, { + key: "onProgress", + value: function onProgress(xhrId, evt) { + var _pendingRequest$onPro; + + var pendingRequest = this.pendingRequests[xhrId]; + + if (!pendingRequest) { + return; + } + + (_pendingRequest$onPro = pendingRequest.onProgress) === null || _pendingRequest$onPro === void 0 ? void 0 : _pendingRequest$onPro.call(pendingRequest, evt); + } + }, { + key: "onStateChange", + value: function onStateChange(xhrId, evt) { + var pendingRequest = this.pendingRequests[xhrId]; + + if (!pendingRequest) { + return; + } + + var xhr = pendingRequest.xhr; + + if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) { + pendingRequest.onHeadersReceived(); + delete pendingRequest.onHeadersReceived; + } + + if (xhr.readyState !== 4) { + return; + } + + if (!(xhrId in this.pendingRequests)) { + return; + } + + delete this.pendingRequests[xhrId]; + + if (xhr.status === 0 && this.isHttp) { + var _pendingRequest$onErr; + + (_pendingRequest$onErr = pendingRequest.onError) === null || _pendingRequest$onErr === void 0 ? void 0 : _pendingRequest$onErr.call(pendingRequest, xhr.status); + return; + } + + var xhrStatus = xhr.status || OK_RESPONSE; + var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE; + + if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) { + var _pendingRequest$onErr2; + + (_pendingRequest$onErr2 = pendingRequest.onError) === null || _pendingRequest$onErr2 === void 0 ? void 0 : _pendingRequest$onErr2.call(pendingRequest, xhr.status); + return; + } + + var chunk = getArrayBuffer(xhr); + + if (xhrStatus === PARTIAL_CONTENT_RESPONSE) { + var rangeHeader = xhr.getResponseHeader("Content-Range"); + var matches = /bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader); + pendingRequest.onDone({ + begin: parseInt(matches[1], 10), + chunk: chunk + }); + } else if (chunk) { + pendingRequest.onDone({ + begin: 0, + chunk: chunk + }); + } else { + var _pendingRequest$onErr3; + + (_pendingRequest$onErr3 = pendingRequest.onError) === null || _pendingRequest$onErr3 === void 0 ? void 0 : _pendingRequest$onErr3.call(pendingRequest, xhr.status); + } + } + }, { + key: "getRequestXhr", + value: function getRequestXhr(xhrId) { + return this.pendingRequests[xhrId].xhr; + } + }, { + key: "isPendingRequest", + value: function isPendingRequest(xhrId) { + return xhrId in this.pendingRequests; + } + }, { + key: "abortRequest", + value: function abortRequest(xhrId) { + var xhr = this.pendingRequests[xhrId].xhr; + delete this.pendingRequests[xhrId]; + xhr.abort(); + } + }]); + + return NetworkManager; +}(); + +var PDFNetworkStream = /*#__PURE__*/function () { + function PDFNetworkStream(source) { + _classCallCheck(this, PDFNetworkStream); + + this._source = source; + this._manager = new NetworkManager(source.url, { + httpHeaders: source.httpHeaders, + withCredentials: source.withCredentials + }); + this._rangeChunkSize = source.rangeChunkSize; + this._fullRequestReader = null; + this._rangeRequestReaders = []; + } + + _createClass(PDFNetworkStream, [{ + key: "_onRangeRequestReaderClosed", + value: function _onRangeRequestReaderClosed(reader) { + var i = this._rangeRequestReaders.indexOf(reader); + + if (i >= 0) { + this._rangeRequestReaders.splice(i, 1); + } + } + }, { + key: "getFullReader", + value: function getFullReader() { + (0, _util.assert)(!this._fullRequestReader, "PDFNetworkStream.getFullReader can only be called once."); + this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source); + return this._fullRequestReader; + } + }, { + key: "getRangeReader", + value: function getRangeReader(begin, end) { + var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end); + reader.onClosed = this._onRangeRequestReaderClosed.bind(this); + + this._rangeRequestReaders.push(reader); + + return reader; + } + }, { + key: "cancelAllRequests", + value: function cancelAllRequests(reason) { + var _this$_fullRequestRea; + + (_this$_fullRequestRea = this._fullRequestReader) === null || _this$_fullRequestRea === void 0 ? void 0 : _this$_fullRequestRea.cancel(reason); + + var _iterator = _createForOfIteratorHelper(this._rangeRequestReaders.slice(0)), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var reader = _step.value; + reader.cancel(reason); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }]); + + return PDFNetworkStream; +}(); + +exports.PDFNetworkStream = PDFNetworkStream; + +var PDFNetworkStreamFullRequestReader = /*#__PURE__*/function () { + function PDFNetworkStreamFullRequestReader(manager, source) { + _classCallCheck(this, PDFNetworkStreamFullRequestReader); + + this._manager = manager; + var args = { + onHeadersReceived: this._onHeadersReceived.bind(this), + onDone: this._onDone.bind(this), + onError: this._onError.bind(this), + onProgress: this._onProgress.bind(this) + }; + this._url = source.url; + this._fullRequestId = manager.requestFull(args); + this._headersReceivedCapability = (0, _util.createPromiseCapability)(); + this._disableRange = source.disableRange || false; + this._contentLength = source.length; + this._rangeChunkSize = source.rangeChunkSize; + + if (!this._rangeChunkSize && !this._disableRange) { + this._disableRange = true; + } + + this._isStreamingSupported = false; + this._isRangeSupported = false; + this._cachedChunks = []; + this._requests = []; + this._done = false; + this._storedError = undefined; + this._filename = null; + this.onProgress = null; + } + + _createClass(PDFNetworkStreamFullRequestReader, [{ + key: "_onHeadersReceived", + value: function _onHeadersReceived() { + var fullRequestXhrId = this._fullRequestId; + + var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId); + + var getResponseHeader = function getResponseHeader(name) { + return fullRequestXhr.getResponseHeader(name); + }; + + var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({ + getResponseHeader: getResponseHeader, + isHttp: this._manager.isHttp, + rangeChunkSize: this._rangeChunkSize, + disableRange: this._disableRange + }), + allowRangeRequests = _validateRangeRequest.allowRangeRequests, + suggestedLength = _validateRangeRequest.suggestedLength; + + if (allowRangeRequests) { + this._isRangeSupported = true; + } + + this._contentLength = suggestedLength || this._contentLength; + this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader); + + if (this._isRangeSupported) { + this._manager.abortRequest(fullRequestXhrId); + } + + this._headersReceivedCapability.resolve(); + } + }, { + key: "_onDone", + value: function _onDone(data) { + if (data) { + if (this._requests.length > 0) { + var requestCapability = this._requests.shift(); + + requestCapability.resolve({ + value: data.chunk, + done: false + }); + } else { + this._cachedChunks.push(data.chunk); + } + } + + this._done = true; + + if (this._cachedChunks.length > 0) { + return; + } + + var _iterator2 = _createForOfIteratorHelper(this._requests), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var _requestCapability = _step2.value; + + _requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + this._requests.length = 0; + } + }, { + key: "_onError", + value: function _onError(status) { + this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url); + + this._headersReceivedCapability.reject(this._storedError); + + var _iterator3 = _createForOfIteratorHelper(this._requests), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var requestCapability = _step3.value; + requestCapability.reject(this._storedError); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + this._requests.length = 0; + this._cachedChunks.length = 0; + } + }, { + key: "_onProgress", + value: function _onProgress(evt) { + var _this$onProgress; + + (_this$onProgress = this.onProgress) === null || _this$onProgress === void 0 ? void 0 : _this$onProgress.call(this, { + loaded: evt.loaded, + total: evt.lengthComputable ? evt.total : this._contentLength + }); + } + }, { + key: "filename", + get: function get() { + return this._filename; + } + }, { + key: "isRangeSupported", + get: function get() { + return this._isRangeSupported; + } + }, { + key: "isStreamingSupported", + get: function get() { + return this._isStreamingSupported; + } + }, { + key: "contentLength", + get: function get() { + return this._contentLength; + } + }, { + key: "headersReady", + get: function get() { + return this._headersReceivedCapability.promise; + } + }, { + key: "read", + value: function () { + var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var chunk, requestCapability; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (!this._storedError) { + _context.next = 2; + break; + } + + throw this._storedError; + + case 2: + if (!(this._cachedChunks.length > 0)) { + _context.next = 5; + break; + } + + chunk = this._cachedChunks.shift(); + return _context.abrupt("return", { + value: chunk, + done: false + }); + + case 5: + if (!this._done) { + _context.next = 7; + break; + } + + return _context.abrupt("return", { + value: undefined, + done: true + }); + + case 7: + requestCapability = (0, _util.createPromiseCapability)(); + + this._requests.push(requestCapability); + + return _context.abrupt("return", requestCapability.promise); + + case 10: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function read() { + return _read.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + this._done = true; + + this._headersReceivedCapability.reject(reason); + + var _iterator4 = _createForOfIteratorHelper(this._requests), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var requestCapability = _step4.value; + requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + this._requests.length = 0; + + if (this._manager.isPendingRequest(this._fullRequestId)) { + this._manager.abortRequest(this._fullRequestId); + } + + this._fullRequestReader = null; + } + }]); + + return PDFNetworkStreamFullRequestReader; +}(); + +var PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () { + function PDFNetworkStreamRangeRequestReader(manager, begin, end) { + _classCallCheck(this, PDFNetworkStreamRangeRequestReader); + + this._manager = manager; + var args = { + onDone: this._onDone.bind(this), + onError: this._onError.bind(this), + onProgress: this._onProgress.bind(this) + }; + this._url = manager.url; + this._requestId = manager.requestRange(begin, end, args); + this._requests = []; + this._queuedChunk = null; + this._done = false; + this._storedError = undefined; + this.onProgress = null; + this.onClosed = null; + } + + _createClass(PDFNetworkStreamRangeRequestReader, [{ + key: "_close", + value: function _close() { + var _this$onClosed; + + (_this$onClosed = this.onClosed) === null || _this$onClosed === void 0 ? void 0 : _this$onClosed.call(this, this); + } + }, { + key: "_onDone", + value: function _onDone(data) { + var chunk = data.chunk; + + if (this._requests.length > 0) { + var requestCapability = this._requests.shift(); + + requestCapability.resolve({ + value: chunk, + done: false + }); + } else { + this._queuedChunk = chunk; + } + + this._done = true; + + var _iterator5 = _createForOfIteratorHelper(this._requests), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var _requestCapability2 = _step5.value; + + _requestCapability2.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + this._requests.length = 0; + + this._close(); + } + }, { + key: "_onError", + value: function _onError(status) { + this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url); + + var _iterator6 = _createForOfIteratorHelper(this._requests), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var requestCapability = _step6.value; + requestCapability.reject(this._storedError); + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + this._requests.length = 0; + this._queuedChunk = null; + } + }, { + key: "_onProgress", + value: function _onProgress(evt) { + if (!this.isStreamingSupported) { + var _this$onProgress2; + + (_this$onProgress2 = this.onProgress) === null || _this$onProgress2 === void 0 ? void 0 : _this$onProgress2.call(this, { + loaded: evt.loaded + }); + } + } + }, { + key: "isStreamingSupported", + get: function get() { + return false; + } + }, { + key: "read", + value: function () { + var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var chunk, requestCapability; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (!this._storedError) { + _context2.next = 2; + break; + } + + throw this._storedError; + + case 2: + if (!(this._queuedChunk !== null)) { + _context2.next = 6; + break; + } + + chunk = this._queuedChunk; + this._queuedChunk = null; + return _context2.abrupt("return", { + value: chunk, + done: false + }); + + case 6: + if (!this._done) { + _context2.next = 8; + break; + } + + return _context2.abrupt("return", { + value: undefined, + done: true + }); + + case 8: + requestCapability = (0, _util.createPromiseCapability)(); + + this._requests.push(requestCapability); + + return _context2.abrupt("return", requestCapability.promise); + + case 11: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function read() { + return _read2.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + this._done = true; + + var _iterator7 = _createForOfIteratorHelper(this._requests), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var requestCapability = _step7.value; + requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + + this._requests.length = 0; + + if (this._manager.isPendingRequest(this._requestId)) { + this._manager.abortRequest(this._requestId); + } + + this._close(); + } + }]); + + return PDFNetworkStreamRangeRequestReader; +}(); + +/***/ }), +/* 168 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFFetchStream = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); + +var _util = __w_pdfjs_require__(1); + +var _network_utils = __w_pdfjs_require__(165); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +; + +function createFetchOptions(headers, withCredentials, abortController) { + return { + method: "GET", + headers: headers, + signal: abortController === null || abortController === void 0 ? void 0 : abortController.signal, + mode: "cors", + credentials: withCredentials ? "include" : "same-origin", + redirect: "follow" + }; +} + +function createHeaders(httpHeaders) { + var headers = new Headers(); + + for (var property in httpHeaders) { + var value = httpHeaders[property]; + + if (typeof value === "undefined") { + continue; + } + + headers.append(property, value); + } + + return headers; +} + +var PDFFetchStream = /*#__PURE__*/function () { + function PDFFetchStream(source) { + _classCallCheck(this, PDFFetchStream); + + this.source = source; + this.isHttp = /^https?:/i.test(source.url); + this.httpHeaders = this.isHttp && source.httpHeaders || {}; + this._fullRequestReader = null; + this._rangeRequestReaders = []; + } + + _createClass(PDFFetchStream, [{ + key: "_progressiveDataLength", + get: function get() { + var _this$_fullRequestRea, _this$_fullRequestRea2; + + return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0; + } + }, { + key: "getFullReader", + value: function getFullReader() { + (0, _util.assert)(!this._fullRequestReader, "PDFFetchStream.getFullReader can only be called once."); + this._fullRequestReader = new PDFFetchStreamReader(this); + return this._fullRequestReader; + } + }, { + key: "getRangeReader", + value: function getRangeReader(begin, end) { + if (end <= this._progressiveDataLength) { + return null; + } + + var reader = new PDFFetchStreamRangeReader(this, begin, end); + + this._rangeRequestReaders.push(reader); + + return reader; + } + }, { + key: "cancelAllRequests", + value: function cancelAllRequests(reason) { + if (this._fullRequestReader) { + this._fullRequestReader.cancel(reason); + } + + var _iterator = _createForOfIteratorHelper(this._rangeRequestReaders.slice(0)), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var reader = _step.value; + reader.cancel(reason); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }]); + + return PDFFetchStream; +}(); + +exports.PDFFetchStream = PDFFetchStream; + +var PDFFetchStreamReader = /*#__PURE__*/function () { + function PDFFetchStreamReader(stream) { + var _this = this; + + _classCallCheck(this, PDFFetchStreamReader); + + this._stream = stream; + this._reader = null; + this._loaded = 0; + this._filename = null; + var source = stream.source; + this._withCredentials = source.withCredentials || false; + this._contentLength = source.length; + this._headersCapability = (0, _util.createPromiseCapability)(); + this._disableRange = source.disableRange || false; + this._rangeChunkSize = source.rangeChunkSize; + + if (!this._rangeChunkSize && !this._disableRange) { + this._disableRange = true; + } + + if (typeof AbortController !== "undefined") { + this._abortController = new AbortController(); + } + + this._isStreamingSupported = !source.disableStream; + this._isRangeSupported = !source.disableRange; + this._headers = createHeaders(this._stream.httpHeaders); + var url = source.url; + fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) { + if (!(0, _network_utils.validateResponseStatus)(response.status)) { + throw (0, _network_utils.createResponseStatusError)(response.status, url); + } + + _this._reader = response.body.getReader(); + + _this._headersCapability.resolve(); + + var getResponseHeader = function getResponseHeader(name) { + return response.headers.get(name); + }; + + var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({ + getResponseHeader: getResponseHeader, + isHttp: _this._stream.isHttp, + rangeChunkSize: _this._rangeChunkSize, + disableRange: _this._disableRange + }), + allowRangeRequests = _validateRangeRequest.allowRangeRequests, + suggestedLength = _validateRangeRequest.suggestedLength; + + _this._isRangeSupported = allowRangeRequests; + _this._contentLength = suggestedLength || _this._contentLength; + _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader); + + if (!_this._isStreamingSupported && _this._isRangeSupported) { + _this.cancel(new _util.AbortException("Streaming is disabled.")); + } + })["catch"](this._headersCapability.reject); + this.onProgress = null; + } + + _createClass(PDFFetchStreamReader, [{ + key: "headersReady", + get: function get() { + return this._headersCapability.promise; + } + }, { + key: "filename", + get: function get() { + return this._filename; + } + }, { + key: "contentLength", + get: function get() { + return this._contentLength; + } + }, { + key: "isRangeSupported", + get: function get() { + return this._isRangeSupported; + } + }, { + key: "isStreamingSupported", + get: function get() { + return this._isStreamingSupported; + } + }, { + key: "read", + value: function () { + var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var _yield$this$_reader$r, value, done, buffer; + + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return this._headersCapability.promise; + + case 2: + _context.next = 4; + return this._reader.read(); + + case 4: + _yield$this$_reader$r = _context.sent; + value = _yield$this$_reader$r.value; + done = _yield$this$_reader$r.done; + + if (!done) { + _context.next = 9; + break; + } + + return _context.abrupt("return", { + value: value, + done: done + }); + + case 9: + this._loaded += value.byteLength; + + if (this.onProgress) { + this.onProgress({ + loaded: this._loaded, + total: this._contentLength + }); + } + + buffer = new Uint8Array(value).buffer; + return _context.abrupt("return", { + value: buffer, + done: false + }); + + case 13: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function read() { + return _read.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + if (this._reader) { + this._reader.cancel(reason); + } + + if (this._abortController) { + this._abortController.abort(); + } + } + }]); + + return PDFFetchStreamReader; +}(); + +var PDFFetchStreamRangeReader = /*#__PURE__*/function () { + function PDFFetchStreamRangeReader(stream, begin, end) { + var _this2 = this; + + _classCallCheck(this, PDFFetchStreamRangeReader); + + this._stream = stream; + this._reader = null; + this._loaded = 0; + var source = stream.source; + this._withCredentials = source.withCredentials || false; + this._readCapability = (0, _util.createPromiseCapability)(); + this._isStreamingSupported = !source.disableStream; + + if (typeof AbortController !== "undefined") { + this._abortController = new AbortController(); + } + + this._headers = createHeaders(this._stream.httpHeaders); + + this._headers.append("Range", "bytes=".concat(begin, "-").concat(end - 1)); + + var url = source.url; + fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) { + if (!(0, _network_utils.validateResponseStatus)(response.status)) { + throw (0, _network_utils.createResponseStatusError)(response.status, url); + } + + _this2._readCapability.resolve(); + + _this2._reader = response.body.getReader(); + })["catch"](this._readCapability.reject); + this.onProgress = null; + } + + _createClass(PDFFetchStreamRangeReader, [{ + key: "isStreamingSupported", + get: function get() { + return this._isStreamingSupported; + } + }, { + key: "read", + value: function () { + var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var _yield$this$_reader$r2, value, done, buffer; + + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return this._readCapability.promise; + + case 2: + _context2.next = 4; + return this._reader.read(); + + case 4: + _yield$this$_reader$r2 = _context2.sent; + value = _yield$this$_reader$r2.value; + done = _yield$this$_reader$r2.done; + + if (!done) { + _context2.next = 9; + break; + } + + return _context2.abrupt("return", { + value: value, + done: done + }); + + case 9: + this._loaded += value.byteLength; + + if (this.onProgress) { + this.onProgress({ + loaded: this._loaded + }); + } + + buffer = new Uint8Array(value).buffer; + return _context2.abrupt("return", { + value: buffer, + done: false + }); + + case 13: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function read() { + return _read2.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + if (this._reader) { + this._reader.cancel(reason); + } + + if (this._abortController) { + this._abortController.abort(); + } + } + }]); + + return PDFFetchStreamRangeReader; +}(); + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __w_pdfjs_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ id: moduleId, +/******/ loaded: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/node module decorator */ +/******/ (() => { +/******/ __w_pdfjs_require__.nmd = (module) => { +/******/ module.paths = []; +/******/ if (!module.children) module.children = []; +/******/ return module; +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; +var exports = __webpack_exports__; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +Object.defineProperty(exports, "AnnotationLayer", ({ + enumerable: true, + get: function get() { + return _annotation_layer.AnnotationLayer; + } +})); +Object.defineProperty(exports, "AnnotationMode", ({ + enumerable: true, + get: function get() { + return _util.AnnotationMode; + } +})); +Object.defineProperty(exports, "CMapCompressionType", ({ + enumerable: true, + get: function get() { + return _util.CMapCompressionType; + } +})); +Object.defineProperty(exports, "GlobalWorkerOptions", ({ + enumerable: true, + get: function get() { + return _worker_options.GlobalWorkerOptions; + } +})); +Object.defineProperty(exports, "InvalidPDFException", ({ + enumerable: true, + get: function get() { + return _util.InvalidPDFException; + } +})); +Object.defineProperty(exports, "LoopbackPort", ({ + enumerable: true, + get: function get() { + return _api.LoopbackPort; + } +})); +Object.defineProperty(exports, "MissingPDFException", ({ + enumerable: true, + get: function get() { + return _util.MissingPDFException; + } +})); +Object.defineProperty(exports, "OPS", ({ + enumerable: true, + get: function get() { + return _util.OPS; + } +})); +Object.defineProperty(exports, "PDFDataRangeTransport", ({ + enumerable: true, + get: function get() { + return _api.PDFDataRangeTransport; + } +})); +Object.defineProperty(exports, "PDFDateString", ({ + enumerable: true, + get: function get() { + return _display_utils.PDFDateString; + } +})); +Object.defineProperty(exports, "PDFWorker", ({ + enumerable: true, + get: function get() { + return _api.PDFWorker; + } +})); +Object.defineProperty(exports, "PasswordResponses", ({ + enumerable: true, + get: function get() { + return _util.PasswordResponses; + } +})); +Object.defineProperty(exports, "PermissionFlag", ({ + enumerable: true, + get: function get() { + return _util.PermissionFlag; + } +})); +Object.defineProperty(exports, "PixelsPerInch", ({ + enumerable: true, + get: function get() { + return _display_utils.PixelsPerInch; + } +})); +Object.defineProperty(exports, "RenderingCancelledException", ({ + enumerable: true, + get: function get() { + return _display_utils.RenderingCancelledException; + } +})); +Object.defineProperty(exports, "SVGGraphics", ({ + enumerable: true, + get: function get() { + return _svg.SVGGraphics; + } +})); +Object.defineProperty(exports, "UNSUPPORTED_FEATURES", ({ + enumerable: true, + get: function get() { + return _util.UNSUPPORTED_FEATURES; + } +})); +Object.defineProperty(exports, "UnexpectedResponseException", ({ + enumerable: true, + get: function get() { + return _util.UnexpectedResponseException; + } +})); +Object.defineProperty(exports, "Util", ({ + enumerable: true, + get: function get() { + return _util.Util; + } +})); +Object.defineProperty(exports, "VerbosityLevel", ({ + enumerable: true, + get: function get() { + return _util.VerbosityLevel; + } +})); +Object.defineProperty(exports, "XfaLayer", ({ + enumerable: true, + get: function get() { + return _xfa_layer.XfaLayer; + } +})); +Object.defineProperty(exports, "build", ({ + enumerable: true, + get: function get() { + return _api.build; + } +})); +Object.defineProperty(exports, "createPromiseCapability", ({ + enumerable: true, + get: function get() { + return _util.createPromiseCapability; + } +})); +Object.defineProperty(exports, "createValidAbsoluteUrl", ({ + enumerable: true, + get: function get() { + return _util.createValidAbsoluteUrl; + } +})); +Object.defineProperty(exports, "getDocument", ({ + enumerable: true, + get: function get() { + return _api.getDocument; + } +})); +Object.defineProperty(exports, "getFilenameFromUrl", ({ + enumerable: true, + get: function get() { + return _display_utils.getFilenameFromUrl; + } +})); +Object.defineProperty(exports, "getPdfFilenameFromUrl", ({ + enumerable: true, + get: function get() { + return _display_utils.getPdfFilenameFromUrl; + } +})); +Object.defineProperty(exports, "getXfaPageViewport", ({ + enumerable: true, + get: function get() { + return _display_utils.getXfaPageViewport; + } +})); +Object.defineProperty(exports, "isPdfFile", ({ + enumerable: true, + get: function get() { + return _display_utils.isPdfFile; + } +})); +Object.defineProperty(exports, "loadScript", ({ + enumerable: true, + get: function get() { + return _display_utils.loadScript; + } +})); +Object.defineProperty(exports, "renderTextLayer", ({ + enumerable: true, + get: function get() { + return _text_layer.renderTextLayer; + } +})); +Object.defineProperty(exports, "shadow", ({ + enumerable: true, + get: function get() { + return _util.shadow; + } +})); +Object.defineProperty(exports, "version", ({ + enumerable: true, + get: function get() { + return _api.version; + } +})); + +var _util = __w_pdfjs_require__(1); + +var _api = __w_pdfjs_require__(143); + +var _display_utils = __w_pdfjs_require__(146); + +var _annotation_layer = __w_pdfjs_require__(159); + +var _worker_options = __w_pdfjs_require__(153); + +var _is_node = __w_pdfjs_require__(3); + +var _text_layer = __w_pdfjs_require__(162); + +var _svg = __w_pdfjs_require__(163); + +var _xfa_layer = __w_pdfjs_require__(161); + +var pdfjsVersion = '2.14.44'; +var pdfjsBuild = '90c5e9882'; +{ + if (_is_node.isNodeJS) { + var _require = __w_pdfjs_require__(164), + PDFNodeStream = _require.PDFNodeStream; + + (0, _api.setPDFNetworkStreamFactory)(function (params) { + return new PDFNodeStream(params); + }); + } else { + var _require2 = __w_pdfjs_require__(167), + PDFNetworkStream = _require2.PDFNetworkStream; + + var _require3 = __w_pdfjs_require__(168), + PDFFetchStream = _require3.PDFFetchStream; + + (0, _api.setPDFNetworkStreamFactory)(function (params) { + if ((0, _display_utils.isValidFetchUrl)(params.url)) { + return new PDFFetchStream(params); + } + + return new PDFNetworkStream(params); + }); + } +} +})(); + +/******/ return __webpack_exports__; +/******/ })() +; +}); +//# sourceMappingURL=pdf.js.map \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/pdf.js.map b/app/assets/javascripts/publications/pdf/pdf.js.map new file mode 100644 index 0000000..58ffc3f --- /dev/null +++ b/app/assets/javascripts/publications/pdf/pdf.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pdf.js","mappings":"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","sources":["webpack://pdfjs-dist/build/pdf/webpack/universalModuleDefinition","webpack://pdfjs-dist/build/pdf/src/shared/util.js","webpack://pdfjs-dist/build/pdf/src/shared/compatibility.js","webpack://pdfjs-dist/build/pdf/src/shared/is_node.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/promise/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.aggregate-error.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/export.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/global.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/descriptors.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/fails.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-call.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-bind-native.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-property-is-enumerable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property-descriptor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-indexed-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/indexed-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-uncurry-this.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof-raw.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/require-object-coercible.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-property-key.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-primitive.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-callable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-built-in.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-is-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-v8-version.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-user-agent.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-callable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/try-to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/ordinary-to-primitive.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/well-known-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-pure.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-store.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-global.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/has-own-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/uid.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/ie8-dom-define.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/document-create-element.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-non-enumerable-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/redefine.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inspect-source.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/internal-state.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-weak-map.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-key.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/hidden-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-name.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/copy-constructor-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/own-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-names.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys-internal.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-absolute-index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-integer-or-infinity.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/length-of-array-like.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/enum-bug-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-forced.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/correct-prototype-getter.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-set-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-possible-prototype.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-create.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/html.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/clear-error-stack.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/install-error-cause.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterate.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-bind-context.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-array-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-string-tag-support.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterator-close.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/normalize-string-argument.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/error-stack-installable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/add-to-unscopables.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-iterator-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators-core.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-to-string-tag.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.object.to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-promise-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/redefine-all.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-species.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-instance.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/species-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/task.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-apply.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-slice.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/validate-arguments-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-ios.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-node.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/microtask.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-ios-pebble.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-webos-webkit.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/promise-resolve.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/new-promise-capability.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/host-report-errors.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/perform.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/queue.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-browser.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.all-settled.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.any.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.finally.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-multibyte.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/path.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/web/structured-clone.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.map.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/collection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/internal-metadata.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-slice-simple.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-is-extensible.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-non-extensible.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/freezing.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inherit-if-required.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/collection-strong.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.set.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.structured-clone.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/regexp-flags.js","webpack://pdfjs-dist/build/pdf/src/display/api.js","webpack://pdfjs-dist/build/pdf/node_modules/@babel/runtime/regenerator/index.js","webpack://pdfjs-dist/build/pdf/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js","webpack://pdfjs-dist/build/pdf/src/display/display_utils.js","webpack://pdfjs-dist/build/pdf/src/display/base_factory.js","webpack://pdfjs-dist/build/pdf/src/display/font_loader.js","webpack://pdfjs-dist/build/pdf/src/display/node_utils.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_storage.js","webpack://pdfjs-dist/build/pdf/src/display/canvas.js","webpack://pdfjs-dist/build/pdf/src/display/pattern_helper.js","webpack://pdfjs-dist/build/pdf/src/display/worker_options.js","webpack://pdfjs-dist/build/pdf/src/shared/message_handler.js","webpack://pdfjs-dist/build/pdf/src/display/metadata.js","webpack://pdfjs-dist/build/pdf/src/display/optional_content_config.js","webpack://pdfjs-dist/build/pdf/src/display/transport_stream.js","webpack://pdfjs-dist/build/pdf/src/display/xfa_text.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_layer.js","webpack://pdfjs-dist/build/pdf/src/shared/scripting_utils.js","webpack://pdfjs-dist/build/pdf/src/display/xfa_layer.js","webpack://pdfjs-dist/build/pdf/src/display/text_layer.js","webpack://pdfjs-dist/build/pdf/src/display/svg.js","webpack://pdfjs-dist/build/pdf/src/display/node_stream.js","webpack://pdfjs-dist/build/pdf/src/display/network_utils.js","webpack://pdfjs-dist/build/pdf/src/display/content_disposition.js","webpack://pdfjs-dist/build/pdf/src/display/network.js","webpack://pdfjs-dist/build/pdf/src/display/fetch_stream.js","webpack://pdfjs-dist/build/pdf/webpack/bootstrap","webpack://pdfjs-dist/build/pdf/webpack/runtime/node module decorator","webpack://pdfjs-dist/build/pdf/src/pdf.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = factory();\n})(this, function() {\nreturn ","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport \"./compatibility.js\";\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n\n/**\n * Refer to the `WorkerTransport.getRenderingIntent`-method in the API, to see\n * how these flags are being used:\n * - ANY, DISPLAY, and PRINT are the normal rendering intents, note the\n * `PDFPageProxy.{render, getOperatorList, getAnnotations}`-methods.\n * - ANNOTATIONS_FORMS, ANNOTATIONS_STORAGE, ANNOTATIONS_DISABLE control which\n * annotations are rendered onto the canvas (i.e. by being included in the\n * operatorList), note the `PDFPageProxy.{render, getOperatorList}`-methods\n * and their `annotationMode`-option.\n * - OPLIST is used with the `PDFPageProxy.getOperatorList`-method, note the\n * `OperatorList`-constructor (on the worker-thread).\n */\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100,\n};\n\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3,\n};\n\n// Permission flags from Table 22, Section 7.6.3.2 of the PDF specification.\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800,\n};\n\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4,\n};\n\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3,\n};\n\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26,\n};\n\nconst AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\",\n};\n\nconst AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\",\n};\n\nconst AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\",\n};\n\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\",\n};\n\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200,\n};\n\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000,\n};\n\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5,\n};\n\nconst AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\",\n};\n\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\",\n};\n\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\",\n};\n\nconst StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\", // PDF short name is 'RL', but telemetry requires three chars.\n};\n\nconst FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1STANDARD: \"TYPE1STANDARD\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\",\n};\n\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5,\n};\n\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2,\n};\n\n// All the possible operations for an operator list.\nconst OPS = {\n // Intentionally start from 1 so it is easy to spot bad operators that will be\n // 0's.\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n /** @deprecated unused */\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91,\n};\n\nconst UNSUPPORTED_FEATURES = {\n /** @deprecated unused */\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n signatures: \"signatures\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n /** @deprecated unused */\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontBuildPath: \"errorFontBuildPath\",\n errorFontGetPath: \"errorFontGetPath\",\n errorMarkedContent: \"errorMarkedContent\",\n errorContentSubStream: \"errorContentSubStream\",\n};\n\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2,\n};\n\nlet verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\n// A notice for devs. These are good for things that are helpful to devs, such\n// as warning that Workers were disabled, which is important to devs but not\n// end users.\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\n// Non-fatal warnings.\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\n// Checks if URLs have the same origin. For non-HTTP based URLs, returns false.\nfunction isSameOrigin(baseUrl, otherUrl) {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === \"null\") {\n return false; // non-HTTP url\n }\n } catch (e) {\n return false;\n }\n\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\n// Checks if URLs use one of the allowed protocols, e.g. to avoid XSS.\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n}\n\n/**\n * Attempts to create a valid absolute URL.\n *\n * @param {URL|string} url - An absolute, or relative, URL.\n * @param {URL|string} [baseUrl] - An absolute URL.\n * @param {Object} [options]\n * @returns Either a valid {URL}, or `null` otherwise.\n */\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n try {\n if (options && typeof url === \"string\") {\n // Let URLs beginning with \"www.\" default to using the \"http://\" protocol.\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n // Avoid accidentally matching a *relative* URL pointing to a file named\n // e.g. \"www.pdf\" or similar.\n if (dots && dots.length >= 2) {\n url = `http://${url}`;\n }\n }\n\n // According to ISO 32000-1:2008, section 12.6.4.7, URIs should be encoded\n // in 7-bit ASCII. Some bad PDFs use UTF-8 encoding; see bug 1122280.\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch (ex) {}\n }\n }\n\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {\n /* `new URL()` will throw on incorrect data. */\n }\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n prop in obj,\n `shadow: Property \"${prop && prop.toString()}\" not found in object.`\n );\n }\n Object.defineProperty(obj, prop, {\n value,\n enumerable: true,\n configurable: true,\n writable: false,\n });\n return value;\n}\n\n/**\n * @type {any}\n */\nconst BaseException = (function BaseExceptionClosure() {\n // eslint-disable-next-line no-shadow\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n\n return BaseException;\n})();\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n}\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n}\n\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n}\n\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n}\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n}\n\n/**\n * Error caused during parsing PDF data.\n */\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n}\n\n/**\n * Error used to indicate task cancellation.\n */\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n}\n\nfunction bytesToString(bytes) {\n if (\n typeof bytes !== \"object\" ||\n bytes === null ||\n bytes.length === undefined\n ) {\n unreachable(\"Invalid argument for bytesToString\");\n }\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\n\n/**\n * Gets length of the array (Array, Uint8Array, or string) in bytes.\n * @param {Array|Uint8Array|string} arr\n * @returns {number}\n */\n// eslint-disable-next-line consistent-return\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n if (arr.byteLength !== undefined) {\n return arr.byteLength;\n }\n unreachable(\"Invalid argument for arrayByteLength\");\n}\n\n/**\n * Combines array items (arrays) into single Uint8Array object.\n * @param {Array|Uint8Array|string>} arr - the array of the arrays\n * (Array, Uint8Array, or string).\n * @returns {Uint8Array}\n */\nfunction arraysToBytes(arr) {\n const length = arr.length;\n // Shortcut: if first and only item is Uint8Array, return it.\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n let resultLength = 0;\n for (let i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n let pos = 0;\n const data = new Uint8Array(resultLength);\n for (let i = 0; i < length; i++) {\n let item = arr[i];\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n const itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n return data;\n}\n\nfunction string32(value) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n typeof value === \"number\" && Math.abs(value) < 2 ** 32,\n `string32: Unexpected input \"${value}\".`\n );\n }\n return String.fromCharCode(\n (value >> 24) & 0xff,\n (value >> 16) & 0xff,\n (value >> 8) & 0xff,\n value & 0xff\n );\n}\n\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\n\n// Ensure that the returned Object has a `null` prototype; hence why\n// `Object.fromEntries(...)` is not used.\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n for (const [key, value] of map) {\n obj[key] = value;\n }\n return obj;\n}\n\n// Checks the endianness of the platform.\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\nconst IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n },\n};\n\n// Checks if it's possible to eval JS expressions.\nfunction isEvalSupported() {\n try {\n new Function(\"\"); // eslint-disable-line no-new, no-new-func\n return true;\n } catch (e) {\n return false;\n }\n}\nconst IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n },\n};\n\nconst hexNumbers = [...Array(256).keys()].map(n =>\n n.toString(16).padStart(2, \"0\")\n);\n\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n\n // Concatenates two transformation matrices together and returns the result.\n static transform(m1, m2) {\n return [\n m1[0] * m2[0] + m1[2] * m2[1],\n m1[1] * m2[0] + m1[3] * m2[1],\n m1[0] * m2[2] + m1[2] * m2[3],\n m1[1] * m2[2] + m1[3] * m2[3],\n m1[0] * m2[4] + m1[2] * m2[5] + m1[4],\n m1[1] * m2[4] + m1[3] * m2[5] + m1[5],\n ];\n }\n\n // For 2d affine transforms\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n\n // Applies the transform to the rectangle and finds the minimum axially\n // aligned bounding box.\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = Util.applyTransform(r, m);\n const p2 = Util.applyTransform(r.slice(2, 4), m);\n const p3 = Util.applyTransform([r[0], r[3]], m);\n const p4 = Util.applyTransform([r[2], r[1]], m);\n return [\n Math.min(p1[0], p2[0], p3[0], p4[0]),\n Math.min(p1[1], p2[1], p3[1], p4[1]),\n Math.max(p1[0], p2[0], p3[0], p4[0]),\n Math.max(p1[1], p2[1], p3[1], p4[1]),\n ];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [\n m[3] / d,\n -m[1] / d,\n -m[2] / d,\n m[0] / d,\n (m[2] * m[5] - m[4] * m[3]) / d,\n (m[4] * m[1] - m[5] * m[0]) / d,\n ];\n }\n\n // Apply a generic 3d matrix M on a 3-vector v:\n // | a b c | | X |\n // | d e f | x | Y |\n // | g h i | | Z |\n // M is assumed to be serialized as [a,b,c,d,e,f,g,h,i],\n // with v as [X,Y,Z]\n static apply3dTransform(m, v) {\n return [\n m[0] * v[0] + m[1] * v[1] + m[2] * v[2],\n m[3] * v[0] + m[4] * v[1] + m[5] * v[2],\n m[6] * v[0] + m[7] * v[1] + m[8] * v[2],\n ];\n }\n\n // This calculation uses Singular Value Decomposition.\n // The SVD can be represented with formula A = USV. We are interested in the\n // matrix S here because it represents the scale values.\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n\n // Multiply matrix m with its transpose.\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n\n // Solve the second degree polynomial to get roots.\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n\n // Scale values are the square roots of the eigenvalues.\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n // Normalize rectangle rect=[x1, y1, x2, y2] so that (x1,y1) < (x2,y2)\n // For coordinate systems whose origin lies in the bottom-left, this\n // means normalization to (BL,TR) ordering. For systems with origin in the\n // top-left, this means (TL,BR) ordering.\n static normalizeRect(rect) {\n const r = rect.slice(0); // clone rect\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n\n // Returns a rectangle [x1, y1, x2, y2] corresponding to the\n // intersection of rect1 and rect2. If no intersection, returns 'false'\n // The rectangle coordinates of rect1, rect2 should be [x1, y1, x2, y2]\n static intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n // Order points along the axes\n const orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n const orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n const result = [];\n\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n // X: first and second points belong to different rectangles?\n if (\n (orderedX[0] === rect1[0] && orderedX[1] === rect2[0]) ||\n (orderedX[0] === rect2[0] && orderedX[1] === rect1[0])\n ) {\n // Intersection must be between second and third points\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n // Y: first and second points belong to different rectangles?\n if (\n (orderedY[0] === rect1[1] && orderedY[1] === rect2[1]) ||\n (orderedY[0] === rect2[1] && orderedY[1] === rect1[1])\n ) {\n // Intersection must be between second and third points\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n\n // From https://github.com/adobe-webplatform/Snap.svg/blob/b365287722a72526000ac4bfcf0ce4cac2faa015/src/path.js#L852\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n const tvalues = [],\n bounds = [[], []];\n let a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n for (let i = 0; i < 2; ++i) {\n if (i === 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = Math.sqrt(b2ac);\n if (b2ac < 0) {\n continue;\n }\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n let j = tvalues.length,\n mt;\n const jlen = j;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] =\n mt * mt * mt * x0 +\n 3 * mt * mt * t * x1 +\n 3 * mt * t * t * x2 +\n t * t * t * x3;\n bounds[1][j] =\n mt * mt * mt * y0 +\n 3 * mt * mt * t * y1 +\n 3 * mt * t * t * y2 +\n t * t * t * y3;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n\n return [\n Math.min(...bounds[0]),\n Math.min(...bounds[1]),\n Math.max(...bounds[0]),\n Math.max(...bounds[1]),\n ];\n }\n}\n\nconst PDFStringTranslateTable = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8,\n 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192,\n 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018,\n 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d,\n 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac,\n];\n\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, { fatal: true });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n // ISO Latin 1\n const strBuf = [];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n return strBuf.join(\"\");\n}\n\nfunction escapeString(str) {\n // replace \"(\", \")\", \"\\n\", \"\\r\" and \"\\\"\n // by \"\\(\", \"\\)\", \"\\\\n\", \"\\\\r\" and \"\\\\\"\n // in order to write it in a PDF file.\n return str.replace(/([()\\\\\\n\\r])/g, match => {\n if (match === \"\\n\") {\n return \"\\\\n\";\n } else if (match === \"\\r\") {\n return \"\\\\r\";\n }\n return `\\\\${match}`;\n });\n}\n\nfunction isAscii(str) {\n return /^[\\x00-\\x7F]*$/.test(str);\n}\n\nfunction stringToUTF16BEString(str) {\n const buf = [\"\\xFE\\xFF\"];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const char = str.charCodeAt(i);\n buf.push(\n String.fromCharCode((char >> 8) & 0xff),\n String.fromCharCode(char & 0xff)\n );\n }\n return buf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction getModificationDate(date = new Date()) {\n const buffer = [\n date.getUTCFullYear().toString(),\n (date.getUTCMonth() + 1).toString().padStart(2, \"0\"),\n date.getUTCDate().toString().padStart(2, \"0\"),\n date.getUTCHours().toString().padStart(2, \"0\"),\n date.getUTCMinutes().toString().padStart(2, \"0\"),\n date.getUTCSeconds().toString().padStart(2, \"0\"),\n ];\n\n return buffer.join(\"\");\n}\n\n/**\n * Promise Capability object.\n *\n * @typedef {Object} PromiseCapability\n * @property {Promise} promise - A Promise object.\n * @property {boolean} settled - If the Promise has been fulfilled/rejected.\n * @property {function} resolve - Fulfills the Promise.\n * @property {function} reject - Rejects the Promise.\n */\n\n/**\n * Creates a promise capability object.\n * @alias createPromiseCapability\n *\n * @returns {PromiseCapability}\n */\nfunction createPromiseCapability() {\n const capability = Object.create(null);\n let isSettled = false;\n\n Object.defineProperty(capability, \"settled\", {\n get() {\n return isSettled;\n },\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nexport {\n AbortException,\n AnnotationActionEventType,\n AnnotationBorderStyleType,\n AnnotationFieldFlag,\n AnnotationFlag,\n AnnotationMarkedState,\n AnnotationMode,\n AnnotationReplyType,\n AnnotationReviewState,\n AnnotationStateModelType,\n AnnotationType,\n arrayByteLength,\n arraysToBytes,\n assert,\n BaseException,\n bytesToString,\n CMapCompressionType,\n createPromiseCapability,\n createValidAbsoluteUrl,\n DocumentActionEventType,\n escapeString,\n FONT_IDENTITY_MATRIX,\n FontType,\n FormatError,\n getModificationDate,\n getVerbosityLevel,\n IDENTITY_MATRIX,\n ImageKind,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isArrayEqual,\n isAscii,\n IsEvalSupportedCached,\n IsLittleEndianCached,\n isSameOrigin,\n MissingPDFException,\n objectFromMap,\n objectSize,\n OPS,\n PageActionEventType,\n PasswordException,\n PasswordResponses,\n PermissionFlag,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n StreamType,\n string32,\n stringToBytes,\n stringToPDFString,\n stringToUTF16BEString,\n stringToUTF8String,\n TextRenderingMode,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n UNSUPPORTED_FEATURES,\n utf8StringToString,\n Util,\n VerbosityLevel,\n warn,\n};\n","/* Copyright 2017 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals __non_webpack_require__ */\n\nimport { isNodeJS } from \"./is_node.js\";\n\n// Skip compatibility checks for modern builds and if we already ran the module.\nif (\n (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"SKIP_BABEL\")) &&\n !globalThis._pdfjsCompatibilityChecked\n) {\n globalThis._pdfjsCompatibilityChecked = true;\n\n // Support: Node.js\n (function checkNodeBtoa() {\n if (globalThis.btoa || !isNodeJS) {\n return;\n }\n globalThis.btoa = function (chars) {\n // eslint-disable-next-line no-undef\n return Buffer.from(chars, \"binary\").toString(\"base64\");\n };\n })();\n\n // Support: Node.js\n (function checkNodeAtob() {\n if (globalThis.atob || !isNodeJS) {\n return;\n }\n globalThis.atob = function (input) {\n // eslint-disable-next-line no-undef\n return Buffer.from(input, \"base64\").toString(\"binary\");\n };\n })();\n\n // Support: Node.js\n (function checkDOMMatrix() {\n if (globalThis.DOMMatrix || !isNodeJS) {\n return;\n }\n globalThis.DOMMatrix = __non_webpack_require__(\n \"dommatrix/dist/dommatrix.js\"\n );\n })();\n\n // Provides support for *recent* additions to the Promise specification,\n // however basic Promise support is assumed to be available natively.\n // Support: Firefox<71, Chrome<76, Safari<13, Node.js<12.9.0\n (function checkPromise() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders are synchronous, hence `Promise` shouldn't\n // need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n if (globalThis.Promise.allSettled) {\n return;\n }\n globalThis.Promise = require(\"core-js/es/promise/index.js\");\n })();\n\n // Support: Node.js\n (function checkReadableStream() {\n if (globalThis.ReadableStream || !isNodeJS) {\n return;\n }\n globalThis.ReadableStream = __non_webpack_require__(\n \"web-streams-polyfill/dist/ponyfill.js\"\n ).ReadableStream;\n })();\n\n // Support: Firefox<94, Chrome<98, Safari<15.4, Node.js<17.0.0\n (function checkStructuredClone() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders are synchronous, hence `structuredClone`\n // shouldn't need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n if (globalThis.structuredClone) {\n return;\n }\n require(\"core-js/web/structured-clone.js\");\n })();\n}\n","/* Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals process */\n\n// NW.js / Electron is a browser context, but copies some Node.js objects; see\n// http://docs.nwjs.io/en/latest/For%20Users/Advanced/JavaScript%20Contexts%20in%20NW.js/#access-nodejs-and-nwjs-api-in-browser-context\n// https://www.electronjs.org/docs/api/process#processversionselectron-readonly\n// https://www.electronjs.org/docs/api/process#processtype-readonly\nconst isNodeJS =\n typeof process === \"object\" &&\n process + \"\" === \"[object process]\" &&\n !process.versions.nw &&\n !(process.versions.electron && process.type && process.type !== \"browser\");\n\nexport { isNodeJS };\n","require('../../modules/es.aggregate-error');\nrequire('../../modules/es.array.iterator');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.all-settled');\nrequire('../../modules/es.promise.any');\nrequire('../../modules/es.promise.finally');\nrequire('../../modules/es.string.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Promise;\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar clearErrorStack = require('../internals/clear-error-stack');\nvar installErrorCause = require('../internals/install-error-cause');\nvar iterate = require('../internals/iterate');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Error = global.Error;\nvar push = [].push;\n\nvar $AggregateError = function AggregateError(errors, message /* , options */) {\n var options = arguments.length > 2 ? arguments[2] : undefined;\n var isInstance = isPrototypeOf(AggregateErrorPrototype, this);\n var that;\n if (setPrototypeOf) {\n that = setPrototypeOf(new Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype);\n } else {\n that = isInstance ? this : create(AggregateErrorPrototype);\n createNonEnumerableProperty(that, TO_STRING_TAG, 'Error');\n }\n if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message));\n if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(that, 'stack', clearErrorStack(that.stack, 1));\n installErrorCause(that, options);\n var errorsArray = [];\n iterate(errors, push, { that: errorsArray });\n createNonEnumerableProperty(that, 'errors', errorsArray);\n return that;\n};\n\nif (setPrototypeOf) setPrototypeOf($AggregateError, Error);\nelse copyConstructorProperties($AggregateError, Error, { name: true });\n\nvar AggregateErrorPrototype = $AggregateError.prototype = create(Error.prototype, {\n constructor: createPropertyDescriptor(1, $AggregateError),\n message: createPropertyDescriptor(1, ''),\n name: createPropertyDescriptor(1, 'AggregateError')\n});\n\n// `AggregateError` constructor\n// https://tc39.es/ecma262/#sec-aggregate-error-constructor\n$({ global: true }, {\n AggregateError: $AggregateError\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.21.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","module.exports = false;\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = {};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var global = require('../internals/global');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar Object = global.Object;\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String(Error(arg).stack); })('zxcasd');\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string') {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","var isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TypeError = global.TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","module.exports = {};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw TypeError(tryToString(argument) + ' is not iterable');\n};\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","var toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","var fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/define-iterator');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n redefine(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n redefine(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\n\nvar getInternalState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar NativePromisePrototype = NativePromise && NativePromise.prototype;\nvar PromiseConstructor = NativePromise;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar SUBCLASSING = false;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromisePrototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new PromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT;\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n PromisePrototype = PromiseConstructor.prototype;\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromisePrototype, {\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n // eslint-disable-next-line unicorn/no-thenable -- safe\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state == PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.es/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromise) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\n redefine(NativePromisePrototype, 'catch', PromisePrototype['catch'], { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.es/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.es/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.es/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.es/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw TypeError('Incorrect invocation');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);\n};\n","var global = require('../internals/global');\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar location, defer, channel, port;\n\ntry {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n location = global.location;\n} catch (error) { /* empty */ }\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n location && location.protocol !== 'file:' &&\n !fails(post)\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n return passed;\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n // strange IE + webpack dev server bug - use .bind(global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var userAgent = require('../internals/engine-user-agent');\nvar global = require('../internals/global');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined;\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length == 1 ? console.error(a) : console.error(a, b);\n }\n};\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","var Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n if (this.head) this.tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n this.head = entry.next;\n if (this.tail === entry) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","module.exports = typeof window == 'object';\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\n// `Promise.allSettled` method\n// https://tc39.es/ecma262/#sec-promise.allsettled\n$({ target: 'Promise', stat: true }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call(promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (error) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: error };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aCallable = require('../internals/a-callable');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\nvar PROMISE_ANY_ERROR = 'No one promise resolved';\n\n// `Promise.any` method\n// https://tc39.es/ecma262/#sec-promise.any\n$({ target: 'Promise', stat: true }, {\n any: function any(iterable) {\n var C = this;\n var AggregateError = getBuiltIn('AggregateError');\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aCallable(C.resolve);\n var errors = [];\n var counter = 0;\n var remaining = 1;\n var alreadyResolved = false;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyRejected = false;\n remaining++;\n call(promiseResolve, C, promise).then(function (value) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyResolved = true;\n resolve(value);\n }, function (error) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyRejected = true;\n errors[index] = error;\n --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));\n });\n });\n --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n // eslint-disable-next-line unicorn/no-thenable -- required for testing\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = isCallable(onFinally);\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromise)) {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromise.prototype['finally'] !== method) {\n redefine(NativePromise.prototype, 'finally', method, { unsafe: true });\n }\n}\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","require('../modules/es.array.iterator');\nrequire('../modules/es.object.to-string');\nrequire('../modules/es.map');\nrequire('../modules/es.set');\nrequire('../modules/web.structured-clone');\nvar path = require('../internals/path');\n\nmodule.exports = path.structuredClone;\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var global = require('../internals/global');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar Array = global.Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","var IS_PURE = require('../internals/is-pure');\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltin = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar uid = require('../internals/uid');\nvar isCallable = require('../internals/is-callable');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar iterate = require('../internals/iterate');\nvar anObject = require('../internals/an-object');\nvar classof = require('../internals/classof');\nvar hasOwn = require('../internals/has-own-property');\nvar createProperty = require('../internals/create-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar regExpFlags = require('../internals/regexp-flags');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\nvar Object = global.Object;\nvar Date = global.Date;\nvar Error = global.Error;\nvar EvalError = global.EvalError;\nvar RangeError = global.RangeError;\nvar ReferenceError = global.ReferenceError;\nvar SyntaxError = global.SyntaxError;\nvar TypeError = global.TypeError;\nvar URIError = global.URIError;\nvar PerformanceMark = global.PerformanceMark;\nvar WebAssembly = global.WebAssembly;\nvar CompileError = WebAssembly && WebAssembly.CompileError || Error;\nvar LinkError = WebAssembly && WebAssembly.LinkError || Error;\nvar RuntimeError = WebAssembly && WebAssembly.RuntimeError || Error;\nvar DOMException = getBuiltin('DOMException');\nvar Set = getBuiltin('Set');\nvar Map = getBuiltin('Map');\nvar MapPrototype = Map.prototype;\nvar mapHas = uncurryThis(MapPrototype.has);\nvar mapGet = uncurryThis(MapPrototype.get);\nvar mapSet = uncurryThis(MapPrototype.set);\nvar setAdd = uncurryThis(Set.prototype.add);\nvar objectKeys = getBuiltin('Object', 'keys');\nvar push = uncurryThis([].push);\nvar booleanValueOf = uncurryThis(true.valueOf);\nvar numberValueOf = uncurryThis(1.0.valueOf);\nvar stringValueOf = uncurryThis(''.valueOf);\nvar getFlags = uncurryThis(regExpFlags);\nvar getTime = uncurryThis(Date.prototype.getTime);\nvar PERFORMANCE_MARK = uid('structuredClone');\nvar DATA_CLONE_ERROR = 'DataCloneError';\nvar TRANSFERRING = 'Transferring';\n\nvar checkBasicSemantic = function (structuredCloneImplementation) {\n return !fails(function () {\n var set1 = new global.Set([7]);\n var set2 = structuredCloneImplementation(set1);\n var number = structuredCloneImplementation(Object(7));\n return set2 == set1 || !set2.has(7) || typeof number != 'object' || number != 7;\n }) && structuredCloneImplementation;\n};\n\n// https://github.com/whatwg/html/pull/5749\nvar checkNewErrorsSemantic = function (structuredCloneImplementation) {\n return !fails(function () {\n var test = structuredCloneImplementation(new global.AggregateError([1], PERFORMANCE_MARK, { cause: 3 }));\n return test.name != 'AggregateError' || test.errors[0] != 1 || test.message != PERFORMANCE_MARK || test.cause != 3;\n }) && structuredCloneImplementation;\n};\n\n// FF94+, Safari TP134+, Chrome Canary 98+, NodeJS 17.0+, Deno 1.13+\n// current FF and Safari implementations can't clone errors\n// https://bugzilla.mozilla.org/show_bug.cgi?id=1556604\n// no one of current implementations supports new (html/5749) error cloning semantic\nvar nativeStructuredClone = global.structuredClone;\n\nvar FORCED_REPLACEMENT = IS_PURE || !checkNewErrorsSemantic(nativeStructuredClone);\n\n// Chrome 82+, Safari 14.1+, Deno 1.11+\n// Chrome 78-81 implementation swaps `.name` and `.message` of cloned `DOMException`\n// Safari 14.1 implementation doesn't clone some `RegExp` flags, so requires a workaround\n// current Safari implementation can't clone errors\n// Deno 1.2-1.10 implementations too naive\n// NodeJS 16.0+ does not have `PerformanceMark` constructor, structured cloning implementation\n// from `performance.mark` is too naive and can't clone, for example, `RegExp` or some boxed primitives\n// https://github.com/nodejs/node/issues/40840\n// no one of current implementations supports new (html/5749) error cloning semantic\nvar structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) {\n return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail;\n});\n\nvar nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark;\n\nvar throwUncloneable = function (type) {\n throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR);\n};\n\nvar throwUnpolyfillable = function (type, kind) {\n throw new DOMException((kind || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR);\n};\n\nvar structuredCloneInternal = function (value, map) {\n if (isSymbol(value)) throwUncloneable('Symbol');\n if (!isObject(value)) return value;\n // effectively preserves circular references\n if (map) {\n if (mapHas(map, value)) return mapGet(map, value);\n } else map = new Map();\n\n var type = classof(value);\n var deep = false;\n var C, name, cloned, dataTransfer, i, length, keys, key, source, target;\n\n switch (type) {\n case 'Array':\n cloned = [];\n deep = true;\n break;\n case 'Object':\n cloned = {};\n deep = true;\n break;\n case 'Map':\n cloned = new Map();\n deep = true;\n break;\n case 'Set':\n cloned = new Set();\n deep = true;\n break;\n case 'RegExp':\n // in this block because of a Safari 14.1 bug\n // old FF does not clone regexes passed to the constructor, so get the source and flags directly\n cloned = new RegExp(value.source, 'flags' in value ? value.flags : getFlags(value));\n break;\n case 'Error':\n name = value.name;\n switch (name) {\n case 'AggregateError':\n cloned = getBuiltin('AggregateError')([]);\n break;\n case 'EvalError':\n cloned = EvalError();\n break;\n case 'RangeError':\n cloned = RangeError();\n break;\n case 'ReferenceError':\n cloned = ReferenceError();\n break;\n case 'SyntaxError':\n cloned = SyntaxError();\n break;\n case 'TypeError':\n cloned = TypeError();\n break;\n case 'URIError':\n cloned = URIError();\n break;\n case 'CompileError':\n cloned = CompileError();\n break;\n case 'LinkError':\n cloned = LinkError();\n break;\n case 'RuntimeError':\n cloned = RuntimeError();\n break;\n default:\n cloned = Error();\n }\n deep = true;\n break;\n case 'DOMException':\n cloned = new DOMException(value.message, value.name);\n deep = true;\n break;\n case 'DataView':\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n case 'BigInt64Array':\n case 'BigUint64Array':\n C = global[type];\n // in some old engines like Safari 9, typeof C is 'object'\n // on Uint8ClampedArray or some other constructors\n if (!isObject(C)) throwUnpolyfillable(type);\n cloned = new C(\n // this is safe, since arraybuffer cannot have circular references\n structuredCloneInternal(value.buffer, map),\n value.byteOffset,\n type === 'DataView' ? value.byteLength : value.length\n );\n break;\n case 'DOMQuad':\n try {\n cloned = new DOMQuad(\n structuredCloneInternal(value.p1, map),\n structuredCloneInternal(value.p2, map),\n structuredCloneInternal(value.p3, map),\n structuredCloneInternal(value.p4, map)\n );\n } catch (error) {\n if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else throwUnpolyfillable(type);\n }\n break;\n case 'FileList':\n C = global.DataTransfer;\n if (isConstructor(C)) {\n dataTransfer = new C();\n for (i = 0, length = lengthOfArrayLike(value); i < length; i++) {\n dataTransfer.items.add(structuredCloneInternal(value[i], map));\n }\n cloned = dataTransfer.files;\n } else if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else throwUnpolyfillable(type);\n break;\n case 'ImageData':\n // Safari 9 ImageData is a constructor, but typeof ImageData is 'object'\n try {\n cloned = new ImageData(\n structuredCloneInternal(value.data, map),\n value.width,\n value.height,\n { colorSpace: value.colorSpace }\n );\n } catch (error) {\n if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else throwUnpolyfillable(type);\n } break;\n default:\n if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else switch (type) {\n case 'BigInt':\n // can be a 3rd party polyfill\n cloned = Object(value.valueOf());\n break;\n case 'Boolean':\n cloned = Object(booleanValueOf(value));\n break;\n case 'Number':\n cloned = Object(numberValueOf(value));\n break;\n case 'String':\n cloned = Object(stringValueOf(value));\n break;\n case 'Date':\n cloned = new Date(getTime(value));\n break;\n case 'ArrayBuffer':\n C = global.DataView;\n // `ArrayBuffer#slice` is not available in IE10\n // `ArrayBuffer#slice` and `DataView` are not available in old FF\n if (!C && typeof value.slice != 'function') throwUnpolyfillable(type);\n // detached buffers throws in `DataView` and `.slice`\n try {\n if (typeof value.slice == 'function') {\n cloned = value.slice(0);\n } else {\n length = value.byteLength;\n cloned = new ArrayBuffer(length);\n source = new C(value);\n target = new C(cloned);\n for (i = 0; i < length; i++) {\n target.setUint8(i, source.getUint8(i));\n }\n }\n } catch (error) {\n throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR);\n } break;\n case 'SharedArrayBuffer':\n // SharedArrayBuffer should use shared memory, we can't polyfill it, so return the original\n cloned = value;\n break;\n case 'Blob':\n try {\n cloned = value.slice(0, value.size, value.type);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'DOMPoint':\n case 'DOMPointReadOnly':\n C = global[type];\n try {\n cloned = C.fromPoint\n ? C.fromPoint(value)\n : new C(value.x, value.y, value.z, value.w);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'DOMRect':\n case 'DOMRectReadOnly':\n C = global[type];\n try {\n cloned = C.fromRect\n ? C.fromRect(value)\n : new C(value.x, value.y, value.width, value.height);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'DOMMatrix':\n case 'DOMMatrixReadOnly':\n C = global[type];\n try {\n cloned = C.fromMatrix\n ? C.fromMatrix(value)\n : new C(value);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'AudioData':\n case 'VideoFrame':\n if (!isCallable(value.clone)) throwUnpolyfillable(type);\n try {\n cloned = value.clone();\n } catch (error) {\n throwUncloneable(type);\n } break;\n case 'File':\n try {\n cloned = new File([value], value.name, value);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'CryptoKey':\n case 'GPUCompilationMessage':\n case 'GPUCompilationInfo':\n case 'ImageBitmap':\n case 'RTCCertificate':\n case 'WebAssembly.Module':\n throwUnpolyfillable(type);\n // break omitted\n default:\n throwUncloneable(type);\n }\n }\n\n mapSet(map, value, cloned);\n\n if (deep) switch (type) {\n case 'Array':\n case 'Object':\n keys = objectKeys(value);\n for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) {\n key = keys[i];\n createProperty(cloned, key, structuredCloneInternal(value[key], map));\n } break;\n case 'Map':\n value.forEach(function (v, k) {\n mapSet(cloned, structuredCloneInternal(k, map), structuredCloneInternal(v, map));\n });\n break;\n case 'Set':\n value.forEach(function (v) {\n setAdd(cloned, structuredCloneInternal(v, map));\n });\n break;\n case 'Error':\n createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map));\n if (hasOwn(value, 'cause')) {\n createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map));\n }\n if (name == 'AggregateError') {\n cloned.errors = structuredCloneInternal(value.errors, map);\n } // break omitted\n case 'DOMException':\n if (ERROR_STACK_INSTALLABLE) {\n createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map));\n }\n }\n\n return cloned;\n};\n\nvar PROPER_TRANSFER = nativeStructuredClone && !fails(function () {\n var buffer = new ArrayBuffer(8);\n var clone = nativeStructuredClone(buffer, { transfer: [buffer] });\n return buffer.byteLength != 0 || clone.byteLength != 8;\n});\n\nvar tryToTransfer = function (rawTransfer, map) {\n if (!isObject(rawTransfer)) throw TypeError('Transfer option cannot be converted to a sequence');\n\n var transfer = [];\n\n iterate(rawTransfer, function (value) {\n push(transfer, anObject(value));\n });\n\n var i = 0;\n var length = lengthOfArrayLike(transfer);\n var value, type, C, transferredArray, transferred, canvas, context;\n\n if (PROPER_TRANSFER) {\n transferredArray = nativeStructuredClone(transfer, { transfer: transfer });\n while (i < length) mapSet(map, transfer[i], transferredArray[i++]);\n } else while (i < length) {\n value = transfer[i++];\n if (mapHas(map, value)) throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR);\n\n type = classof(value);\n\n switch (type) {\n case 'ImageBitmap':\n C = global.OffscreenCanvas;\n if (!isConstructor(C)) throwUnpolyfillable(type, TRANSFERRING);\n try {\n canvas = new C(value.width, value.height);\n context = canvas.getContext('bitmaprenderer');\n context.transferFromImageBitmap(value);\n transferred = canvas.transferToImageBitmap();\n } catch (error) { /* empty */ }\n break;\n case 'AudioData':\n case 'VideoFrame':\n if (!isCallable(value.clone) || !isCallable(value.close)) throwUnpolyfillable(type, TRANSFERRING);\n try {\n transferred = value.clone();\n value.close();\n } catch (error) { /* empty */ }\n break;\n case 'ArrayBuffer':\n case 'MessagePort':\n case 'OffscreenCanvas':\n case 'ReadableStream':\n case 'TransformStream':\n case 'WritableStream':\n throwUnpolyfillable(type, TRANSFERRING);\n }\n\n if (transferred === undefined) throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR);\n mapSet(map, value, transferred);\n }\n};\n\n$({ global: true, enumerable: true, sham: !PROPER_TRANSFER, forced: FORCED_REPLACEMENT }, {\n structuredClone: function structuredClone(value /* , { transfer } */) {\n var options = validateArgumentsLength(arguments.length, 1) > 1 ? anObject(arguments[1]) : undefined;\n var transfer = options ? options.transfer : undefined;\n var map;\n\n if (transfer !== undefined) {\n map = new Map();\n tryToTransfer(transfer, map);\n }\n\n return structuredCloneInternal(value, map);\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @module pdfjsLib\n */\n\nimport {\n AbortException,\n AnnotationMode,\n assert,\n createPromiseCapability,\n getVerbosityLevel,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isSameOrigin,\n MissingPDFException,\n PasswordException,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n stringToBytes,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n warn,\n} from \"../shared/util.js\";\nimport {\n deprecated,\n DOMCanvasFactory,\n DOMCMapReaderFactory,\n DOMStandardFontDataFactory,\n isDataScheme,\n loadScript,\n PageViewport,\n RenderingCancelledException,\n StatTimer,\n} from \"./display_utils.js\";\nimport { FontFaceObject, FontLoader } from \"./font_loader.js\";\nimport {\n NodeCanvasFactory,\n NodeCMapReaderFactory,\n NodeStandardFontDataFactory,\n} from \"./node_utils.js\";\nimport { AnnotationStorage } from \"./annotation_storage.js\";\nimport { CanvasGraphics } from \"./canvas.js\";\nimport { GlobalWorkerOptions } from \"./worker_options.js\";\nimport { isNodeJS } from \"../shared/is_node.js\";\nimport { MessageHandler } from \"../shared/message_handler.js\";\nimport { Metadata } from \"./metadata.js\";\nimport { OptionalContentConfig } from \"./optional_content_config.js\";\nimport { PDFDataTransportStream } from \"./transport_stream.js\";\nimport { XfaText } from \"./xfa_text.js\";\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536\nconst RENDERING_CANCELLED_TIMEOUT = 100; // ms\n\nconst DefaultCanvasFactory =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS\n ? NodeCanvasFactory\n : DOMCanvasFactory;\nconst DefaultCMapReaderFactory =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS\n ? NodeCMapReaderFactory\n : DOMCMapReaderFactory;\nconst DefaultStandardFontDataFactory =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS\n ? NodeStandardFontDataFactory\n : DOMStandardFontDataFactory;\n\n/**\n * @typedef {function} IPDFStreamFactory\n * @param {DocumentInitParameters} params - The document initialization\n * parameters. The \"url\" key is always present.\n * @returns {Promise} A promise, which is resolved with an instance of\n * {IPDFStream}.\n * @ignore\n */\n\n/**\n * @type {IPDFStreamFactory}\n * @private\n */\nlet createPDFNetworkStream;\n\n/**\n * Sets the function that instantiates an {IPDFStream} as an alternative PDF\n * data transport.\n *\n * @param {IPDFStreamFactory} pdfNetworkStreamFactory - The factory function\n * that takes document initialization parameters (including a \"url\") and\n * returns a promise which is resolved with an instance of {IPDFStream}.\n * @ignore\n */\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\n/**\n * @typedef { Int8Array | Uint8Array | Uint8ClampedArray |\n * Int16Array | Uint16Array |\n * Int32Array | Uint32Array | Float32Array |\n * Float64Array\n * } TypedArray\n */\n\n/**\n * @typedef {Object} RefProxy\n * @property {number} num\n * @property {number} gen\n */\n\n/**\n * Document initialization / loading parameters object.\n *\n * @typedef {Object} DocumentInitParameters\n * @property {string|URL} [url] - The URL of the PDF.\n * @property {TypedArray|Array|string} [data] - Binary PDF data. Use\n * typed arrays (Uint8Array) to improve the memory usage. If PDF data is\n * BASE64-encoded, use `atob()` to convert it to a binary string first.\n * @property {Object} [httpHeaders] - Basic authentication headers.\n * @property {boolean} [withCredentials] - Indicates whether or not\n * cross-site Access-Control requests should be made using credentials such\n * as cookies or authorization headers. The default is `false`.\n * @property {string} [password] - For decrypting password-protected PDFs.\n * @property {TypedArray} [initialData] - A typed array with the first portion\n * or all of the pdf data. Used by the extension since some data is already\n * loaded before the switch to range requests.\n * @property {number} [length] - The PDF file length. It's used for progress\n * reports and range requests operations.\n * @property {PDFDataRangeTransport} [range] - Allows for using a custom range\n * transport implementation.\n * @property {number} [rangeChunkSize] - Specify maximum number of bytes fetched\n * per range request. The default value is {@link DEFAULT_RANGE_CHUNK_SIZE}.\n * @property {PDFWorker} [worker] - The worker that will be used for loading and\n * parsing the PDF data.\n * @property {number} [verbosity] - Controls the logging level; the constants\n * from {@link VerbosityLevel} should be used.\n * @property {string} [docBaseUrl] - The base URL of the document, used when\n * attempting to recover valid absolute URLs for annotations, and outline\n * items, that (incorrectly) only specify relative URLs.\n * @property {string} [cMapUrl] - The URL where the predefined Adobe CMaps are\n * located. Include the trailing slash.\n * @property {boolean} [cMapPacked] - Specifies if the Adobe CMaps are binary\n * packed or not.\n * @property {Object} [CMapReaderFactory] - The factory that will be used when\n * reading built-in CMap files. Providing a custom factory is useful for\n * environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMCMapReaderFactory}.\n * @property {boolean} [useSystemFonts] - When `true`, fonts that aren't\n * embedded in the PDF document will fallback to a system font.\n * The default value is `true` in web environments and `false` in Node.js;\n * unless `disableFontFace === true` in which case this defaults to `false`\n * regardless of the environment (to prevent completely broken fonts).\n * @property {string} [standardFontDataUrl] - The URL where the standard font\n * files are located. Include the trailing slash.\n * @property {Object} [StandardFontDataFactory] - The factory that will be used\n * when reading the standard font files. Providing a custom factory is useful\n * for environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMStandardFontDataFactory}.\n * @property {boolean} [useWorkerFetch] - Enable using the Fetch API in the\n * worker-thread when reading CMap and standard font files. When `true`,\n * the `CMapReaderFactory` and `StandardFontDataFactory` options are ignored.\n * The default value is `true` in web environments and `false` in Node.js.\n * @property {boolean} [stopAtErrors] - Reject certain promises, e.g.\n * `getOperatorList`, `getTextContent`, and `RenderTask`, when the associated\n * PDF data cannot be successfully parsed, instead of attempting to recover\n * whatever possible of the data. The default value is `false`.\n * @property {number} [maxImageSize] - The maximum allowed image size in total\n * pixels, i.e. width * height. Images above this value will not be rendered.\n * Use -1 for no limit, which is also the default value.\n * @property {boolean} [isEvalSupported] - Determines if we can evaluate strings\n * as JavaScript. Primarily used to improve performance of font rendering, and\n * when parsing PDF functions. The default value is `true`.\n * @property {boolean} [disableFontFace] - By default fonts are converted to\n * OpenType fonts and loaded via the Font Loading API or `@font-face` rules.\n * If disabled, fonts will be rendered using a built-in font renderer that\n * constructs the glyphs with primitive path commands.\n * The default value is `false` in web environments and `true` in Node.js.\n * @property {boolean} [fontExtraProperties] - Include additional properties,\n * which are unused during rendering of PDF documents, when exporting the\n * parsed font data from the worker-thread. This may be useful for debugging\n * purposes (and backwards compatibility), but note that it will lead to\n * increased memory usage. The default value is `false`.\n * @property {boolean} [enableXfa] - Render Xfa forms if any.\n * The default value is `false`.\n * @property {HTMLDocument} [ownerDocument] - Specify an explicit document\n * context to create elements with and to load resources, such as fonts,\n * into. Defaults to the current document.\n * @property {boolean} [disableRange] - Disable range request loading of PDF\n * files. When enabled, and if the server supports partial content requests,\n * then the PDF will be fetched in chunks. The default value is `false`.\n * @property {boolean} [disableStream] - Disable streaming of PDF file data.\n * By default PDF.js attempts to load PDF files in chunks. The default value\n * is `false`.\n * @property {boolean} [disableAutoFetch] - Disable pre-fetching of PDF file\n * data. When range requests are enabled PDF.js will automatically keep\n * fetching more data even if it isn't needed to display the current page.\n * The default value is `false`.\n *\n * NOTE: It is also necessary to disable streaming, see above, in order for\n * disabling of pre-fetching to work correctly.\n * @property {boolean} [pdfBug] - Enables special hooks for debugging PDF.js\n * (see `web/debugger.js`). The default value is `false`.\n */\n\n/**\n * This is the main entry point for loading a PDF and interacting with it.\n *\n * NOTE: If a URL is used to fetch the PDF data a standard Fetch API call (or\n * XHR as fallback) is used, which means it must follow same origin rules,\n * e.g. no cross-domain requests without CORS.\n *\n * @param {string|URL|TypedArray|PDFDataRangeTransport|DocumentInitParameters}\n * src - Can be a URL where a PDF file is located, a typed array (Uint8Array)\n * already populated with data, or a parameter object.\n * @returns {PDFDocumentLoadingTask}\n */\nfunction getDocument(src) {\n const task = new PDFDocumentLoadingTask();\n\n let source;\n if (typeof src === \"string\" || src instanceof URL) {\n source = { url: src };\n } else if (isArrayBuffer(src)) {\n source = { data: src };\n } else if (src instanceof PDFDataRangeTransport) {\n source = { range: src };\n } else {\n if (typeof src !== \"object\") {\n throw new Error(\n \"Invalid parameter in getDocument, \" +\n \"need either string, URL, Uint8Array, or parameter object.\"\n );\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error(\n \"Invalid parameter object: need either .data, .range or .url\"\n );\n }\n source = src;\n }\n const params = Object.create(null);\n let rangeTransport = null,\n worker = null;\n\n for (const key in source) {\n const value = source[key];\n\n switch (key) {\n case \"url\":\n if (typeof window !== \"undefined\") {\n try {\n // The full path is required in the 'url' field.\n params[key] = new URL(value, window.location).href;\n continue;\n } catch (ex) {\n warn(`Cannot create valid URL: \"${ex}\".`);\n }\n } else if (typeof value === \"string\" || value instanceof URL) {\n params[key] = value.toString(); // Support Node.js environments.\n continue;\n }\n throw new Error(\n \"Invalid PDF url data: \" +\n \"either string or URL-object is expected in the url property.\"\n );\n case \"range\":\n rangeTransport = value;\n continue;\n case \"worker\":\n worker = value;\n continue;\n case \"data\":\n // Converting string or array-like data to Uint8Array.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS &&\n typeof Buffer !== \"undefined\" && // eslint-disable-line no-undef\n value instanceof Buffer // eslint-disable-line no-undef\n ) {\n params[key] = new Uint8Array(value);\n } else if (value instanceof Uint8Array) {\n break; // Use the data as-is when it's already a Uint8Array.\n } else if (typeof value === \"string\") {\n params[key] = stringToBytes(value);\n } else if (\n typeof value === \"object\" &&\n value !== null &&\n !isNaN(value.length)\n ) {\n params[key] = new Uint8Array(value);\n } else if (isArrayBuffer(value)) {\n params[key] = new Uint8Array(value);\n } else {\n throw new Error(\n \"Invalid PDF binary data: either typed array, \" +\n \"string, or array-like object is expected in the data property.\"\n );\n }\n continue;\n }\n params[key] = value;\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory =\n params.CMapReaderFactory || DefaultCMapReaderFactory;\n params.StandardFontDataFactory =\n params.StandardFontDataFactory || DefaultStandardFontDataFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n params.enableXfa = params.enableXfa === true;\n\n if (\n typeof params.docBaseUrl !== \"string\" ||\n isDataScheme(params.docBaseUrl)\n ) {\n // Ignore \"data:\"-URLs, since they can't be used to recover valid absolute\n // URLs anyway. We want to avoid sending them to the worker-thread, since\n // they contain the *entire* PDF document and can thus be arbitrarily long.\n params.docBaseUrl = null;\n }\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n if (typeof params.useWorkerFetch !== \"boolean\") {\n params.useWorkerFetch =\n params.CMapReaderFactory === DOMCMapReaderFactory &&\n params.StandardFontDataFactory === DOMStandardFontDataFactory;\n }\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS;\n }\n if (typeof params.useSystemFonts !== \"boolean\") {\n params.useSystemFonts =\n !(\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n isNodeJS\n ) && !params.disableFontFace;\n }\n if (typeof params.ownerDocument === \"undefined\") {\n params.ownerDocument = globalThis.document;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n\n // Set the main-thread verbosity level.\n setVerbosityLevel(params.verbosity);\n\n if (!worker) {\n const workerParams = {\n verbosity: params.verbosity,\n port: GlobalWorkerOptions.workerPort,\n };\n // Worker was not provided -- creating and owning our own. If message port\n // is specified in global worker options, using it.\n worker = workerParams.port\n ? PDFWorker.fromPort(workerParams)\n : new PDFWorker(workerParams);\n task._worker = worker;\n }\n const docId = task.docId;\n worker.promise\n .then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const workerIdPromise = _fetchDocument(\n worker,\n params,\n rangeTransport,\n docId\n );\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n if (rangeTransport) {\n networkStream = new PDFDataTransportStream(\n {\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n contentDispositionFilename: params.contentDispositionFilename,\n disableRange: params.disableRange,\n disableStream: params.disableStream,\n },\n rangeTransport\n );\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream,\n });\n }\n resolve(networkStream);\n });\n\n return Promise.all([workerIdPromise, networkStreamPromise]).then(\n function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const messageHandler = new MessageHandler(\n docId,\n workerId,\n worker.port\n );\n const transport = new WorkerTransport(\n messageHandler,\n task,\n networkStream,\n params\n );\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n }\n );\n })\n .catch(task._capability.reject);\n\n return task;\n}\n\n/**\n * Starts fetching of specified PDF document/data.\n *\n * @param {PDFWorker} worker\n * @param {Object} source\n * @param {PDFDataRangeTransport} pdfDataRangeTransport\n * @param {string} docId - Unique document ID, used in `MessageHandler`.\n * @returns {Promise} A promise that is resolved when the worker ID of\n * the `MessageHandler` is known.\n * @private\n */\nasync function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n source.contentDispositionFilename =\n pdfDataRangeTransport.contentDispositionFilename;\n }\n const workerId = await worker.messageHandler.sendWithPromise(\n \"GetDocRequest\",\n {\n docId,\n apiVersion:\n typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"TESTING\")\n ? PDFJSDev.eval(\"BUNDLE_VERSION\")\n : null,\n // Only send the required properties, and *not* the entire object.\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length,\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties,\n enableXfa: source.enableXfa,\n useSystemFonts: source.useSystemFonts,\n cMapUrl: source.useWorkerFetch ? source.cMapUrl : null,\n standardFontDataUrl: source.useWorkerFetch\n ? source.standardFontDataUrl\n : null,\n }\n );\n\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n}\n\n/**\n * @typedef {Object} OnProgressParameters\n * @property {number} loaded - Currently loaded number of bytes.\n * @property {number} total - Total number of bytes in the PDF file.\n */\n\n/**\n * The loading task controls the operations required to load a PDF document\n * (such as network requests) and provides a way to listen for completion,\n * after which individual pages can be rendered.\n */\nclass PDFDocumentLoadingTask {\n static get idCounters() {\n return shadow(this, \"idCounters\", { doc: 0 });\n }\n\n constructor() {\n this._capability = createPromiseCapability();\n this._transport = null;\n this._worker = null;\n\n /**\n * Unique identifier for the document loading task.\n * @type {string}\n */\n this.docId = `d${PDFDocumentLoadingTask.idCounters.doc++}`;\n\n /**\n * Whether the loading task is destroyed or not.\n * @type {boolean}\n */\n this.destroyed = false;\n\n /**\n * Callback to request a password if a wrong or no password was provided.\n * The callback receives two parameters: a function that should be called\n * with the new password, and a reason (see {@link PasswordResponses}).\n * @type {function}\n */\n this.onPassword = null;\n\n /**\n * Callback to be able to monitor the loading progress of the PDF file\n * (necessary to implement e.g. a loading bar).\n * The callback receives an {@link OnProgressParameters} argument.\n * @type {function}\n */\n this.onProgress = null;\n\n /**\n * Callback for when an unsupported feature is used in the PDF document.\n * The callback receives an {@link UNSUPPORTED_FEATURES} argument.\n * @type {function}\n */\n this.onUnsupportedFeature = null;\n }\n\n /**\n * Promise for document loading task completion.\n * @type {Promise}\n */\n get promise() {\n return this._capability.promise;\n }\n\n /**\n * Abort all network requests and destroy the worker.\n * @returns {Promise} A promise that is resolved when destruction is\n * completed.\n */\n async destroy() {\n this.destroyed = true;\n await this._transport?.destroy();\n\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n }\n}\n\n/**\n * Abstract class to support range requests file loading.\n */\nclass PDFDataRangeTransport {\n /**\n * @param {number} length\n * @param {Uint8Array} initialData\n * @param {boolean} [progressiveDone]\n * @param {string} [contentDispositionFilename]\n */\n constructor(\n length,\n initialData,\n progressiveDone = false,\n contentDispositionFilename = null\n ) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = createPromiseCapability();\n }\n\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n\n transportReady() {\n this._readyCapability.resolve();\n }\n\n requestDataRange(begin, end) {\n unreachable(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n\n abort() {}\n}\n\n/**\n * Proxy to a `PDFDocument` in the worker thread.\n */\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n Object.defineProperty(this, \"fingerprint\", {\n get() {\n deprecated(\n \"`PDFDocumentProxy.fingerprint`, \" +\n \"please use `PDFDocumentProxy.fingerprints` instead.\"\n );\n return this.fingerprints[0];\n },\n });\n\n Object.defineProperty(this, \"getStats\", {\n value: async () => {\n deprecated(\n \"`PDFDocumentProxy.getStats`, \" +\n \"please use the `PDFDocumentProxy.stats`-getter instead.\"\n );\n return this.stats || { streamTypes: {}, fontTypes: {} };\n },\n });\n }\n }\n\n /**\n * @type {AnnotationStorage} Storage for annotation data in forms.\n */\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n\n /**\n * @type {number} Total number of pages in the PDF file.\n */\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n /**\n * @type {Array} A (not guaranteed to be) unique ID to\n * identify the PDF document.\n * NOTE: The first element will always be defined for all PDF documents,\n * whereas the second element is only defined for *modified* PDF documents.\n */\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n\n /**\n * @typedef {Object} PDFDocumentStats\n * @property {Object} streamTypes - Used stream types in the\n * document (an item is set to true if specific stream ID was used in the\n * document).\n * @property {Object} fontTypes - Used font types in the\n * document (an item is set to true if specific font ID was used in the\n * document).\n */\n\n /**\n * @type {PDFDocumentStats | null} The current statistics about document\n * structures, or `null` when no statistics exists.\n */\n get stats() {\n return this._transport.stats;\n }\n\n /**\n * @type {boolean} True if only XFA form.\n */\n get isPureXfa() {\n return !!this._transport._htmlForXfa;\n }\n\n /**\n * NOTE: This is (mostly) intended to support printing of XFA forms.\n *\n * @type {Object | null} An object representing a HTML tree structure\n * to render the XFA, or `null` when no XFA form exists.\n */\n get allXfaHtml() {\n return this._transport._htmlForXfa;\n }\n\n /**\n * @param {number} pageNumber - The page number to get. The first page is 1.\n * @returns {Promise} A promise that is resolved with\n * a {@link PDFPageProxy} object.\n */\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n /**\n * @param {RefProxy} ref - The page reference.\n * @returns {Promise} A promise that is resolved with the page index,\n * starting from zero, that is associated with the reference.\n */\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n\n /**\n * @returns {Promise>>} A promise that is resolved\n * with a mapping from named destinations to references.\n *\n * This can be slow for large documents. Use `getDestination` instead.\n */\n getDestinations() {\n return this._transport.getDestinations();\n }\n\n /**\n * @param {string} id - The named destination to get.\n * @returns {Promise | null>} A promise that is resolved with all\n * information of the given named destination, or `null` when the named\n * destination is not present in the PDF file.\n */\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} containing the page labels that correspond to the page\n * indexes, or `null` when no page labels are present in the PDF file.\n */\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string}\n * containing the page layout name.\n */\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string}\n * containing the page mode name.\n */\n getPageMode() {\n return this._transport.getPageMode();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an\n * {Object} containing the viewer preferences, or `null` when no viewer\n * preferences are present in the PDF file.\n */\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array}\n * containing the destination, or `null` when no open action is present\n * in the PDF.\n */\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a lookup table\n * for mapping named attachments to their content.\n */\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} of all the JavaScript strings in the name tree, or `null`\n * if no JavaScript exists.\n */\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with the JavaScript actions:\n * - from the name tree (like getJavaScript);\n * - from A or AA entries in the catalog dictionary.\n * , or `null` if no JavaScript exists.\n */\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n\n /**\n * @typedef {Object} OutlineNode\n * @property {string} title\n * @property {boolean} bold\n * @property {boolean} italic\n * @property {Uint8ClampedArray} color - The color in RGB format to use for\n * display purposes.\n * @property {string | Array | null} dest\n * @property {string | null} url\n * @property {string | undefined} unsafeUrl\n * @property {boolean | undefined} newWindow\n * @property {number | undefined} count\n * @property {Array} items\n */\n\n /**\n * @returns {Promise>} A promise that is resolved with an\n * {Array} that is a tree outline (if it has one) of the PDF file.\n */\n getOutline() {\n return this._transport.getOutline();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {@link OptionalContentConfig} that contains all the optional content\n * groups (assuming that the document has any).\n */\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} that contains the permission flags for the PDF document, or\n * `null` when no permissions are present in the PDF file.\n */\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n /**\n * @returns {Promise<{ info: Object, metadata: Metadata }>} A promise that is\n * resolved with an {Object} that has `info` and `metadata` properties.\n * `info` is an {Object} filled with anything available in the information\n * dictionary and similarly `metadata` is a {Metadata} object with\n * information from the metadata section of the PDF.\n */\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n /**\n * @typedef {Object} MarkInfo\n * Properties correspond to Table 321 of the PDF 32000-1:2008 spec.\n * @property {boolean} Marked\n * @property {boolean} UserProperties\n * @property {boolean} Suspects\n */\n\n /**\n * @returns {Promise} A promise that is resolved with\n * a {MarkInfo} object that contains the MarkInfo flags for the PDF\n * document, or `null` when no MarkInfo values are present in the PDF file.\n */\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {TypedArray} that has the raw data from the PDF.\n */\n getData() {\n return this._transport.getData();\n }\n\n /**\n * @returns {Promise<{ length: number }>} A promise that is resolved when the\n * document's data is loaded. It is resolved with an {Object} that contains\n * the `length` property that indicates size of the PDF data in bytes.\n */\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n /**\n * Cleans up resources allocated by the document on both the main and worker\n * threads.\n *\n * NOTE: Do not, under any circumstances, call this method when rendering is\n * currently ongoing since that may lead to rendering errors.\n *\n * @param {boolean} [keepLoadedFonts] - Let fonts remain attached to the DOM.\n * NOTE: This will increase persistent memory usage, hence don't use this\n * option unless absolutely necessary. The default value is `false`.\n * @returns {Promise} A promise that is resolved when clean-up has finished.\n */\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n\n /**\n * Destroys the current document instance and terminates the worker.\n */\n destroy() {\n return this.loadingTask.destroy();\n }\n\n /**\n * @type {DocumentInitParameters} A subset of the current\n * {DocumentInitParameters}, which are needed in the viewer.\n */\n get loadingParams() {\n return this._transport.loadingParams;\n }\n\n /**\n * @type {PDFDocumentLoadingTask} The loadingTask for the current document.\n */\n get loadingTask() {\n return this._transport.loadingTask;\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {Uint8Array} containing the full data of the saved document.\n */\n saveDocument() {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n this._transport.annotationStorage.size <= 0\n ) {\n deprecated(\n \"saveDocument called while `annotationStorage` is empty, \" +\n \"please use the getData-method instead.\"\n );\n }\n return this._transport.saveDocument();\n }\n\n /**\n * @returns {Promise> | null>} A promise that is\n * resolved with an {Object} containing /AcroForm field data for the JS\n * sandbox, or `null` when no field data is present in the PDF file.\n */\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with `true`\n * if some /AcroForm fields have JavaScript actions.\n */\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with an\n * {Array} containing IDs of annotations that have a calculation\n * action, or `null` when no such annotations are present in the PDF file.\n */\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n}\n\n/**\n * Page getViewport parameters.\n *\n * @typedef {Object} GetViewportParameters\n * @property {number} scale - The desired scale of the viewport.\n * @property {number} [rotation] - The desired rotation, in degrees, of\n * the viewport. If omitted it defaults to the page rotation.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset.\n * The default value is `0`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset.\n * The default value is `0`.\n * @property {boolean} [dontFlip] - If true, the y-axis will not be\n * flipped. The default value is `false`.\n */\n\n/**\n * Page getTextContent parameters.\n *\n * @typedef {Object} getTextContentParameters\n * @property {boolean} disableCombineTextItems - Do not attempt to combine\n * same line {@link TextItem}'s. The default value is `false`.\n * @property {boolean} [includeMarkedContent] - When true include marked\n * content items in the items array of TextContent. The default is `false`.\n */\n\n/**\n * Page text content.\n *\n * @typedef {Object} TextContent\n * @property {Array} items - Array of\n * {@link TextItem} and {@link TextMarkedContent} objects. TextMarkedContent\n * items are included when includeMarkedContent is true.\n * @property {Object} styles - {@link TextStyle} objects,\n * indexed by font name.\n */\n\n/**\n * Page text content part.\n *\n * @typedef {Object} TextItem\n * @property {string} str - Text content.\n * @property {string} dir - Text direction: 'ttb', 'ltr' or 'rtl'.\n * @property {Array} transform - Transformation matrix.\n * @property {number} width - Width in device space.\n * @property {number} height - Height in device space.\n * @property {string} fontName - Font name used by PDF.js for converted font.\n * @property {boolean} hasEOL - Indicating if the text content is followed by a\n * line-break.\n */\n\n/**\n * Page text marked content part.\n *\n * @typedef {Object} TextMarkedContent\n * @property {string} type - Either 'beginMarkedContent',\n * 'beginMarkedContentProps', or 'endMarkedContent'.\n * @property {string} id - The marked content identifier. Only used for type\n * 'beginMarkedContentProps'.\n */\n\n/**\n * Text style.\n *\n * @typedef {Object} TextStyle\n * @property {number} ascent - Font ascent.\n * @property {number} descent - Font descent.\n * @property {boolean} vertical - Whether or not the text is in vertical mode.\n * @property {string} fontFamily - The possible font family.\n */\n\n/**\n * Page annotation parameters.\n *\n * @typedef {Object} GetAnnotationsParameters\n * @property {string} [intent] - Determines the annotations that are fetched,\n * can be 'display' (viewable annotations), 'print' (printable annotations),\n * or 'any' (all annotations). The default value is 'display'.\n */\n\n/**\n * Page render parameters.\n *\n * @typedef {Object} RenderParameters\n * @property {Object} canvasContext - A 2D context of a DOM Canvas object.\n * @property {PageViewport} viewport - Rendering viewport obtained by calling\n * the `PDFPageProxy.getViewport` method.\n * @property {string} [intent] - Rendering intent, can be 'display', 'print',\n * or 'any'. The default value is 'display'.\n * @property {number} [annotationMode] Controls which annotations are rendered\n * onto the canvas, for annotations with appearance-data; the values from\n * {@link AnnotationMode} should be used. The following values are supported:\n * - `AnnotationMode.DISABLE`, which disables all annotations.\n * - `AnnotationMode.ENABLE`, which includes all possible annotations (thus\n * it also depends on the `intent`-option, see above).\n * - `AnnotationMode.ENABLE_FORMS`, which excludes annotations that contain\n * interactive form elements (those will be rendered in the display layer).\n * - `AnnotationMode.ENABLE_STORAGE`, which includes all possible annotations\n * (as above) but where interactive form elements are updated with data\n * from the {@link AnnotationStorage}-instance; useful e.g. for printing.\n * The default value is `AnnotationMode.ENABLE`.\n * @property {Array} [transform] - Additional transform, applied just\n * before viewport transform.\n * @property {Object} [imageLayer] - An object that has `beginLayout`,\n * `endLayout` and `appendImage` functions.\n * @property {Object} [canvasFactory] - The factory instance that will be used\n * when creating canvases. The default value is {new DOMCanvasFactory()}.\n * @property {Object | string} [background] - Background to use for the canvas.\n * Any valid `canvas.fillStyle` can be used: a `DOMString` parsed as CSS\n * value, a `CanvasGradient` object (a linear or radial gradient) or\n * a `CanvasPattern` object (a repetitive image). The default value is\n * 'rgb(255,255,255)'.\n * @property {Promise} [optionalContentConfigPromise] -\n * A promise that should resolve with an {@link OptionalContentConfig}\n * created from `PDFDocumentProxy.getOptionalContentConfig`. If `null`,\n * the configuration will be fetched automatically with the default visibility\n * states set.\n * @property {Map} [annotationCanvasMap] - Map some\n * annotation ids with canvases used to render them.\n */\n\n/**\n * Page getOperatorList parameters.\n *\n * @typedef {Object} GetOperatorListParameters\n * @property {string} [intent] - Rendering intent, can be 'display', 'print',\n * or 'any'. The default value is 'display'.\n * @property {number} [annotationMode] Controls which annotations are included\n * in the operatorList, for annotations with appearance-data; the values from\n * {@link AnnotationMode} should be used. The following values are supported:\n * - `AnnotationMode.DISABLE`, which disables all annotations.\n * - `AnnotationMode.ENABLE`, which includes all possible annotations (thus\n * it also depends on the `intent`-option, see above).\n * - `AnnotationMode.ENABLE_FORMS`, which excludes annotations that contain\n * interactive form elements (those will be rendered in the display layer).\n * - `AnnotationMode.ENABLE_STORAGE`, which includes all possible annotations\n * (as above) but where interactive form elements are updated with data\n * from the {@link AnnotationStorage}-instance; useful e.g. for printing.\n * The default value is `AnnotationMode.ENABLE`.\n */\n\n/**\n * Structure tree node. The root node will have a role \"Root\".\n *\n * @typedef {Object} StructTreeNode\n * @property {Array} children - Array of\n * {@link StructTreeNode} and {@link StructTreeContent} objects.\n * @property {string} role - element's role, already mapped if a role map exists\n * in the PDF.\n */\n\n/**\n * Structure tree content.\n *\n * @typedef {Object} StructTreeContent\n * @property {string} type - either \"content\" for page and stream structure\n * elements or \"object\" for object references.\n * @property {string} id - unique id that will map to the text layer.\n */\n\n/**\n * PDF page operator list.\n *\n * @typedef {Object} PDFOperatorList\n * @property {Array} fnArray - Array containing the operator functions.\n * @property {Array} argsArray - Array containing the arguments of the\n * functions.\n */\n\n/**\n * Proxy to a `PDFPage` in the worker thread.\n */\nclass PDFPageProxy {\n constructor(pageIndex, pageInfo, transport, ownerDocument, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._ownerDocument = ownerDocument;\n this._transport = transport;\n this._stats = pdfBug ? new StatTimer() : null;\n this._pdfBug = pdfBug;\n /** @type {PDFObjects} */\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this._intentStates = new Map();\n this._annotationPromises = new Map();\n this.destroyed = false;\n }\n\n /**\n * @type {number} Page number of the page. First page is 1.\n */\n get pageNumber() {\n return this._pageIndex + 1;\n }\n\n /**\n * @type {number} The number of degrees the page is rotated clockwise.\n */\n get rotate() {\n return this._pageInfo.rotate;\n }\n\n /**\n * @type {RefProxy | null} The reference that points to this page.\n */\n get ref() {\n return this._pageInfo.ref;\n }\n\n /**\n * @type {number} The default size of units in 1/72nds of an inch.\n */\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n\n /**\n * @type {Array} An array of the visible portion of the PDF page in\n * user space units [x1, y1, x2, y2].\n */\n get view() {\n return this._pageInfo.view;\n }\n\n /**\n * @param {GetViewportParameters} params - Viewport parameters.\n * @returns {PageViewport} Contains 'width' and 'height' properties\n * along with transforms required for rendering.\n */\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false,\n } = {}) {\n return new PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip,\n });\n }\n\n /**\n * @param {GetAnnotationsParameters} params - Annotation parameters.\n * @returns {Promise>} A promise that is resolved with an\n * {Array} of the annotation objects.\n */\n getAnnotations({ intent = \"display\" } = {}) {\n const intentArgs = this._transport.getRenderingIntent(intent);\n\n let promise = this._annotationPromises.get(intentArgs.cacheKey);\n if (!promise) {\n promise = this._transport.getAnnotations(\n this._pageIndex,\n intentArgs.renderingIntent\n );\n this._annotationPromises.set(intentArgs.cacheKey, promise);\n\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n promise = promise.then(annotations => {\n for (const annotation of annotations) {\n if (annotation.titleObj !== undefined) {\n Object.defineProperty(annotation, \"title\", {\n get() {\n deprecated(\n \"`title`-property on annotation, please use `titleObj` instead.\"\n );\n return annotation.titleObj.str;\n },\n });\n }\n if (annotation.contentsObj !== undefined) {\n Object.defineProperty(annotation, \"contents\", {\n get() {\n deprecated(\n \"`contents`-property on annotation, please use `contentsObj` instead.\"\n );\n return annotation.contentsObj.str;\n },\n });\n }\n }\n return annotations;\n });\n }\n }\n return promise;\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an\n * {Object} with JS actions.\n */\n getJSActions() {\n return (this._jsActionsPromise ||= this._transport.getPageJSActions(\n this._pageIndex\n ));\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with a fake DOM object (a tree structure where elements\n * are {Object} with a name, attributes (class, style, ...), value and\n * children, very similar to a HTML DOM tree), or `null` if no XFA exists.\n */\n async getXfa() {\n return this._transport._htmlForXfa?.children[this._pageIndex] || null;\n }\n\n /**\n * Begins the process of rendering a page to the desired context.\n *\n * @param {RenderParameters} params - Page render parameters.\n * @returns {RenderTask} An object that contains a promise that is\n * resolved when the page finishes rendering.\n */\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n transform = null,\n imageLayer = null,\n canvasFactory = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n }) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\")) {\n if (arguments[0]?.renderInteractiveForms !== undefined) {\n deprecated(\n \"render no longer accepts the `renderInteractiveForms`-option, \" +\n \"please use the `annotationMode`-option instead.\"\n );\n if (\n arguments[0].renderInteractiveForms === true &&\n annotationMode === AnnotationMode.ENABLE\n ) {\n annotationMode = AnnotationMode.ENABLE_FORMS;\n }\n }\n if (arguments[0]?.includeAnnotationStorage !== undefined) {\n deprecated(\n \"render no longer accepts the `includeAnnotationStorage`-option, \" +\n \"please use the `annotationMode`-option instead.\"\n );\n if (\n arguments[0].includeAnnotationStorage === true &&\n annotationMode === AnnotationMode.ENABLE\n ) {\n annotationMode = AnnotationMode.ENABLE_STORAGE;\n }\n }\n }\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode\n );\n // If there was a pending destroy, cancel it so no cleanup happens during\n // this call to render.\n this.pendingCleanup = false;\n\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n\n // Ensure that a pending `streamReader` cancel timeout is always aborted.\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n const canvasFactoryInstance =\n canvasFactory ||\n new DefaultCanvasFactory({ ownerDocument: this._ownerDocument });\n const intentPrint = !!(\n intentArgs.renderingIntent & RenderingIntentFlag.PRINT\n );\n\n // If there's no displayReadyCapability yet, then the operatorList\n // was never requested before. Make the request and create the promise.\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = createPromiseCapability();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n this._pumpOperatorList(intentArgs);\n }\n\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\n\n // Attempt to reduce memory usage during *printing*, by always running\n // cleanup once rendering has finished (regardless of cleanupAfterRender).\n if (this.cleanupAfterRender || intentPrint) {\n this.pendingCleanup = true;\n }\n this._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n this._abortOperatorList({\n intentState,\n reason: error instanceof Error ? error : new Error(error),\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n if (this._stats) {\n this._stats.timeEnd(\"Rendering\");\n this._stats.timeEnd(\"Overall\");\n }\n };\n\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n // Only include the required properties, and *not* the entire object.\n params: {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background,\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n annotationCanvasMap,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n });\n\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n\n Promise.all([\n intentState.displayReadyCapability.promise,\n optionalContentConfigPromise,\n ])\n .then(([transparency, optionalContentConfig]) => {\n if (this.pendingCleanup) {\n complete();\n return;\n }\n if (this._stats) {\n this._stats.time(\"Rendering\");\n }\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig,\n });\n internalRenderTask.operatorListChanged();\n })\n .catch(complete);\n\n return renderTask;\n }\n\n /**\n * @param {GetOperatorListParameters} params - Page getOperatorList\n * parameters.\n * @returns {Promise} A promise resolved with an\n * {@link PDFOperatorList} object that represents the page's operator list.\n */\n getOperatorList({\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n } = {}) {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n\n intentState.renderTasks.delete(opListTask);\n }\n }\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode,\n /* isOpList = */ true\n );\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = createPromiseCapability();\n (intentState.renderTasks ||= new Set()).add(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n this._pumpOperatorList(intentArgs);\n }\n return intentState.opListReadCapability.promise;\n }\n\n /**\n * NOTE: All occurrences of whitespace will be replaced by\n * standard spaces (0x20).\n *\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {ReadableStream} Stream for reading text content chunks.\n */\n streamTextContent({\n disableCombineTextItems = false,\n includeMarkedContent = false,\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n\n return this._transport.messageHandler.sendWithStream(\n \"GetTextContent\",\n {\n pageIndex: this._pageIndex,\n combineTextItems: disableCombineTextItems !== true,\n includeMarkedContent: includeMarkedContent === true,\n },\n {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n },\n }\n );\n }\n\n /**\n * NOTE: All occurrences of whitespace will be replaced by\n * standard spaces (0x20).\n *\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {Promise} A promise that is resolved with a\n * {@link TextContent} object that represents the page's text content.\n */\n getTextContent(params = {}) {\n if (this._transport._htmlForXfa) {\n // TODO: We need to revisit this once the XFA foreground patch lands and\n // only do this for non-foreground XFA.\n return this.getXfa().then(xfa => {\n return XfaText.textContent(xfa);\n });\n }\n const readableStream = this.streamTextContent(params);\n\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({ value, done }) {\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null),\n };\n pump();\n });\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {@link StructTreeNode} object that represents the page's structure tree,\n * or `null` when no structure tree is present for the current page.\n */\n getStructTree() {\n return (this._structTreePromise ||= this._transport.getStructTree(\n this._pageIndex\n ));\n }\n\n /**\n * Destroys the page object.\n * @private\n */\n _destroy() {\n this.destroyed = true;\n\n const waitOn = [];\n for (const intentState of this._intentStates.values()) {\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true,\n });\n\n if (intentState.opListReadCapability) {\n // Avoid errors below, since the renderTasks are just stubs.\n continue;\n }\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n this.objs.clear();\n this._annotationPromises.clear();\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n\n /**\n * Cleans up resources allocated by the page.\n *\n * @param {boolean} [resetStats] - Reset page stats, if enabled.\n * The default value is `false`.\n * @returns {boolean} Indicates if clean-up was successfully run.\n */\n cleanup(resetStats = false) {\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n\n /**\n * Attempts to clean up if rendering is in a state where that's possible.\n * @private\n */\n _tryCleanup(resetStats = false) {\n if (!this.pendingCleanup) {\n return false;\n }\n for (const { renderTasks, operatorList } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n\n this._intentStates.clear();\n this.objs.clear();\n this._annotationPromises.clear();\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n if (resetStats && this._stats) {\n this._stats = new StatTimer();\n }\n this.pendingCleanup = false;\n return true;\n }\n\n /**\n * @private\n */\n _startRenderPage(transparency, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\n if (!intentState) {\n return; // Rendering was cancelled.\n }\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n // TODO Refactor RenderPageRequest to separate rendering\n // and operator list logic\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n\n /**\n * @private\n */\n _renderPageChunk(operatorListChunk, intentState) {\n // Add the new chunk to the current operator list.\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n // Notify all the rendering tasks there are more operators to be consumed.\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n\n /**\n * @private\n */\n _pumpOperatorList({ renderingIntent, cacheKey }) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n Number.isInteger(renderingIntent) && renderingIntent > 0,\n '_pumpOperatorList: Expected valid \"renderingIntent\" argument.'\n );\n }\n\n const readableStream = this._transport.messageHandler.sendWithStream(\n \"GetOperatorList\",\n {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage:\n renderingIntent & RenderingIntentFlag.ANNOTATIONS_STORAGE\n ? this._transport.annotationStorage.serializable\n : null,\n }\n );\n const reader = readableStream.getReader();\n\n const intentState = this._intentStates.get(cacheKey);\n intentState.streamReader = reader;\n\n const pump = () => {\n reader.read().then(\n ({ value, done }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n this._renderPageChunk(value, intentState);\n pump();\n },\n reason => {\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n if (intentState.operatorList) {\n // Mark operator list as complete.\n intentState.operatorList.lastChunk = true;\n\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n this._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n }\n );\n };\n pump();\n }\n\n /**\n * @private\n */\n _abortOperatorList({ intentState, reason, force = false }) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n reason instanceof Error,\n '_abortOperatorList: Expected valid \"reason\" argument.'\n );\n }\n\n if (!intentState.streamReader) {\n return;\n }\n if (!force) {\n // Ensure that an Error occurring in *only* one `InternalRenderTask`, e.g.\n // multiple render() calls on the same canvas, won't break all rendering.\n if (intentState.renderTasks.size > 0) {\n return;\n }\n // Don't immediately abort parsing on the worker-thread when rendering is\n // cancelled, since that will unnecessarily delay re-rendering when (for\n // partially parsed pages) e.g. zooming/rotation occurs in the viewer.\n if (reason instanceof RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n this._abortOperatorList({ intentState, reason, force: true });\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n intentState.streamReader\n .cancel(new AbortException(reason.message))\n .catch(() => {\n // Avoid \"Uncaught promise\" messages in the console.\n });\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n // Remove the current `intentState`, since a cancelled `getOperatorList`\n // call on the worker-thread cannot be re-started...\n for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n break;\n }\n }\n // ... and force clean-up to ensure that any old state is always removed.\n this.cleanup();\n }\n\n /**\n * @type {Object} Returns page stats, if enabled; returns `null` otherwise.\n */\n get stats() {\n return this._stats;\n }\n}\n\nclass LoopbackPort {\n constructor() {\n this._listeners = [];\n this._deferred = Promise.resolve();\n }\n\n postMessage(obj, transfers) {\n const event = {\n data:\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"SKIP_BABEL\") ||\n transfers\n ? structuredClone(obj, transfers)\n : structuredClone(obj),\n };\n\n this._deferred.then(() => {\n for (const listener of this._listeners) {\n listener.call(this, event);\n }\n });\n }\n\n addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n\n removeEventListener(name, listener) {\n const i = this._listeners.indexOf(listener);\n this._listeners.splice(i, 1);\n }\n\n terminate() {\n this._listeners.length = 0;\n }\n}\n\n/**\n * @typedef {Object} PDFWorkerParameters\n * @property {string} [name] - The name of the worker.\n * @property {Object} [port] - The `workerPort` object.\n * @property {number} [verbosity] - Controls the logging level;\n * the constants from {@link VerbosityLevel} should be used.\n */\n\nconst PDFWorkerUtil = {\n isWorkerDisabled: false,\n fallbackWorkerSrc: null,\n fakeWorkerId: 0,\n};\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\")) {\n // eslint-disable-next-line no-undef\n if (isNodeJS && typeof __non_webpack_require__ === \"function\") {\n // Workers aren't supported in Node.js, force-disabling them there.\n PDFWorkerUtil.isWorkerDisabled = true;\n\n PDFWorkerUtil.fallbackWorkerSrc = PDFJSDev.test(\"LIB\")\n ? \"../pdf.worker.js\"\n : \"./pdf.worker.js\";\n } else if (typeof document === \"object\") {\n const pdfjsFilePath = document?.currentScript?.src;\n if (pdfjsFilePath) {\n PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(\n /(\\.(?:min\\.)?js)(\\?.*)?$/i,\n \".worker$1$2\"\n );\n }\n }\n\n PDFWorkerUtil.createCDNWrapper = function (url) {\n // We will rely on blob URL's property to specify origin.\n // We want this function to fail in case if createObjectURL or Blob do not\n // exist or fail for some reason -- our Worker creation will fail anyway.\n const wrapper = `importScripts(\"${url}\");`;\n return URL.createObjectURL(new Blob([wrapper]));\n };\n}\n\n/**\n * PDF.js web worker abstraction that controls the instantiation of PDF\n * documents. Message handlers are used to pass information from the main\n * thread to the worker thread and vice versa. If the creation of a web\n * worker is not possible, a \"fake\" worker will be used instead.\n *\n * @param {PDFWorkerParameters} params - The worker initialization parameters.\n */\nclass PDFWorker {\n static get _workerPorts() {\n return shadow(this, \"_workerPorts\", new WeakMap());\n }\n\n constructor({\n name = null,\n port = null,\n verbosity = getVerbosityLevel(),\n } = {}) {\n if (port && PDFWorker._workerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port.\");\n }\n\n this.name = name;\n this.destroyed = false;\n this.verbosity = verbosity;\n\n this._readyCapability = createPromiseCapability();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n PDFWorker._workerPorts.set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n\n /**\n * Promise for worker initialization completion.\n * @type {Promise}\n */\n get promise() {\n return this._readyCapability.promise;\n }\n\n /**\n * The current `workerPort`, when it exists.\n * @type {Worker}\n */\n get port() {\n return this._port;\n }\n\n /**\n * The current MessageHandler-instance.\n * @type {MessageHandler}\n */\n get messageHandler() {\n return this._messageHandler;\n }\n\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new MessageHandler(\"main\", \"worker\", port);\n this._messageHandler.on(\"ready\", function () {\n // Ignoring \"ready\" event -- MessageHandler should already be initialized\n // and ready to accept messages.\n });\n this._readyCapability.resolve();\n }\n\n _initialize() {\n // If worker support isn't disabled explicit and the browser has worker\n // support, create a new web worker and test if it/the browser fulfills\n // all requirements to run parts of pdf.js in a web worker.\n // Right now, the requirement is, that an Uint8Array is still an\n // Uint8Array as it arrives on the worker. (Chrome added this with v.15.)\n if (\n typeof Worker !== \"undefined\" &&\n !PDFWorkerUtil.isWorkerDisabled &&\n !PDFWorker._mainThreadWorkerMessageHandler\n ) {\n let workerSrc = PDFWorker.workerSrc;\n\n try {\n // Wraps workerSrc path into blob URL, if the former does not belong\n // to the same origin.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n !isSameOrigin(window.location.href, workerSrc)\n ) {\n workerSrc = PDFWorkerUtil.createCDNWrapper(\n new URL(workerSrc, window.location).href\n );\n }\n\n // Some versions of FF can't create a worker on localhost, see:\n // https://bugzilla.mozilla.org/show_bug.cgi?id=683280\n const worker = new Worker(workerSrc);\n const messageHandler = new MessageHandler(\"main\", \"worker\", worker);\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n // Fall back to fake worker if the termination is caused by an\n // error (e.g. NetworkError / SecurityError).\n this._setupFakeWorker();\n }\n };\n\n const onWorkerError = () => {\n if (!this._webWorker) {\n // Worker failed to initialize due to an error. Clean up and fall\n // back to the fake worker.\n terminateEarly();\n }\n };\n worker.addEventListener(\"error\", onWorkerError);\n\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n } else {\n this._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n try {\n sendTest();\n } catch (e) {\n // We need fallback to a faked worker.\n this._setupFakeWorker();\n }\n });\n\n const sendTest = () => {\n const testObj = new Uint8Array([255]);\n // Some versions of Opera throw a DATA_CLONE_ERR on serializing the\n // typed array. Also, checking if we can use transfers.\n try {\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n } catch (ex) {\n warn(\"Cannot use postMessage transfers.\");\n testObj[0] = 0;\n messageHandler.send(\"test\", testObj);\n }\n };\n\n // It might take time for the worker to initialize. We will try to send\n // the \"test\" message immediately, and once the \"ready\" message arrives.\n // The worker shall process only the first received \"test\" message.\n sendTest();\n return;\n } catch (e) {\n info(\"The worker has been disabled.\");\n }\n }\n // Either workers are disabled, not supported or have thrown an exception.\n // Thus, we fallback to a faked worker.\n this._setupFakeWorker();\n }\n\n _setupFakeWorker() {\n if (!PDFWorkerUtil.isWorkerDisabled) {\n warn(\"Setting up fake worker.\");\n PDFWorkerUtil.isWorkerDisabled = true;\n }\n\n PDFWorker._setupFakeWorkerGlobal\n .then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n return;\n }\n const port = new LoopbackPort();\n this._port = port;\n\n // All fake workers use the same port, making id unique.\n const id = `fake${PDFWorkerUtil.fakeWorkerId++}`;\n\n // If the main thread is our worker, setup the handling for the\n // messages -- the main thread sends to it self.\n const workerHandler = new MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n\n const messageHandler = new MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n })\n .catch(reason => {\n this._readyCapability.reject(\n new Error(`Setting up fake worker failed: \"${reason.message}\".`)\n );\n });\n }\n\n /**\n * Destroys the worker instance.\n */\n destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n // We need to terminate only web worker created resource.\n this._webWorker.terminate();\n this._webWorker = null;\n }\n PDFWorker._workerPorts.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n\n /**\n * @param {PDFWorkerParameters} params - The worker initialization parameters.\n */\n static fromPort(params) {\n if (!params?.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n if (this._workerPorts.has(params.port)) {\n return this._workerPorts.get(params.port);\n }\n return new PDFWorker(params);\n }\n\n /**\n * The current `workerSrc`, when it exists.\n * @type {string}\n */\n static get workerSrc() {\n if (GlobalWorkerOptions.workerSrc) {\n return GlobalWorkerOptions.workerSrc;\n }\n if (PDFWorkerUtil.fallbackWorkerSrc !== null) {\n if (!isNodeJS) {\n deprecated('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n return PDFWorkerUtil.fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n static get _mainThreadWorkerMessageHandler() {\n try {\n return globalThis.pdfjsWorker?.WorkerMessageHandler || null;\n } catch (ex) {\n return null;\n }\n }\n\n // Loads worker code into the main-thread.\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler;\n\n if (mainWorkerMessageHandler) {\n // The worker was already loaded using e.g. a ` diff --git a/app/views/admin/publications/_form.html.erb b/app/views/admin/publications/_form.html.erb index 307b25f..89d45af 100644 --- a/app/views/admin/publications/_form.html.erb +++ b/app/views/admin/publications/_form.html.erb @@ -64,6 +64,50 @@ <% end %> + +
+ +
+ <%= f.fields_for :full_files, (f.object.full_files[0] || f.object.full_files.new) do |f| %> + <%= render :partial => 'form_file', :object => f.object, :locals => {:f => f, :i => 0, accept: 'application/pdf'} %> + <% end %> +
+ +
+
+
+ + +
+ +
+ + + <% if !f.object.publication_links.blank? %> +
+ <% f.object.publication_links.each_with_index do |publication_link, i| %> + <%= f.fields_for :publication_links, publication_link do |f| %> + <%= render :partial => 'form_link', :object => publication_link, :locals => {:f => f, :i => i} %> + <% end %> + <% end %> +
+
+ <% end %> + + +
+
+

+ <%= hidden_field_tag 'publication_link_field_count', f.object.publication_links.count %> + <%= t(:add) %> +

+ +
+
+
@@ -82,6 +126,35 @@ <% content_for :page_specific_javascript do %> +
\ No newline at end of file diff --git a/app/views/admin/publications/_index.html.erb b/app/views/admin/publications/_index.html.erb index cad58df..d31dc9a 100644 --- a/app/views/admin/publications/_index.html.erb +++ b/app/views/admin/publications/_index.html.erb @@ -18,17 +18,13 @@
- <%= node.status_for_table %> - <%= node.author %> + <%= link_to node.chapters.length, admin_publication_path(node.id) %> <%= node.pub_date.strftime('%Y-%m-%d') %> <%= node.category.title rescue "" %> diff --git a/app/views/admin/publications/_module_tag.html.erb b/app/views/admin/publications/_module_tag.html.erb index e286e9b..46ad94a 100644 --- a/app/views/admin/publications/_module_tag.html.erb +++ b/app/views/admin/publications/_module_tag.html.erb @@ -62,5 +62,12 @@ + +
+ +
+ <%= f.text_field :cover_description %> +
+
diff --git a/app/views/admin/publications/show.html.erb b/app/views/admin/publications/show.html.erb index eddffde..b5afe49 100644 --- a/app/views/admin/publications/show.html.erb +++ b/app/views/admin/publications/show.html.erb @@ -50,6 +50,13 @@ <% end %> + +
    + <% chapter.tags.each do |tag| %> +
  • <%= tag.name %>
  • + <% end %> +
+ <%= chapter.author %> @@ -57,7 +64,7 @@ <%= chapter.page %> - <%= chapter.sort_number %> + <%= chapter.keywords %> <% end %> @@ -68,58 +75,7 @@
<%= link_to t("publications.add_chapter"), new_admin_chapter_path(page: params[:page], publication_id: @publication.id), class: "btn btn-primary" %> - <%= t('publications.order')%>
<%= content_tag :div, paginate(@chapters), class: "pagination pagination-centered" %>
- - <% end %> - - diff --git a/app/views/publications/_viewer.html.erb b/app/views/publications/_viewer.html.erb new file mode 100644 index 0000000..6936f26 --- /dev/null +++ b/app/views/publications/_viewer.html.erb @@ -0,0 +1,181 @@ +
+
+<%= stylesheet_link_tag "publications/pdf-turn.css" %> +<%= javascript_include_tag "publications/pdf/pdf.worker.js" %> +<%= javascript_include_tag "publications/pdf/pdf.js" %> +<%= javascript_include_tag "publications/turn.min.js" %> +<%= javascript_include_tag "publications/pdf-turn.js" %> + + + \ No newline at end of file diff --git a/app/views/publications/chapter.html.erb b/app/views/publications/chapter.html.erb new file mode 100644 index 0000000..03ffba8 --- /dev/null +++ b/app/views/publications/chapter.html.erb @@ -0,0 +1 @@ +<%= render_view('show_chapter_accordion') %> \ No newline at end of file diff --git a/app/views/publications/download_file.html.erb b/app/views/publications/download_file.html.erb new file mode 100644 index 0000000..ca561f8 --- /dev/null +++ b/app/views/publications/download_file.html.erb @@ -0,0 +1 @@ +<%= render partial: 'viewer' %> \ No newline at end of file diff --git a/app/views/publications/index.html.erb b/app/views/publications/index.html.erb index 31f61ed..61d5014 100644 --- a/app/views/publications/index.html.erb +++ b/app/views/publications/index.html.erb @@ -1,3 +1,7 @@ -<%# data = action_data %> - -<%= render_view %> +<% data = action_data %> +<% if data['extras']['is_search'] %> + <%= render_view('show_search_fields') %> + <%= render_view('show_chapter_accordion') %> +<% else %> + <%= render_view %> +<% end %> \ No newline at end of file diff --git a/app/views/publications/online_read_chapter.html.erb b/app/views/publications/online_read_chapter.html.erb new file mode 100644 index 0000000..9bd840e --- /dev/null +++ b/app/views/publications/online_read_chapter.html.erb @@ -0,0 +1,2 @@ +<% data = action_data %> +<%= render partial: '/publications/viewer', locals: data %> diff --git a/app/views/publications/online_read_publication.html.erb b/app/views/publications/online_read_publication.html.erb new file mode 100644 index 0000000..9bd840e --- /dev/null +++ b/app/views/publications/online_read_publication.html.erb @@ -0,0 +1,2 @@ +<% data = action_data %> +<%= render partial: '/publications/viewer', locals: data %> diff --git a/app/views/publications/show.html.erb b/app/views/publications/show.html.erb index 0790d5e..3f1ccf0 100644 --- a/app/views/publications/show.html.erb +++ b/app/views/publications/show.html.erb @@ -1,8 +1,7 @@ <% data = action_data %> -<% if data['extras']['mode'] == 'many' %> - <%= render_view %> -<% elsif data['extras']['mode'] == 'chapter' %> - <%= render_view('show_detail') %> +<%= render_view('show_publication') %> +<% if data['extras']['layout_type']==0 %> + <%= render_view('show_chapter_table') %> <% else %> - <%= render_view('show_publication') %> -<% end %> + <%= render_view('show_chapter_accordion') %> +<% end %> \ No newline at end of file diff --git a/config/locales/en.yml b/config/locales/en.yml index be1a637..77a9cd7 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -11,22 +11,37 @@ en: chapter: Chapter list chapters: Chapter count pub_information: Publishing information + is_external_link: Enable External Link + external_link: External Link + full_file: Full File(Only PDF) + is_online_flipping_reader: Online Flipping Reader + inner_page_layout: Inner Page Layout + table_style: Table Style + accordion_style: Accordion Style + search_style: Search Style + download: Download chapter: - title: Title + title: Chapter Title author: Author + author_url: Author Url author_description: Author description - text: Inner text + text: Abstract page: Page + file: Chapter File(Only PDF) + action: Action sort_number: Sort number + keywords: Keywords + search_placeholder: Please Input Keywords + search: Search publications: publication: Publication select_cover: Select cover add_chapter: Add chapter + chapter: Chapter order: Order - chapter: Chapter pub_date: Publication date chapters: select_file: Select file diff --git a/config/locales/zh_tw.yml b/config/locales/zh_tw.yml index 5537ed3..5195e50 100644 --- a/config/locales/zh_tw.yml +++ b/config/locales/zh_tw.yml @@ -11,23 +11,36 @@ zh_tw: chapter: 章節列表 chapters: 章節數 pub_information: 出版資訊 + is_external_link: 連結外部網址 + external_link: 外部連結 + full_file: 全⽂檔案(僅PDF) + is_online_flipping_reader: 線上翻⾴閱讀 + inner_page_layout: 內頁頁面樣式 + table_style: 表格樣式 + accordion_style: 手風琴樣式 + search_style: 搜尋結果樣式 + download: 下載 chapter: - title: 標題 + title: 章節標題 author: 作者 + author_url: 作者連結 author_description: 作者說明 - text: 內文 + text: 摘要 page: 頁次 - file: 期刊檔案 + file: 章節檔案(僅PDF) action: 動作 sort_number: 排序 + keywords: 關鍵字 + search_placeholder: 請輸入關鍵字 + search: 搜尋 publications: publication: 出版品 select_cover: 選擇封面 add_chapter: 新增章節 order: 排序 - chapter: 標題/章節/段落 + chapter: 章節 pub_date: 出版日期 chapters: diff --git a/lib/publications/engine.rb b/lib/publications/engine.rb index 4bcfd24..79c2d8f 100644 --- a/lib/publications/engine.rb +++ b/lib/publications/engine.rb @@ -1,18 +1,48 @@ module Publications class Engine < ::Rails::Engine initializer "publications" do + begin + translate_data = Dir["#{Publications::Engine.root}/config/locales/*.yml"] .map{|yaml_file| YAML.load(File.read(yaml_file))} + data = {} + key1 = {} + key1_options = ['table_style', 'accordion_style', 'search_style'] + key1_attrs = [] + key1_options.each_with_index do |v, i| + key1_attrs[i] = {} + end + + + translate_data.each do |t_data| + v = t_data.values + k = t_data.keys[0] + key1[k] = v[0]['publication']['inner_page_layout'] + key1_options.each_with_index do |kk, i| + key1_attrs[i][k] = v[0]['publication'][kk] + end + end + + data[key1] = key1_attrs + rescue => e + puts ['error in publications',e] + end OrbitApp.registration "Publications", :type => "ModuleApp" do module_label "publications.publication" base_url File.expand_path File.dirname(__FILE__) - widget_methods ['widget'] - widget_settings [{"data_count"=>30}] + # widget_methods ['widget'] + # widget_settings [{"data_count"=>30}] # models_to_cache [:my_voting] - # taggable "Landspace" + taggable "Chapter" categorizable authorizable frontend_enabled data_count 1..30 + begin + show_option_items data + rescue => e + puts ['there_was_no_show_option_method',e] + end + side_bar do head_label_i18n 'publications.publication', icon_class: "icon-book" available_for "users" diff --git a/modules/publication/index.html.erb b/modules/publication/index.html.erb new file mode 100644 index 0000000..c247ea6 --- /dev/null +++ b/modules/publication/index.html.erb @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + +

{{widget-title}}

{{th_cover}} + {{th_title}} + {{th_pub_date}}{{th_author}}{{th_chapter}}
{{title}}{{title}}{{pub_date}}{{author}} + +
+ {{th_chapters}} + {{chapters}} +
+
+ +{{pagination_goes_here}} \ No newline at end of file diff --git a/modules/publication/info.json b/modules/publication/info.json new file mode 100644 index 0000000..5e0238e --- /dev/null +++ b/modules/publication/info.json @@ -0,0 +1,30 @@ +{ + "frontend": [ + { + "filename" : "publications_index1", + "name" : { + "zh_tw" : "1. 精簡表格列表 ( 模組標題, 日期, 狀態, 標題 )", + "en" : "1. Simple Table List (widget-title, postdate, status, title)" + }, + "thumbnail" : "publications_index1_thumbs.png" + }, + { + "filename" : "publications_index2", + "name" : { + "zh_tw" : "2. 左圖右文 ( 模組標題, 圖片, 狀態, 日期, 類別, 標題, 副標題 )", + "en" : "2. Balanced Image + Text(Left) (widget-title, image, status, postdate, category, title, subtitle)" + }, + "thumbnail" : "publications_index2_thumbs.png" + }, + { + "filename" : "publications_index3", + "name" : { + "zh_tw" : "3. 三欄圖文 ( 模組標題, 圖片, 狀態, 日期, 類別, 標題, 副標題 )", + "en" : "3. 3-Column Standard Image + Text (widget-title, image, status, postdate, category, title, subtitle)" + }, + "thumbnail" : "publications_index3_thumbs.png" + } + ], + "widgets" : [ + ] +} \ No newline at end of file diff --git a/modules/publication/publications_index1.html.erb b/modules/publication/publications_index1.html.erb new file mode 100644 index 0000000..7ce82f0 --- /dev/null +++ b/modules/publication/publications_index1.html.erb @@ -0,0 +1,23 @@ +
+

{{page-title}}

+ + + + + + + + + + + + + +
{{th_pub_date}}{{th_title}}
+ + {{status}} + + {{title}} +
+
+{{pagination_goes_here}} diff --git a/modules/publication/publications_index2.html.erb b/modules/publication/publications_index2.html.erb new file mode 100644 index 0000000..4830a6c --- /dev/null +++ b/modules/publication/publications_index2.html.erb @@ -0,0 +1,30 @@ +
+

{{page-title}}

+
    +
  • +
    + {{cover_description}} +
    +
    +
    + + {{status}} + + + + + {{category}} + +
    +

    + {{title}} +

    +

    {{pub_information}}

    +
    +
  • +
+
+{{pagination_goes_here}} diff --git a/modules/publication/publications_index3.html.erb b/modules/publication/publications_index3.html.erb new file mode 100644 index 0000000..94fc2d7 --- /dev/null +++ b/modules/publication/publications_index3.html.erb @@ -0,0 +1,82 @@ +
+

{{page-title}}

+
    +
  • +
    + {{cover_description}} +
    +
    +
    + + {{status}} + + + + + {{category}} + +
    +

    + {{title}} +

    +
    +
  • +
+
+{{pagination_goes_here}} + diff --git a/modules/publication/show_chapter_accordion.html.erb b/modules/publication/show_chapter_accordion.html.erb new file mode 100644 index 0000000..8f5e03f --- /dev/null +++ b/modules/publication/show_chapter_accordion.html.erb @@ -0,0 +1,57 @@ +
+
+
+
+

+ + + {{tag}} + + + +

+
+
+
+
+

+ {{th_author}}:{{author}} +

+

{{author_description}}

+
+

{{text}}

+
+ + {{th_page}}: + + + {{page}} + +
+
+ + {{th_keywords}}: + + + {{keywords}} + +
+ + {{publication_title}} + + +
+
+
+
+
\ No newline at end of file diff --git a/modules/publication/show_chapter_table.html.erb b/modules/publication/show_chapter_table.html.erb new file mode 100644 index 0000000..71fb468 --- /dev/null +++ b/modules/publication/show_chapter_table.html.erb @@ -0,0 +1,26 @@ +
+ + + + + + + + + + + + + + + + + +
{{th_chapter_title}}{{th_author}}{{th_title}}
+ + {{tag}} + + {{title}}{{author}}{{page}}
+ +{{pagination_goes_here}} +
\ No newline at end of file diff --git a/modules/publication/show_detail.html.erb b/modules/publication/show_detail.html.erb new file mode 100644 index 0000000..74d4cf5 --- /dev/null +++ b/modules/publication/show_detail.html.erb @@ -0,0 +1,34 @@ +
+
+
+ {{title_title}}: +
+
+ {{title}} +
+
+
+
+ {{author_title}}: +
+
+ {{author}} +
+
+
+
+ {{author_description_title}}: +
+
+ {{author_description}} +
+
+
+
+ {{text_title}}: +
+
+ {{text}} +
+
+
\ No newline at end of file diff --git a/modules/publication/show_journal.html.erb b/modules/publication/show_journal.html.erb new file mode 100644 index 0000000..3bc1b1b --- /dev/null +++ b/modules/publication/show_journal.html.erb @@ -0,0 +1,83 @@ +
+

+ {{page-title}} +

+
+
+
+

+ + + {{tag}} + + + +

+
+
+
+
+

作者:竺家寧 +

+ +

{{}}

+
+
+
+
+ {{link_to_edit}} +
+ +
+ +
+
+
+ {{title_title}}: +
+ +
+
+
+ {{author_title}}: +
+
+ {{author}} +
+
+
+
+ {{pub_date_title}}: +
+
+ {{pub_date}} +
+
+
+
+ {{cover_title}}: +
+
+ {{title}} +
+
+
+
+ {{pub_information_title}}: +
+
+ {{pub_information}} +
+
+
\ No newline at end of file diff --git a/modules/publication/show_publication.html.erb b/modules/publication/show_publication.html.erb new file mode 100644 index 0000000..6e6888f --- /dev/null +++ b/modules/publication/show_publication.html.erb @@ -0,0 +1,42 @@ +
+ +
\ No newline at end of file diff --git a/modules/publication/show_search_fields.html.erb b/modules/publication/show_search_fields.html.erb new file mode 100644 index 0000000..902ceb6 --- /dev/null +++ b/modules/publication/show_search_fields.html.erb @@ -0,0 +1,7 @@ +
+ + {{search_text}} + + + Clear +
\ No newline at end of file diff --git a/modules/publication/thumbs/publications_index1_thumbs.png b/modules/publication/thumbs/publications_index1_thumbs.png new file mode 100644 index 0000000..0a58044 Binary files /dev/null and b/modules/publication/thumbs/publications_index1_thumbs.png differ diff --git a/modules/publication/thumbs/publications_index2_thumbs.png b/modules/publication/thumbs/publications_index2_thumbs.png new file mode 100644 index 0000000..832fe35 Binary files /dev/null and b/modules/publication/thumbs/publications_index2_thumbs.png differ diff --git a/modules/publication/thumbs/publications_index3_thumbs.png b/modules/publication/thumbs/publications_index3_thumbs.png new file mode 100644 index 0000000..b69abd9 Binary files /dev/null and b/modules/publication/thumbs/publications_index3_thumbs.png differ diff --git a/modules/publications/index.html.erb b/modules/publications/index.html.erb new file mode 100644 index 0000000..8c91775 --- /dev/null +++ b/modules/publications/index.html.erb @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + +

{{widget-title}}

{{th_cover}} + {{th_title}} + {{th_pub_date}}{{th_author}}{{th_chapter}}
{{title}}{{title}}{{pub_date}}{{author}} + +
+ {{th_chapters}} + {{chapters}} +
+
+ +{{pagination_goes_here}} \ No newline at end of file diff --git a/modules/publications/info.json b/modules/publications/info.json new file mode 100644 index 0000000..5e0238e --- /dev/null +++ b/modules/publications/info.json @@ -0,0 +1,30 @@ +{ + "frontend": [ + { + "filename" : "publications_index1", + "name" : { + "zh_tw" : "1. 精簡表格列表 ( 模組標題, 日期, 狀態, 標題 )", + "en" : "1. Simple Table List (widget-title, postdate, status, title)" + }, + "thumbnail" : "publications_index1_thumbs.png" + }, + { + "filename" : "publications_index2", + "name" : { + "zh_tw" : "2. 左圖右文 ( 模組標題, 圖片, 狀態, 日期, 類別, 標題, 副標題 )", + "en" : "2. Balanced Image + Text(Left) (widget-title, image, status, postdate, category, title, subtitle)" + }, + "thumbnail" : "publications_index2_thumbs.png" + }, + { + "filename" : "publications_index3", + "name" : { + "zh_tw" : "3. 三欄圖文 ( 模組標題, 圖片, 狀態, 日期, 類別, 標題, 副標題 )", + "en" : "3. 3-Column Standard Image + Text (widget-title, image, status, postdate, category, title, subtitle)" + }, + "thumbnail" : "publications_index3_thumbs.png" + } + ], + "widgets" : [ + ] +} \ No newline at end of file diff --git a/modules/publications/publications_index1.html.erb b/modules/publications/publications_index1.html.erb new file mode 100644 index 0000000..fa785ed --- /dev/null +++ b/modules/publications/publications_index1.html.erb @@ -0,0 +1,23 @@ +
+

{{page-title}}

+ + + + + + + + + + + + + +
{{th_pub_date}}{{th_title}}
+ + {{status}} + + {{title}} +
+
+{{pagination_goes_here}} diff --git a/modules/publications/publications_index2.html.erb b/modules/publications/publications_index2.html.erb new file mode 100644 index 0000000..2e3fa4f --- /dev/null +++ b/modules/publications/publications_index2.html.erb @@ -0,0 +1,30 @@ +
+

{{page-title}}

+
    +
  • +
    + {{cover_description}} +
    +
    +
    + + {{status}} + + + + + {{category}} + +
    +

    + {{title}} +

    +

    {{pub_information}}

    +
    +
  • +
+
+{{pagination_goes_here}} diff --git a/modules/publications/publications_index3.html.erb b/modules/publications/publications_index3.html.erb new file mode 100644 index 0000000..db7c405 --- /dev/null +++ b/modules/publications/publications_index3.html.erb @@ -0,0 +1,82 @@ +
+

{{page-title}}

+
    +
  • +
    + {{cover_description}} +
    +
    +
    + + {{status}} + + + + + {{category}} + +
    +

    + {{title}} +

    +
    +
  • +
+
+{{pagination_goes_here}} + diff --git a/modules/publications/show_chapter_accordion.html.erb b/modules/publications/show_chapter_accordion.html.erb new file mode 100644 index 0000000..196affc --- /dev/null +++ b/modules/publications/show_chapter_accordion.html.erb @@ -0,0 +1,53 @@ +
+

+ {{page-title}} +

+
+
+
+

+ + + {{tag}} + + + +

+
+
+
+
+

+ {{th_author}}:{{author}} +

+ +

{{author_description}}

+
+

{{text}}

+
+
+ {{th_page}}: +
+
+ {{page}} +
+
+
+
+ {{th_keywords}}: +
+
+ {{keywords}} +
+
+
+
+
+ + {{publication_title}} + +
+
\ No newline at end of file diff --git a/modules/publications/show_chapter_table.html.erb b/modules/publications/show_chapter_table.html.erb new file mode 100644 index 0000000..02c5696 --- /dev/null +++ b/modules/publications/show_chapter_table.html.erb @@ -0,0 +1,27 @@ +
+ + + + + + + + + + + + + + + + + + +

{{widget-title}} : {{journal_title}}

{{th_chapter_title}}{{th_author}}{{th_title}}
+ + {{tag}} + + {{title}}{{author}}{{page}}
+ +{{pagination_goes_here}} +
\ No newline at end of file diff --git a/modules/publications/show_detail.html.erb b/modules/publications/show_detail.html.erb new file mode 100644 index 0000000..74d4cf5 --- /dev/null +++ b/modules/publications/show_detail.html.erb @@ -0,0 +1,34 @@ +
+
+
+ {{title_title}}: +
+
+ {{title}} +
+
+
+
+ {{author_title}}: +
+
+ {{author}} +
+
+
+
+ {{author_description_title}}: +
+
+ {{author_description}} +
+
+
+
+ {{text_title}}: +
+
+ {{text}} +
+
+
\ No newline at end of file diff --git a/modules/publications/show_journal.html.erb b/modules/publications/show_journal.html.erb new file mode 100644 index 0000000..3bc1b1b --- /dev/null +++ b/modules/publications/show_journal.html.erb @@ -0,0 +1,83 @@ +
+

+ {{page-title}} +

+
+
+
+

+ + + {{tag}} + + + +

+
+
+
+
+

作者:竺家寧 +

+ +

{{}}

+
+
+
+
+ {{link_to_edit}} +
+ +
+ +
+
+
+ {{title_title}}: +
+ +
+
+
+ {{author_title}}: +
+
+ {{author}} +
+
+
+
+ {{pub_date_title}}: +
+
+ {{pub_date}} +
+
+
+
+ {{cover_title}}: +
+
+ {{title}} +
+
+
+
+ {{pub_information_title}}: +
+
+ {{pub_information}} +
+
+
\ No newline at end of file diff --git a/modules/publications/show_publication.html.erb b/modules/publications/show_publication.html.erb new file mode 100644 index 0000000..8a1eb35 --- /dev/null +++ b/modules/publications/show_publication.html.erb @@ -0,0 +1,42 @@ +
+ +
\ No newline at end of file diff --git a/modules/publications/thumbs/publications_index1_thumbs.png b/modules/publications/thumbs/publications_index1_thumbs.png new file mode 100644 index 0000000..0a58044 Binary files /dev/null and b/modules/publications/thumbs/publications_index1_thumbs.png differ diff --git a/modules/publications/thumbs/publications_index2_thumbs.png b/modules/publications/thumbs/publications_index2_thumbs.png new file mode 100644 index 0000000..832fe35 Binary files /dev/null and b/modules/publications/thumbs/publications_index2_thumbs.png differ diff --git a/modules/publications/thumbs/publications_index3_thumbs.png b/modules/publications/thumbs/publications_index3_thumbs.png new file mode 100644 index 0000000..b69abd9 Binary files /dev/null and b/modules/publications/thumbs/publications_index3_thumbs.png differ diff --git a/publications.gemspec b/publications.gemspec index 6af7d6a..a994286 100644 --- a/publications.gemspec +++ b/publications.gemspec @@ -2,7 +2,22 @@ $:.push File.expand_path("../lib", __FILE__) # Maintain your gem's version: require "publications/version" - +bundle_update_flag = ARGV[0]=='update' || ARGV[0]=='install' +if bundle_update_flag + app_path = File.expand_path(__dir__) + template_path = ENV['PWD'] + '/app/templates' + all_template = Dir.glob(template_path+'/*/') + puts 'copying publications module' + all_template.each do |folder| + if folder.split('/')[-1] != 'mobile' + begin + system ('cp -r '+ app_path + '/modules/ ' + folder) + rescue + puts 'error copy' + end + end + end +end # Describe your gem and declare its dependencies: Gem::Specification.new do |s| s.name = "publications"