]> git.parisson.com Git - pdf.js.git/commitdiff
Merge remote-tracking branch 'mozilla/master' into l10n-1
authorYury Delendik <ydelendik@mozilla.com>
Mon, 30 Apr 2012 23:32:37 +0000 (18:32 -0500)
committerYury Delendik <ydelendik@mozilla.com>
Mon, 30 Apr 2012 23:32:37 +0000 (18:32 -0500)
Conflicts:
web/viewer.html

1  2 
web/locale.properties
web/viewer.html
web/viewer.js

index d5c9dae37efa8440568985ce9b3574a9b0fae1d0,0000000000000000000000000000000000000000..328e005389c4158274ddd1817d37e84820ab85af
mode 100644,000000..100644
--- /dev/null
@@@ -1,89 -1,0 +1,88 @@@
- bookmark_icon.alt=Bookmark
- previous_label=Previous
- next_label=Next
- print_label=Print
- download_label=Download
 +[*]
 +bookmark.title=Current view (copy or open in new window)
- page_scale_auto=Auto
++previous.title=Previous
++next.title=Next
++print.title=Print
++download_label.title=Download
 +zoom_out.title=Zoom Out
 +zoom_in.title=Zoom In
 +error_more_info=More Information
 +error_less_info=Less Information
 +error_close=Close
 +error_build=PDF.JS Build: {{build}}
 +error_message=Message: {{message}}
 +error_stack=Stack: {{stack}}
 +error_file=File: {{file}}
 +error_line=Line: {{line}}
 +page_scale_width=Page Width
 +page_scale_fit=Page Fit
- thumbs_icon.alt=Thumbs
++page_scale_auto=Automatic Zoom
++page_scale_actual=Actual Size
++toggle_slider.title=Toggle Slider
 +thumbs.title=Show Thumbnails
- outline_icon.alt=Document Outline
 +outline.title=Show Document Outline
- bookmark_icon.alt=Закладка
- previous_label=Предыдущая
- next_label=Следующая
- print_label=Печать
- download_label=Загрузить
 +loading=Loading... {{percent}}%
 +loading_error_indicator=Error
 +loading_error=An error occurred while loading the PDF.
 +rendering_error=An error occurred while rendering the page.
++page_label=Page:
++page_of=of {{pageCount}}
 +
 +[ru]
 +bookmark.title=Ссылка на текущий вид (скопировать или открыть в новом окне) 
- thumbs_icon.alt=Уменьшенные изображения
++previous.title=Предыдущая
++next.title=Следующая
++print.title=Печать
++download.title=Загрузить
 +zoom_out.title=Уменьшить
 +zoom_in.title=Увеличить
 +error_more_info=Больше информации
 +error_less_info=Меньше информации
 +error_close=Закрыть
 +error_build=PDF.JS компиляция: {{build}}
 +error_message=Сообщение: {{message}}
 +error_stack=Стeк: {{stack}}
 +error_file=Файл: {{file}}
 +error_line=Строка: {{line}}
 +page_scale_width=Ширина страницы
 +page_scale_fit=Вся страница
 +page_scale_auto=Автоматически
++page_scale_actual=Настоящий размер
 +thumbs.title=Показать уменьшенные изображения
- outline_icon.alt=Содержание документа
 +outline.title=Показать содержание документа
- loading=Загрузка... {{percent}}%
 +loading=Загрузка... {{percent}}%
 +loading_error_indicator=Ошибка
 +loading_error=Произошла ошибка во время загрузки PDF.
 +rendering_error=Произошла ошибка во время создания страницы.
- bookmark_icon.alt=<<<_ьOOқмãгқ_>>>
- previous_label=<<<_ÞгεṿiOȗ§_>>>
- next_label=<<<_пεӾţ_>>>
- print_label=<<<_Þгiпţ_>>>
- download_label=<<<_ÐOẂпḻOãÐ_>>>
++page_label=Страница:
++page_of=из {{pageCount}}
 +
 +[xx]
 +bookmark.title=<<<_¢ȗггεпţ ṿiεẂ (¢OÞӳ Oг OÞεп iп пεẂ ẂiпÐOẂ)_>>>
- error_build=<<<_ÞУ.ʃ§ ьȗiḻÐ: {{ьȗiḻÐ}}_>>>
- error_message=<<<_мε§§ãģε: {{мε§§ãģε}}_>>>
- error_stack=<<<_§ţã¢қ: {{§ţã¢қ}}_>>>
- error_file=<<<_£iḻε: {{£iḻε}}_>>>
- error_line=<<<_ḻiпε: {{ḻiпε}}_>>>
++previous.title=<<<_ÞгεṿiOȗ§_>>>
++next.title=<<<_пεӾţ_>>>
++print.title=<<<_Þгiпţ_>>>
++download_label.title=<<<_ÐOẂпḻOãÐ_>>>
 +zoom_out.title=<<<_ƩOOм Oȗţ_>>>
 +zoom_in.title=<<<_ƩOOм iп_>>>
 +error_more_info=<<<_мOгε iп£OгмãţiOп_>>>
 +error_less_info=<<<_ḻε§§ iп£OгмãţiOп_>>>
 +error_close=<<<_¢ḻO§ε_>>>
- page_scale_auto=<<<_ãȗţO_>>>
++error_build=<<<_ÞУ.ʃ§ ьȗiḻÐ: {{build}}_>>>
++error_message=<<<_мε§§ãģε: {{message}}_>>>
++error_stack=<<<_§ţã¢қ: {{stack}}_>>>
++error_file=<<<_£iḻε: {{file}}_>>>
++error_line=<<<_ḻiпε: {{line}}_>>>
 +page_scale_width=<<<_Þãģε ẂiÐţН_>>>
 +page_scale_fit=<<<_Þãģε £iţ_>>>
- thumbs_icon.alt=<<<_ţНȗмь§_>>>
++page_scale_auto=<<<_ãȗţOмãţi¢ ƩOOм_>>>
++page_scale_actual=<<<_ã¢ţȗãḻ §iƩε_>>>
++toggle_slider.title=<<<_ţOģģḻε §ḻiÐεг_>>>
 +thumbs.title=<<<_§НOẂ ţНȗмьпãiḻ§_>>>
- outline_icon.alt=<<<_ÐO¢ȗмεпţ Oȗţḻiпε_>>>
- loading=<<<_ḻOãÐiпģ... {{Þεг¢εпţ}}%_>>>
 +outline.title=<<<_§НOẂ ÐO¢ȗмεпţ Oȗţḻiпε_>>>
++loading=<<<_ḻOãÐiпģ... {{percent}}%_>>>
 +loading_error_indicator=<<<_εггOг_>>>
 +loading_error=<<<_ãп εггOг O¢¢ȗггεРẂНiḻε ḻOãÐiпģ ţНε ÞУ._>>>
 +rendering_error=<<<_ãп εггOг O¢¢ȗггεРẂНiḻε гεпÐεгiпģ ţНε Þãģε._>>>
++page_label=Þãģε:
++page_of=<<<_O£ {{pageCount}}_>>>
diff --cc web/viewer.html
index 95c92b0f7dc466b799eab03adb98375d054346b2,63dbcc6086171c72e5601f0f0946252ed5a8d048..b90464c48657d7c67b64ff134821eb6099a4dfb3
  <!DOCTYPE html>
  <html>
-     <head>
-         <title>Simple pdf.js page viewer</title>
-         <!-- PDFJSSCRIPT_INCLUDE_FIREFOX_EXTENSION -->
-         <link rel="stylesheet" href="viewer.css"/>
-         <link rel="resource" type="application/l10n" href="locale.properties"/>
-         <script type="text/javascript" src="compatibility.js"></script> <!-- PDFJSSCRIPT_REMOVE_FIREFOX_EXTENSION -->
-         <!-- PDFJSSCRIPT_INCLUDE_BUILD -->
-         <script type="text/javascript" src="../src/core.js"></script> <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/util.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/api.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/metadata.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/canvas.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/obj.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/function.js"></script> <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/charsets.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/cidmaps.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/colorspace.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/crypto.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/evaluator.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/fonts.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/glyphlist.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/image.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/metrics.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/parser.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/pattern.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/stream.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/worker.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../external/jpgjs/jpg.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/jpx.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../src/bidi.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript">PDFJS.workerSrc = '../src/worker_loader.js';</script> <!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="../external/webL10n/l10n.js"></script><!-- PDFJSSCRIPT_REMOVE_CORE -->
-         <script type="text/javascript" src="debugger.js"></script>
-         <script type="text/javascript" src="viewer.js"></script>
-     </head>
+   <head>
+     <title>PDF.js viewer</title>
+     <!-- PDFJSSCRIPT_INCLUDE_FIREFOX_EXTENSION -->
+     <link rel="stylesheet" href="viewer.css"/>
++    <link rel="resource" type="application/l10n" href="locale.properties"/>
+     <script type="text/javascript" src="compatibility.js"></script> <!-- PDFJSSCRIPT_REMOVE_FIREFOX_EXTENSION -->
++    <script type="text/javascript" src="../external/webL10n/l10n.js"></script><!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <!-- PDFJSSCRIPT_INCLUDE_BUILD -->
+     <script type="text/javascript" src="../src/core.js"></script> <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/util.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/api.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/metadata.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/canvas.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/obj.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/function.js"></script> <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/charsets.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/cidmaps.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/colorspace.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/crypto.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/evaluator.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/fonts.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/glyphlist.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/image.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/metrics.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/parser.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/pattern.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/stream.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/worker.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../external/jpgjs/jpg.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/jpx.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="../src/bidi.js"></script>  <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript">PDFJS.workerSrc = '../src/worker_loader.js';</script> <!-- PDFJSSCRIPT_REMOVE_CORE -->
+     <script type="text/javascript" src="debugger.js"></script>
+     <script type="text/javascript" src="viewer.js"></script>
+   </head>
  
    <body>
-     <div id="controls">
-       <button id="previous" onclick="PDFView.page--;" oncontextmenu="return false;">
-         <img src="images/go-up.svg" align="top" height="16"/>
-         <span data-l10n-id="previous_label">Previous</span>
-       </button>
-       <button id="next" onclick="PDFView.page++;" oncontextmenu="return false;">
-         <img src="images/go-down.svg" align="top" height="16"/>
-         <span data-l10n-id="next_label">Next</span>
-       </button>
-       <div class="separator"></div>
-       <input type="number" id="pageNumber" onchange="PDFView.page = this.value;" value="1" size="4" min="1" />
-       <span>/</span>
-       <span id="numPages">--</span>
-       <div class="separator"></div>
-       <button id="zoomOut" title="Zoom Out" onclick="PDFView.zoomOut();" oncontextmenu="return false;" data-l10n-id="zoom_out">
-         <img src="images/zoom-out.svg" align="top" height="16"/>
-       </button>
-       <button id="zoomIn" title="Zoom In" onclick="PDFView.zoomIn();" oncontextmenu="return false;" data-l10n-id="zoom_in">
-         <img src="images/zoom-in.svg" align="top" height="16"/>
-       </button>
-       <div class="separator"></div>
-       <select id="scaleSelect" onchange="PDFView.parseScale(this.value);" oncontextmenu="return false;">
-         <option id="customScaleOption" value="custom"></option>
-         <option value="0.5">50%</option>
-         <option value="0.75">75%</option>
-         <option value="1">100%</option>
-         <option value="1.25">125%</option>
-         <option value="1.5">150%</option>
-         <option value="2">200%</option>
-         <option id="pageWidthOption" value="page-width" data-l10n-id="page_scale_width">Page Width</option>
-         <option id="pageFitOption" value="page-fit" data-l10n-id="page_scale_fit">Page Fit</option>
-         <option id="pageAutoOption" value="auto" data-l10n-id="page_scale_auto" selected="selected">Auto</option>
-       </select>
-       <div class="separator"></div>
-       <button id="print" onclick="window.print();" oncontextmenu="return false;">
-         <img src="images/document-print.svg" align="top" height="16"/>
-         <span data-l10n-id="print_label">Print</span>
-       </button>
-       <button id="download" title="Download" onclick="PDFView.download();" oncontextmenu="return false;">
-         <img src="images/download.svg" align="top" height="16"/>
-         <span data-l10n-id="download_label">Download</span>
-       </button>
-       <div class="separator"></div>
-       <input id="fileInput" type="file" oncontextmenu="return false;"/>
-       <div id="fileInputSeperator" class="separator"></div>
-       <a href="#" id="viewBookmark" data-l10n-id="bookmark" title="Bookmark (or copy) current location">
-         <img src="images/bookmark.svg" data-l10n-id="bookmark_icon" alt="Bookmark" align="top" height="16"/>
-       </a>
-     </div>
-     <div id="errorWrapper" hidden='true'>
-       <div id="errorMessageLeft">
-         <span id="errorMessage"></span>
-         <button id="errorShowMore" onclick="" oncontextmenu="return false;" data-l10n-id="error_more_info">
-           More Information
-         </button>
-         <button id="errorShowLess" onclick="" oncontextmenu="return false;" data-l10n-id="error_less_info" hidden='true'>
-           Less Information
-         </button>
-       </div>
-       <div id="errorMessageRight">
-         <button id="errorClose" oncontextmenu="return false;" data-l10n-id="error_close">
-           Close
-         </button>
-       </div>
-       <div class="clearBoth"></div>
-       <textarea id="errorMoreInfo" hidden='true' readonly="readonly"></textarea>
-     </div>
+     <div id="outerContainer">
+       <div id="sidebarContainer">
+         <div id="toolbarSidebar">
+           <div class="splitToolbarButton toggled">
 -            <button id="viewThumbnail" class="toolbarButton toggled" title="Show Thumbnails" onclick="PDFView.switchSidebarView('thumbs')"></button>
 -            <button id="viewOutline" class="toolbarButton" title="Show Document Outline" onclick="PDFView.switchSidebarView('outline')"></button>
++            <button id="viewThumbnail" class="toolbarButton toggled" title="Show Thumbnails" onclick="PDFView.switchSidebarView('thumbs')" data-l10n-id="thumbs"></button>
++            <button id="viewOutline" class="toolbarButton" title="Show Document Outline" onclick="PDFView.switchSidebarView('outline')" data-l10n-id="outline"></button>
+           </div>
+         </div>
+         <div id="sidebarContent">
+           <div id="thumbnailView">
+           </div>
+           <div id="outlineView" class="hidden">
+           </div>
+         </div>
+       </div>  <!-- sidebarContainer -->
+       <div id="mainContainer">
+         <div class="toolbar">
+           <div id="toolbarContainer">
+             <div id="toolbarViewer">
+               <div id="toolbarViewerLeft">
 -                <button id="sidebarToggle" class="toolbarButton" title="Toggle Sidebar"></button>
++                <button id="sidebarToggle" class="toolbarButton" title="Toggle Sidebar" data-l10n-id="toggle_slider"></button>
+                 <div class="toolbarButtonSpacer"></div>
+                 <div class="splitToolbarButton">
 -                  <button class="toolbarButton pageUp" title="Previous Page" onclick="PDFView.page--" id="previous"></button>
++                  <button class="toolbarButton pageUp" title="Previous Page" onclick="PDFView.page--" id="previous" data-l10n-id="previous"></button>
+                   <div class="splitToolbarButtonSeparator"></div>
 -                  <button class="toolbarButton pageDown" title="Next Page" onclick="PDFView.page++" id="next"></button>
++                  <button class="toolbarButton pageDown" title="Next Page" onclick="PDFView.page++" id="next" data-l10n-id="next"></button>
+                 </div>
 -                <div class="toolbarLabel">Page: </div>
++                <div class="toolbarLabel" data-l10n-id="page_label">Page: </div>
+                 <input type="number" id="pageNumber" class="toolbarField pageNumber" onchange="PDFView.page = this.value;" value="1" size="4" min="1">
+                 </input>
+                 <span id="numPages" class="toolbarLabel"></span>
+               </div>
+               <div id="toolbarViewerRight">
+                 <input id="fileInput" class="fileInput" type="file" oncontextmenu="return false;"/>
+                 <!-- <button id="print" class="toolbarButton print" title="Print" onclick="window.print()"></button> -->
 -                <button id="download" class="toolbarButton download" title="Download" onclick="PDFView.download();"></button>
++                <button id="download" class="toolbarButton download" title="Download" onclick="PDFView.download();" data-l10n-id="download"></button>
+                 <!-- <div class="toolbarButtonSpacer"></div> -->
 -                <a href="#" id="viewBookmark" class="toolbarButton bookmark" title="Bookmark (or copy) current location">
++                <a href="#" id="viewBookmark" class="toolbarButton bookmark" title="Bookmark (or copy) current location" data-l10n-id="bookmark">
+                 </a>
+               </div>
+               <div class="outerCenter">
+                 <div class="innerCenter" id="toolbarViewerMiddle">
+                   <div class="splitToolbarButton">
 -                    <button class="toolbarButton zoomOut" title="Zoom Out" onclick="PDFView.zoomOut();"></button>
++                    <button class="toolbarButton zoomOut" title="Zoom Out" onclick="PDFView.zoomOut();" data-l10n-id="zoom_out"></button>
+                     <div class="splitToolbarButtonSeparator"></div>
 -                    <button class="toolbarButton zoomIn" title="Zoom In" onclick="PDFView.zoomIn();"></button>
++                    <button class="toolbarButton zoomIn" title="Zoom In" onclick="PDFView.zoomIn();" data-l10n-id="zoom_in"></button>
+                   </div>
+                   <span class="dropdownToolbarButton">
+                      <select id="scaleSelect" onchange="PDFView.parseScale(this.value);" oncontextmenu="return false;">
 -                      <option id="pageAutoOption" value="auto" selected="selected">Automatic Zoom</option>
 -                      <option value="page-actual">Actual Size</option>
 -                      <option id="pageFitOption" value="page-fit">Fit Page</option>
 -                      <option id="pageWidthOption" value="page-width">Full Width</option>
++                      <option id="pageAutoOption" value="auto" selected="selected" data-l10n-id="page_scale_auto">Automatic Zoom</option>
++                      <option id="pageActualOption" value="page-actual" data-l10n-id="page_scale_actual">Actual Size</option>
++                      <option id="pageFitOption" value="page-fit" data-l10n-id="page_scale_fit">Fit Page</option>
++                      <option id="pageWidthOption" value="page-width" data-l10n-id="page_scale_width">Full Width</option>
+                       <option id="customScaleOption" value="custom"></option>
+                       <option value="0.5">50%</option>
+                       <option value="0.75">75%</option>
+                       <option value="1">100%</option>
+                       <option value="1.25">125%</option>
+                       <option value="1.5">150%</option>
+                       <option value="2">200%</option>
+                     </select>
+                   </span>
+                 </div>
+               </div>
+             </div>
+           </div>
+         </div>
  
-     <div id="sidebar">
-       <div id="sidebarBox">
-         <div id="pinIcon" onClick="PDFView.pinSidebar()"></div>
-         <div id="sidebarScrollView">
-           <div id="sidebarView"></div>
+         <div id="viewerContainer">
+           <div id="viewer"></div>
          </div>
-         <div id="outlineScrollView" hidden='true'>
-           <div id="outlineView"></div>
+         <div id="loadingBox">
 -            <div id="loading">Loading... 0%</div>
++            <div id="loading" data-l10n-id="loading" data-l10n-args='{"percent": 0}'>Loading... 0%</div>
+             <div id="loadingBar"><div class="progress"></div></div>
          </div>
-         <div id="sidebarControls">
-           <button id="thumbsSwitch" title="Show Thumbnails" onclick="PDFView.switchSidebarView('thumbs')" data-l10n-id="thumbs" data-selected>
-             <img src="images/nav-thumbs.svg" align="top" height="16" alt="Thumbs" data-l10n-id="thumbs_icon"/>
-           </button>
-           <button id="outlineSwitch" title="Show Document Outline" onclick="PDFView.switchSidebarView('outline')" data-l10n-id="outline" disabled>
-             <img src="images/nav-outline.svg" align="top" height="16" alt="Document Outline" data-l10n-id="outline_icon"/>
-           </button>
+         <div id="errorWrapper" hidden='true'>
+           <div id="errorMessageLeft">
+             <span id="errorMessage"></span>
 -            <button id="errorShowMore" onclick="" oncontextmenu="return false;">
++            <button id="errorShowMore" onclick="" oncontextmenu="return false;" data-l10n-id="error_more_info">
+               More Information
+             </button>
 -            <button id="errorShowLess" onclick="" oncontextmenu="return false;" hidden='true'>
++            <button id="errorShowLess" onclick="" oncontextmenu="return false;" data-l10n-id="error_less_info" hidden='true'>
+               Less Information
+             </button>
+           </div>
+           <div id="errorMessageRight">
 -            <button id="errorClose" oncontextmenu="return false;">
++            <button id="errorClose" oncontextmenu="return false;" data-l10n-id="error_close">
+               Close
+             </button>
+           </div>
+           <div class="clearBoth"></div>
+           <textarea id="errorMoreInfo" hidden='true' readonly="readonly"></textarea>
          </div>
-       </div>
-     </div>
+       </div> <!-- mainContainer -->
  
-     <div id="loadingBox">
-         <div id="loading" data-l10n-id="loading" data-l10n-args='{"percent": 0}'>Loading... 0%</div>
-         <div id="loadingBar"><div class="progress"></div></div>
-     </div>
-     <div id="viewer"></div>
+     </div> <!-- outerContainer -->
    </body>
  </html>
diff --cc web/viewer.js
index 49571e9f8b59132340fead1ec75a4ef62580ff0d,9822f07c6301516bffc816b7916498b0cc515e1e..eb18b881b378357f5da3aaad1460323aca0fc8bb
@@@ -501,7 -513,7 +522,8 @@@ var PDFView = 
      var pagesCount = pdfDocument.numPages;
      var id = pdfDocument.fingerprint;
      var storedHash = null;
-     document.getElementById('numPages').textContent = pagesCount;
 -    document.getElementById('numPages').textContent = 'of ' + pagesCount;
++    document.getElementById('numPages').textContent =
++      mozL10n.get('page_of', {pageCount: pagesCount});
      document.getElementById('pageNumber').max = pagesCount;
      PDFView.documentFingerprint = id;
      var store = PDFView.store = new Settings(id);