]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
merge epub with all the dev evolutions
authorThomas Citharel <tcit@tcit.fr>
Sat, 13 Dec 2014 23:16:22 +0000 (00:16 +0100)
committerThomas Citharel <tcit@tcit.fr>
Sat, 13 Dec 2014 23:16:22 +0000 (00:16 +0100)
13 files changed:
1  2 
inc/poche/Routing.class.php
inc/poche/WallabagEBooks.class.php
locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.mo
locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.po
locale/en_US.utf8/LC_MESSAGES/en_US.utf8.mo
locale/en_US.utf8/LC_MESSAGES/en_US.utf8.po
locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo
locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.po
themes/baggy/config.twig
themes/baggy/home.twig
themes/baggy/view.twig
themes/default/config.twig
themes/default/home.twig

index 6ae93d21d7622d552709d98ccd5ce743bcfc7a71,44b0e1683ac48f6dea8c9cebfca1d7a7b275d0f0..5acd08ba608d0704b8d6a76e2152363ba4afe808
@@@ -120,7 -120,16 +120,16 @@@ class Routin
                  $this->wallabag->deleteUser($_POST['password4deletinguser']);
              } elseif (isset($_GET['epub'])) {
                  $epub = new WallabagEpub($this->wallabag, $_GET['method'], $_GET['value']);
-                 $epub->run();
+                 $epub->prepareData();
+                 $epub->produceEpub();
+             } elseif (isset($_GET['mobi'])) {
+                 $mobi = new WallabagMobi($this->wallabag, $_GET['method'], $_GET['value']);
+                 $mobi->prepareData();
+                 $mobi->produceMobi();
+             } elseif (isset($_GET['pdf'])) {
+                 $pdf = new WallabagPDF($this->wallabag, $_GET['method'], $_GET['value']);
+                 $pdf->prepareData();
+                 $pdf->producePDF();
              } elseif (isset($_GET['import'])) {
                  $import = $this->wallabag->import();
                  $tplVars = array_merge($this->vars, $import);
      {
          echo $this->wallabag->tpl->render($file, $vars);
      }
--} 
++} 
index 0000000000000000000000000000000000000000,2ddece610daf11ea688239f49ad1d0fec51c6d31..bc40990b1e2cd90694e57ddd6b71df2412538c65
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,246 +1,246 @@@
 -        $book->setCoverImage("Cover.png", file_get_contents("themes/baggy/img/apple-touch-icon-152.png"), "image/png", $fullTitle);
+ <?php
+ /**
+  * wallabag, self hostable application allowing you to not miss any content anymore
+  *
+  * @category   wallabag
+  * @author     Nicolas Lœuillet <nicolas@loeuillet.org>
+  * @copyright  2013
+  * @license    http://opensource.org/licenses/MIT see COPYING file
+  */
+ class WallabagEBooks
+ {
+       protected $wallabag;
+     protected $method;
+     protected $value;
+     protected $entries;
+     protected $bookTitle;
+     protected $bookFileName;
+     protected $author = 'wallabag';
+     public function __construct(Poche $wallabag, $method, $value)
+     {
+         $this->wallabag = $wallabag;
+         $this->method   = $method;
+         $this->value    = $value;
+     }
+     public function prepareData()
+     {
+         switch ($this->method) {
+             case 'id':
+                 $entryID = filter_var($this->value, FILTER_SANITIZE_NUMBER_INT);
+                 $entry = $this->wallabag->store->retrieveOneById($entryID, $this->wallabag->user->getId());
+                 $this->entries = array($entry);
+                 $this->bookTitle = $entry['title'];
+                 $this->bookFileName = substr($this->bookTitle, 0, 200);
+                 $this->author = preg_replace('#^w{3}.#', '', Tools::getdomain($entry["url"])); # if only one article, set author to domain name (we strip the eventual www part)
+                 Tools::logm('Producing ebook from article ' . $this->bookTitle);
+                 break;
+             case 'all':
+                 $this->entries = $this->wallabag->store->retrieveAll($this->wallabag->user->getId());
+                 $this->bookTitle = sprintf(_('All my articles on %s'), date(_('d.m.y'))); #translatable because each country has it's own date format system
+                 $this->bookFileName = _('Allarticles') . date(_('dmY'));
+                 Tools::logm('Producing ebook from all articles');
+                 break;
+             case 'tag':
+                 $tag = filter_var($this->value, FILTER_SANITIZE_STRING);
+                 $tags_id = $this->wallabag->store->retrieveAllTags($this->wallabag->user->getId(), $tag);
+                 $tag_id = $tags_id[0]["id"]; // we take the first result, which is supposed to match perfectly. There must be a workaround.
+                 $this->entries = $this->wallabag->store->retrieveEntriesByTag($tag_id, $this->wallabag->user->getId());
+                 $this->bookTitle = sprintf(_('Articles tagged %s'), $tag);
+                 $this->bookFileName = substr(sprintf(_('Tag %s'), $tag), 0, 200);
+                 Tools::logm('Producing ebook from tag ' . $tag);
+                 break;
+             case 'category':
+                 $category = filter_var($this->value, FILTER_SANITIZE_STRING);
+                 $this->entries = $this->wallabag->store->getEntriesByView($category, $this->wallabag->user->getId());
+                 $this->bookTitle = sprintf(_('Articles in category %s'), $category);
+                 $this->bookFileName = substr(sprintf(_('Category %s'), $category), 0, 200);
+                 Tools::logm('Producing ebook from category ' . $category);
+                 break;
+             case 'search':
+                 $search = filter_var($this->value, FILTER_SANITIZE_STRING);
+                 Tools::logm($search);
+                 $this->entries = $this->wallabag->store->search($search, $this->wallabag->user->getId());
+                 $this->bookTitle = sprintf(_('Articles for search %s'), $search);
+                 $this->bookFileName = substr(sprintf(_('Search %s'), $search), 0, 200);
+                 Tools::logm('Producing ebook from search ' . $search);
+                 break;
+             case 'default':
+                 die(_('Uh, there is a problem while generating eBook.'));
+         }
+     }
+ }
+ class WallabagEpub extends WallabagEBooks
+ {
+     /**
+      * handle ePub
+      */
+     public function produceEpub()
+     {
+         Tools::logm('Starting to produce ePub 3 file');
+         $content_start =
+             "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+             . "<html xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:epub=\"http://www.idpf.org/2007/ops\">\n"
+             . "<head>"
+             . "<meta http-equiv=\"Default-Style\" content=\"text/html; charset=utf-8\" />\n"
+             . "<title>" . _("wallabag articles book") . "</title>\n"
+             . "</head>\n"
+             . "<body>\n";
+         $bookEnd = "</body>\n</html>\n";
+         $log = new Logger("wallabag", TRUE);
+         $fileDir = CACHE;
+         $book = new EPub(EPub::BOOK_VERSION_EPUB3, DEBUG_POCHE);
+         $log->logLine("new EPub()");
+         $log->logLine("EPub class version: " . EPub::VERSION);
+         $log->logLine("EPub Req. Zip version: " . EPub::REQ_ZIP_VERSION);
+         $log->logLine("Zip version: " . Zip::VERSION);
+         $log->logLine("getCurrentServerURL: " . $book->getCurrentServerURL());
+         $log->logLine("getCurrentPageURL..: " . $book->getCurrentPageURL());
+         Tools::logm('Filling metadata for ePub...');
+         $book->setTitle($this->bookTitle);
+         $book->setIdentifier("http://$_SERVER[HTTP_HOST]", EPub::IDENTIFIER_URI); // Could also be the ISBN number, prefered for published books, or a UUID.
+         //$book->setLanguage("en"); // Not needed, but included for the example, Language is mandatory, but EPub defaults to "en". Use RFC3066 Language codes, such as "en", "da", "fr" etc.
+         $book->setDescription(_("Some articles saved on my wallabag"));
+         $book->setAuthor($this->author,$this->author);
+         $book->setPublisher("wallabag", "wallabag"); // I hope this is a non existant address :)
+         $book->setDate(time()); // Strictly not needed as the book date defaults to time().
+         //$book->setRights("Copyright and licence information specific for the book."); // As this is generated, this _could_ contain the name or licence information of the user who purchased the book, if needed. If this is used that way, the identifier must also be made unique for the book.
+         $book->setSourceURL("http://$_SERVER[HTTP_HOST]");
+         $book->addDublinCoreMetadata(DublinCore::CONTRIBUTOR, "PHP");
+         $book->addDublinCoreMetadata(DublinCore::CONTRIBUTOR, "wallabag");
+         $cssData = "body {\n margin-left: .5em;\n margin-right: .5em;\n text-align: justify;\n}\n\np {\n font-family: serif;\n font-size: 10pt;\n text-align: justify;\n text-indent: 1em;\n margin-top: 0px;\n margin-bottom: 1ex;\n}\n\nh1, h2 {\n font-family: sans-serif;\n font-style: italic;\n text-align: center;\n background-color: #6b879c;\n color: white;\n width: 100%;\n}\n\nh1 {\n margin-bottom: 2px;\n}\n\nh2 {\n margin-top: -2px;\n margin-bottom: 2px;\n}\n";
+         $log->logLine("Add Cover");
+         $fullTitle = "<h1> " . $this->bookTitle . "</h1>\n";
 -        $content->appendImage(imagecreatefrompng("themes/baggy/img/apple-touch-icon-152.png"));
++        $book->setCoverImage("Cover.png", file_get_contents("themes/_global/img/appicon/apple-touch-icon-152.png"), "image/png", $fullTitle);
+         $cover = $content_start . '<div style="text-align:center;"><p>' . _('Produced by wallabag with PHPePub') . '</p><p>'. _('Please open <a href="https://github.com/wallabag/wallabag/issues" >an issue</a> if you have trouble with the display of this E-Book on your device.') . '</p></div>' . $bookEnd;
+         //$book->addChapter("Table of Contents", "TOC.xhtml", NULL, false, EPub::EXTERNAL_REF_IGNORE);
+         $book->addChapter("Notices", "Cover2.html", $cover);
+         $book->buildTOC();
+         Tools::logm('Adding actual content...');
+         foreach ($this->entries as $entry) { //set tags as subjects
+             $tags = $this->wallabag->store->retrieveTagsByEntry($entry['id']);
+             foreach ($tags as $tag) {
+                 $book->setSubject($tag['value']);
+             }
+             $log->logLine("Set up parameters");
+             $chapter = $content_start . $entry['content'] . $bookEnd;
+             $book->addChapter($entry['title'], htmlspecialchars($entry['title']) . ".html", $chapter, true, EPub::EXTERNAL_REF_ADD);
+             $log->logLine("Added chapter " . $entry['title']);
+         }
+         if (DEBUG_POCHE) {
+             $book->addChapter("Log", "Log.html", $content_start . $log->getLog() . "\n</pre>" . $bookEnd); // log generation
+             Tools::logm('Production log available in produced file');
+         }
+         $book->finalize();
+         $zipData = $book->sendBook($this->bookFileName);
+         Tools::logm('Ebook produced');
+     }
+ } 
+ class WallabagMobi extends WallabagEBooks
+ {
+       /**
+       * MOBI Class
+       * @author Sander Kromwijk
+       */
+       public function produceMobi()
+       {
+         Tools::logm('Starting to produce Mobi file');
+         $mobi = new MOBI();
+         $content = new MOBIFile();
+         $messages = new Messages(); // for later
+         
+         Tools::logm('Filling metadata for Mobi...');
+         $content->set("title", $this->bookTitle);
+         $content->set("author", $this->author);
+         $content->set("subject", $this->bookTitle);
+         # introduction
+         $content->appendParagraph('<div style="text-align:center;" ><p>' . _('Produced by wallabag with PHPMobi') . '</p><p>'. _('Please open <a href="https://github.com/wallabag/wallabag/issues" >an issue</a> if you have trouble with the display of this E-Book on your device.') . '</p></div>');
 -        <img src="themes/baggy/img/apple-touch-icon-152.png" /></div>';
++        $content->appendImage(imagecreatefrompng("themes/_global/img/appicon/apple-touch-icon-152.png"));
+         $content->appendPageBreak();
+         Tools::logm('Adding actual content...');
+         foreach ($this->entries as $item) {
+             $content->appendChapterTitle($item['title']);
+             $content->appendParagraph($item['content']);
+             $content->appendPageBreak();
+         }
+         $mobi->setContentProvider($content);
+         // we offer file to download
+         $mobi->download($this->bookFileName.'.mobi');
+         Tools::logm('Mobi file produced');
+     }
+ }
+ class WallabagPDF extends WallabagEbooks
+ {
+       public function producePDF()
+       {
+         Tools::logm('Starting to produce PDF file');
+         $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
+         Tools::logm('Filling metadata for PDF...');
+         $pdf->SetCreator(PDF_CREATOR);
+         $pdf->SetAuthor('');
+         $pdf->SetTitle($this->bookTitle);
+         $pdf->SetSubject('TCPDF Tutorial');
+         $pdf->SetKeywords('TCPDF, PDF, example, test, guide');
+               
+         Tools::logm('Adding introduction...');
+         $pdf->AddPage();
+         $intro = '<h1>' . $this->bookTitle . '</h1><div style="text-align:center;" >
+         <p>' . _('Produced by wallabag with tcpdf') . '</p>
+         <p>'. _('Please open <a href="https://github.com/wallabag/wallabag/issues" >an issue</a> if you have trouble with the display of this E-Book on your device.') . '</p>
 -}
++        <img src="themes/_global/img/appicon/apple-touch-icon-152.png" /></div>';
+         $pdf->writeHTMLCell(0, 0, '', '', $intro, 0, 1, 0, true, '', true);
+         $i = 1;
+         Tools::logm('Adding actual content...');
+         foreach ($this->entries as $item) {
+             $pdf->AddPage();
+             $html = '<h1>' . $item['title'] . '</h1>';
+             $html .= $item['content'];
+             $pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true);
+             $i = $i+1;
+         }
+         // set image scale factor
+         $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
+         
+         $pdf->Output($this->bookFileName . '.pdf', 'FD');
+       }
++}
index 12fef6c83ac8417903986dad6385c37ad0a381db,ff09d67691f350d79210f3fca4eac57ea3583574..c9105ee61d3d3902f90cf352c3faca6360cf629d
Binary files differ
index 98c6a3e81a93bc813a395edda0ce771ae8ef55ed,9761d6c802eeacc4722c47dc078961ad3be319bb..81f873425b87b682570f4e98d6c8ad17245cde4f
@@@ -1,29 -1,28 +1,29 @@@
  msgid ""
  msgstr ""
 -"Project-Id-Version: wallabag 1.7.2\n"
 +"Project-Id-Version: wallabag\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2014-02-25 15:17+0300\n"
+ "POT-Creation-Date: 2014-07-26 15:17+0300\n"
  "PO-Revision-Date: \n"
- "Last-Translator: tcit <tcit@openmailbox.org>\n"
 -"Last-Translator: tcit <tcit@tcit.fr>\n"
++"Last-Translator: Thomas Citharel <tcit@openmailbox.org>\n"
  "Language-Team: \n"
  "Language: en\n"
  "MIME-Version: 1.0\n"
  "Content-Type: text/plain; charset=UTF-8\n"
  "Content-Transfer-Encoding: 8bit\n"
 -"X-Generator: Poedit 1.6.4\n"
 +"X-Generator: Poedit 1.5.4\n"
 +"X-Poedit-Basepath: .\n"
  
  msgid "wallabag, a read it later open source system"
  msgstr "wallabag, a read it later open source system"
  
  msgid "login failed: user doesn't exist"
 -msgstr "login failed: user doesn't exist"
 +msgstr "Login failed: user doesn't exist"
  
  msgid "return home"
 -msgstr "return home"
 +msgstr "Return Home"
  
  msgid "config"
 -msgstr "config"
 +msgstr "Config"
  
  msgid "Saving articles"
  msgstr "Saving articles"
@@@ -32,16 -31,10 +32,16 @@@ msgid "There are several ways to save a
  msgstr "There are several ways to save an article:"
  
  msgid "read the documentation"
 -msgstr "read the documentation"
 +msgstr "Read the documentation"
  
  msgid "download the extension"
 -msgstr "download the extension"
 +msgstr "Download the extension"
 +
 +msgid "Firefox Add-On"
 +msgstr "Firefox Add-On"
 +
 +msgid "Chrome Extension"
 +msgstr "Chrome Extension"
  
  msgid "via F-Droid"
  msgstr "via F-Droid"
@@@ -53,7 -46,7 +53,7 @@@ msgid "via Google Play
  msgstr "via Google Play"
  
  msgid "download the application"
 -msgstr "download the application"
 +msgstr "Download the application"
  
  msgid "By filling this field"
  msgstr "By filling this field"
@@@ -62,7 -55,7 +62,7 @@@ msgid "bag it!
  msgstr "bag it!"
  
  msgid "Bookmarklet: drag & drop this link to your bookmarks bar"
 -msgstr "Bookmarklet: drag & drop this link to your bookmarks bar"
 +msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar"
  
  msgid "Upgrading wallabag"
  msgstr "Upgrading wallabag"
@@@ -108,16 -101,17 +108,15 @@@ msgid "Your token:
  msgstr "Your token:"
  
  msgid "Your user id:"
 -msgstr "Your user id:"
 +msgstr "Your user ID:"
  
  msgid ""
  "You can regenerate your token: <a href='?feed&amp;action=generate'>generate!"
  "</a>."
--msgstr ""
- "<a href='?feed&amp;action=generate'>Regenerate Token</a>"
 -"You can regenerate your token: <a href='?feed&amp;action=generate'>generate!"
 -"</a>."
++msgstr "<a href='?feed&amp;action=generate'>Regenerate Token</a>"
  
  msgid "Change your theme"
 -msgstr "Change your theme"
 +msgstr "Change Your Theme"
  
  msgid "Theme:"
  msgstr "Theme:"
@@@ -126,13 -120,13 +125,13 @@@ msgid "Update
  msgstr "Update"
  
  msgid "Change your language"
 -msgstr "Change your language"
 +msgstr "Change Your Language"
  
  msgid "Language:"
  msgstr "Language:"
  
  msgid "Change your password"
 -msgstr "Change your password"
 +msgstr "Change Your Password"
  
  msgid "New password:"
  msgstr "New password:"
@@@ -146,26 -140,14 +145,41 @@@ msgstr "Repeat your new password:
  msgid "Import"
  msgstr "Import"
  
- msgid "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format."
- msgstr "You can import your Pocket, Readability, Instapaper, wallabag or any fil in appropriate JSON or HTML format."
 +msgid ""
- "Please execute the import script locally as it can take a very long time."
++"You can import your Pocket, Readability, Instapaper, Wallabag or any data in "
++"appropriate json or html format."
 +msgstr ""
++"You can import your Pocket, Readability, Instapaper, wallabag or any fil in "
++"appropriate JSON or HTML format."
 +
- msgid "Please select export file on your computer and press \"Import\" button below. Wallabag will parse your file, insert all URLs and start fetching of articles if required."
- msgstr "Please select export file on your computer and press &ldquo;Import&rdquo; button below. wallabag will parse your file, insert all URLs and start fetching of articles if required."
- "Please execute the import script locally as it can take a very long time."
++msgid ""
++"Please select export file on your computer and press \"Import\" button "
++"below. Wallabag will parse your file, insert all URLs and start fetching of "
++"articles if required."
++msgstr ""
++"Please select export file on your computer and press &ldquo;Import&rdquo; "
++"button below. wallabag will parse your file, insert all URLs and start "
++"fetching of articles if required.Please execute the import script locally as "
++"it can take a very long time."
 +
 +msgid "You can click here to fetch content for articles with no content."
 +msgstr "Fetch content for articles with no content"
 +
+ msgid ""
+ "Please execute the import script locally as it can take a very long time."
+ msgstr ""
+ "Please execute the import script locally as it can take a very long time."
  msgid "More info in the official documentation:"
  msgstr "More info in the official documentation:"
  
- msgid "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)"
- msgstr "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)"
++msgid ""
++"(<a href=\"http://doc.wallabag.org/en/User_documentation/"
++"Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)"
++msgstr ""
++"(<a href=\"http://doc.wallabag.org/en/User_documentation/"
++"Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)"
 +
  msgid "Import from Pocket"
  msgstr "Import from Pocket"
  
@@@ -194,41 -176,17 +208,41 @@@ msgstr "to download your database.
  msgid "to export your wallabag data."
  msgstr "to export your wallabag data."
  
 +msgid "Export JSON"
 +msgstr "Export JSON"
 +
  msgid "Cache"
  msgstr "Cache"
  
  msgid "to delete cache."
  msgstr "to delete cache."
  
 +msgid "Delete Cache"
 +msgstr "Delete Cache"
 +
  msgid "You can enter multiple tags, separated by commas."
  msgstr "You can enter multiple tags, separated by commas."
  
 +msgid "Add tags:"
 +msgstr "Add tags:"
 +
 +msgid "no tags"
 +msgstr "no tags"
 +
 +msgid "The tag has been applied successfully"
 +msgstr "The tag has been applied successfully"
 +
 +msgid "interview"
 +msgstr "interview"
 +
 +msgid "editorial"
 +msgstr "editorial"
 +
 +msgid "video"
 +msgstr "video"
 +
  msgid "return to article"
 -msgstr "return to article"
 +msgstr "Return to article"
  
  msgid "plop"
  msgstr "plop"
@@@ -241,13 -199,13 +255,13 @@@ msgstr "
  "here</a>."
  
  msgid "favoris"
 -msgstr "favoris"
 +msgstr "Favorites"
  
  msgid "archive"
 -msgstr "archive"
 +msgstr "Archive"
  
  msgid "unread"
 -msgstr "unread"
 +msgstr "Unread"
  
  msgid "by date asc"
  msgstr "by date asc"
@@@ -277,28 -235,28 +291,28 @@@ msgid "Toggle mark as read
  msgstr "Toggle mark as read"
  
  msgid "toggle favorite"
 -msgstr "toggle favorite"
 +msgstr "Toggle favorite"
  
  msgid "delete"
 -msgstr "delete"
 +msgstr "Delete"
  
  msgid "original"
 -msgstr "original"
 +msgstr "Original"
  
  msgid "estimated reading time:"
 -msgstr "estimated reading time:"
 +msgstr "Estimated reading time:"
  
  msgid "mark all the entries as read"
 -msgstr "mark all the entries as read"
 +msgstr "Mark all the entries as read"
  
  msgid "results"
 -msgstr "results"
 +msgstr "Results"
  
  msgid "installation"
 -msgstr "installation"
 +msgstr "Installation"
  
  msgid "install your wallabag"
 -msgstr "install your wallabag"
 +msgstr "Install your wallabag"
  
  msgid ""
  "wallabag is still not installed. Please fill the below form to install it. "
@@@ -319,13 -277,13 +333,13 @@@ msgid "Install
  msgstr "Install"
  
  msgid "login to your wallabag"
 -msgstr "login to your wallabag"
 +msgstr "Login to your wallabag"
  
  msgid "Login to wallabag"
  msgstr "Login to wallabag"
  
  msgid "you are in demo mode, some features may be disabled."
 -msgstr "you are in demo mode, some features may be disabled."
 +msgstr "You are in demo mode; some features may be disabled."
  
  msgid "Username"
  msgstr "Username"
@@@ -340,10 -298,10 +354,10 @@@ msgid "Sign in
  msgstr "Sign in"
  
  msgid "favorites"
 -msgstr "favorites"
 +msgstr "Favorites"
  
  msgid "estimated reading time :"
 -msgstr "estimated reading time :"
 +msgstr "Estimated reading time:"
  
  msgid "Mark all the entries as read"
  msgstr "Mark all the entries as read"
@@@ -385,64 -343,61 +399,64 @@@ msgid "tags:
  msgstr "tags:"
  
  msgid "Edit tags"
 -msgstr "Edit tags"
 +msgstr "Edit Tags"
  
  msgid "save link!"
 -msgstr "save link!"
 +msgstr "Save Link"
  
  msgid "home"
 -msgstr "home"
 +msgstr "Home"
  
  msgid "tags"
 -msgstr "tags"
 +msgstr "Tags"
  
  msgid "logout"
 -msgstr "logout"
 +msgstr "Logout"
  
  msgid "powered by"
 -msgstr "powered by"
 +msgstr "Powered by"
  
  msgid "debug mode is on so cache is off."
 -msgstr "debug mode is on so cache is off."
 +msgstr "Debug mode is on, so cache is off."
  
  msgid "your wallabag version:"
 -msgstr "your wallabag version:"
 +msgstr "Your wallabag version:"
  
  msgid "storage:"
 -msgstr "storage:"
 +msgstr "Storage:"
  
  msgid "save a link"
 -msgstr "save a link"
 +msgstr "Save a Link"
  
  msgid "back to home"
 -msgstr "back to home"
 +msgstr "Back to Home"
  
  msgid "toggle mark as read"
 -msgstr "toggle mark as read"
 +msgstr "Toggle mark as read"
  
  msgid "tweet"
 -msgstr "tweet"
 +msgstr "Tweet"
  
  msgid "email"
 -msgstr "email"
 +msgstr "Email"
  
  msgid "this article appears wrong?"
 -msgstr "this article appears wrong?"
 +msgstr "This article appears wrong?"
  
  msgid "No link available here!"
 -msgstr "No link available here!"
 +msgstr "No link available here"
  
  msgid "Poching a link"
 -msgstr "Poching a link"
 +msgstr "bagging a link"
  
  msgid "by filling this field"
  msgstr "by filling this field"
  
  msgid "bookmarklet: drag & drop this link to your bookmarks bar"
 -msgstr "bookmarklet: drag & drop this link to your bookmarks bar"
 +msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar"
 +
 +msgid "Drag &amp; drop this link to your bookmarks bar:"
 +msgstr "Drag &amp; drop this link to your bookmarks bar:"
  
  msgid "your version"
  msgstr "your version"
@@@ -451,35 -406,32 +465,37 @@@ msgid "latest stable version
  msgstr "latest stable version"
  
  msgid "a more recent stable version is available."
 -msgstr "a more recent stable version is available."
 +msgstr "A more recent stable version is available."
  
  msgid "you are up to date."
 -msgstr "you are up to date."
 +msgstr "You are up to date."
  
  msgid "latest dev version"
  msgstr "latest dev version"
  
  msgid "a more recent development version is available."
 -msgstr "a more recent development version is available."
 +msgstr "A more recent development version is available."
 +
 +msgid "You can clear cache to check the latest release."
- msgstr "You can <a href=\"#cache\">clear the cache</a> to check for the latest release."
++msgstr ""
++"You can <a href=\"#cache\">clear the cache</a> to check for the latest "
++"release."
  
  msgid "Please execute the import script locally, it can take a very long time."
  msgstr ""
  "Please execute the import script locally, it can take a very long time."
  
  msgid "More infos in the official doc:"
 -msgstr "More infos in the official doc:"
 +msgstr "More information in the official doc:"
  
  msgid "import from Pocket"
 -msgstr "import from Pocket"
 +msgstr "Import from Pocket"
  
  msgid "import from Readability"
 -msgstr "import from Readability"
 +msgstr "Import from Readability"
  
  msgid "import from Instapaper"
 -msgstr "import from Instapaper"
 +msgstr "Import from Instapaper"
  
  msgid "Tags"
  msgstr "Tags"
@@@ -488,74 -440,74 +504,74 @@@ msgid "Untitled
  msgstr "Untitled"
  
  msgid "the link has been added successfully"
 -msgstr "the link has been added successfully"
 +msgstr "The link has been added successfully."
  
  msgid "error during insertion : the link wasn't added"
 -msgstr "error during insertion : the link wasn't added"
 +msgstr "Error during insertion: the link wasn't added."
  
  msgid "the link has been deleted successfully"
 -msgstr "the link has been deleted successfully"
 +msgstr "The link has been deleted successfully."
  
  msgid "the link wasn't deleted"
 -msgstr "the link wasn't deleted"
 +msgstr "The link wasn't deleted."
  
  msgid "Article not found!"
 -msgstr "Article not found!"
 +msgstr "Article not found."
  
  msgid "previous"
 -msgstr "previous"
 +msgstr "Previous"
  
  msgid "next"
 -msgstr "next"
 +msgstr "Next"
  
  msgid "in demo mode, you can't update your password"
 -msgstr "in demo mode, you can't update your password"
 +msgstr "In demo mode, you can't update your password."
  
  msgid "your password has been updated"
 -msgstr "your password has been updated"
 +msgstr "Your password has been updated."
  
  msgid ""
  "the two fields have to be filled & the password must be the same in the two "
  "fields"
  msgstr ""
- "The two fields must be filled, and the password must be the same in both "
 -"the two fields have to be filled & the password must be the same in the two "
--"fields"
++"les deux champs doivent être remplis et le mot de passe doit être le même "
++"pour les deux champs"
  
  msgid "still using the \""
 -msgstr "still using the \""
 +msgstr "Still using the \""
  
  msgid "that theme does not seem to be installed"
 -msgstr "that theme does not seem to be installed"
 +msgstr "That theme does not seem to be installed."
  
  msgid "you have changed your theme preferences"
 -msgstr "you have changed your theme preferences"
 +msgstr "You have changed your theme preferences."
  
  msgid "that language does not seem to be installed"
 -msgstr "that language does not seem to be installed"
 +msgstr "That language does not seem to be installed."
  
  msgid "you have changed your language preferences"
 -msgstr "you have changed your language preferences"
 +msgstr "You have changed your language preferences."
  
  msgid "login failed: you have to fill all fields"
 -msgstr "login failed: you have to fill all fields"
 +msgstr "Login failed: you have to fill all fields."
  
  msgid "welcome to your wallabag"
 -msgstr "welcome to your wallabag"
 +msgstr "Welcome to your wallabag."
  
  msgid "login failed: bad login or password"
 -msgstr "login failed: bad login or password"
 +msgstr "Login failed: bad login or password."
  
  msgid "import from instapaper completed"
 -msgstr "import from instapaper completed"
 +msgstr "Import from Instapaper completed."
  
  msgid "import from pocket completed"
 -msgstr "import from pocket completed"
 +msgstr "Import from Pocket completed."
  
  msgid "import from Readability completed. "
 -msgstr "import from Readability completed. "
 +msgstr "Import from Readability completed."
  
  msgid "import from Poche completed. "
 -msgstr "import from Poche completed. "
 +msgstr "Import from Poche completed. "
  
  msgid "Unknown import provider."
  msgstr "Unknown import provider."
@@@ -567,7 -519,7 +583,7 @@@ msgid "Could not find required \"
  msgstr "Could not find required \""
  
  msgid "Uh, there is a problem while generating feeds."
 -msgstr "Uh, there is a problem while generating feeds."
 +msgstr "There is a problem generating feeds."
  
  msgid "Cache deleted."
  msgstr "Cache deleted."
  msgid "Oops, it seems you don't have PHP 5."
  msgstr "Oops, it seems you don't have PHP 5."
  
 +msgid "Add user"
 +msgstr "Add User"
 +
 +msgid "Add a new user :"
 +msgstr "Add a new user:"
 +
 +msgid "Login for new user"
 +msgstr "Login for new user:"
 +
 +msgid "Password for new user"
 +msgstr "Password for new user:"
 +
 +msgid "Email for new user (not required)"
 +msgstr "Email for new user (not required):"
 +
 +msgid "Send"
 +msgstr "Send"
 +
 +msgid "Delete account"
 +msgstr "Delete Account"
 +
 +msgid "You can delete your account by entering your password and validating."
 +msgstr "You can delete your account by entering your password and validating."
 +
 +msgid "Be careful, data will be erased forever (that is a very long time)."
 +msgstr "Be careful, data will be erased forever (that is a very long time)."
 +
 +msgid "Type here your password"
 +msgstr "Enter your password"
 +
 +msgid "You are the only user, you cannot delete your own account."
 +msgstr "You are the only user, you cannot delete your own account."
 +
 +msgid ""
 +"To completely remove wallabag, delete the wallabag folder on your web server "
 +"(and eventual databases)."
 +msgstr ""
 +"To completely remove wallabag, delete the wallabag folder on your web server "
 +"(and eventual databases)."
 +
 +msgid "Enter your search here"
 +msgstr "Enter your search here"
 +
 +msgid "Tag these results as"
 +msgstr "Tag these results as"
 +
 +# ebook
  msgid "Fancy an E-Book ?"
 -msgstr "Fancy an E-Book ?"
 +msgstr "Fancy an E-Book?"
  
- msgid ""
- "Click on <a href=\"./?epub&amp;method=all\" title=\"Generate ePub\">this "
- "link</a> to get all your articles in one ebook (ePub 3 format)."
- msgstr ""
- "Click on <a href=\"./?epub&amp;method=all\" title=\"Generate EPUB\">this "
- "link</a> to get all your articles in one ebook (EPUB 3 format)."
+ msgid "Click to get all your articles in one ebook :"
+ msgstr "Click to get all your articles in one ebook :"
+ msgid "Generate ePub file"
+ msgstr "Generate ePub file"
+ msgid "Generate Mobi file"
+ msgstr "Generate Mobi file"
+ msgid "Generate PDF file"
+ msgstr "Generate PDF file"
  
  msgid ""
  "This can <b>take a while</b> and can <b>even fail</b> if you have too many "
@@@ -639,14 -549,96 +660,96 @@@ msgstr "
  "This can <b>take a while</b> and can <b>even fail</b> if you have too many "
  "articles, depending on your server configuration."
  
- msgid "Download the articles from this tag in an epub"
- msgstr "Download the articles from this tag in an EPUB"
+ msgid "Download the articles from this tag in an ePub file"
+ msgstr "Download the articles from this tag in an ePub file"
+ msgid "Download the articles from this tag in an Mobi file"
+ msgstr "Download the articles from this tag in an Mobi file"
+ msgid "Download the articles from this tag in an PDF file"
+ msgstr "Download the articles from this tag in an PDF file"
+ msgid "Download the articles from this search in an ePub"
+ msgstr "Download the articles from this search in an ePub"
+ msgid "Download the articles from this search in a Mobi file"
+ msgstr "Download the articles from this search in a Mobi file"
+ msgid "Download the articles from this search in a PDF file"
+ msgstr "Download the articles from this search in a PDF file"
+ msgid "Download the articles from this category in an ePub"
+ msgstr "Download the articles from this category in an ePub"
+ msgid "Download the articles from this category in a Mobi file"
+ msgstr "Download the articles from this category in a Mobi file"
+ msgid "Download the articles from this category in a PDF file"
+ msgstr "Download the articles from this category in a PDF file"
+ msgid "Download as ePub3"
+ msgstr "Download as ePub3"
+ msgid "Download as Mobi"
+ msgstr "Download as Mobi"
+ msgid "Download as PDF"
+ msgstr "Download as PDF"
+ msgid "All my articles on %s"
+ msgstr "All my articles on %s"
+ msgid "Allarticles"
+ msgstr "Allarticles"
+ msgid "Articles tagged %s"
+ msgstr "Articles tagged %s"
+ msgid "Tag %s"
+ msgstr "Tag %s"
+ msgid "Articles in category %s"
+ msgstr "All articles in category %s"
+ msgid "Category %s"
+ msgstr "Category %s"
+ msgid "Articles for search %s"
+ msgstr "All articles for search %s"
+ msgid "Search %s"
+ msgstr "Search %s"
+ msgid "wallabag articles book"
+ msgstr "wallabag articles book"
+ msgid "Some articles saved on my wallabag"
+ msgstr "Some articles saved on my wallabag"
+ msgid "Produced by wallabag with PHPePub"
+ msgstr "Produced by wallabag with PHPePub"
+ msgid ""
+ "Please open <a href='https://github.com/wallabag/wallabag/issues'>an issue</"
+ "a> if you have trouble with the display of this E-Book on your device."
+ msgstr ""
+ "Please open <a href='https://github.com/wallabag/wallabag/issues'>an issue</"
+ "a> if you have trouble with the display of this E-Book on your device."
+ msgid "Produced by wallabag with PHPMobi"
+ msgstr "Produced by wallabag with PHPMobi"
+ msgid "Mail function is disabled. You can't send emails from your server"
+ msgstr "Mail function is disabled. You can't send emails from your server"
+ msgid "You didn't set your kindle's email adress !"
+ msgstr "You didn't set your kindle's email adress !"
  
- msgid "Download the articles from this search in an epub"
- msgstr "Download the articles from this search in an EPUB"
+ msgid "The email has been sent to your kindle !"
+ msgstr "The email has been sent to your kindle !"
  
- msgid "Download the articles from this category in an epub"
- msgstr "Download the articles from this category in an EPUB"
+ msgid "Produced by wallabag with mPDF"
+ msgstr "Produced by wallabag with mPDF"
  
  #~ msgid "poche it!"
  #~ msgstr "poche it!"
index a09b4f37252b5d2571996f2a9547cfe713e4b68f,0000000000000000000000000000000000000000..77dee0708e05000ddd0974f722d78e7aa7d22960
mode 100644,000000..100644
Binary files differ
index 25c3aa262320b9b7f06db4aa291d4a0ad28639ec,0000000000000000000000000000000000000000..579d1acad746094155e6faad03e9270431d84405
mode 100644,000000..100644
--- /dev/null
@@@ -1,666 -1,0 +1,682 @@@
- "Last-Translator: tcit <tcit@openmailbox.org>\n"
 +msgid ""
 +msgstr ""
 +"Project-Id-Version: wallabag\n"
 +"Report-Msgid-Bugs-To: \n"
 +"POT-Creation-Date: 2014-02-25 15:17+0300\n"
 +"PO-Revision-Date: \n"
- msgstr "You can <a href=\"#cache\">clear the cache</a> to check for the latest release."
++"Last-Translator: Thomas Citharel <tcit@openmailbox.org>\n"
 +"Language-Team: \n"
 +"Language: en_US\n"
 +"MIME-Version: 1.0\n"
 +"Content-Type: text/plain; charset=UTF-8\n"
 +"Content-Transfer-Encoding: 8bit\n"
 +"X-Generator: Poedit 1.5.4\n"
 +"X-Poedit-Basepath: .\n"
 +
 +msgid "wallabag, a read it later open source system"
 +msgstr "wallabag, a read it later open source system"
 +
 +msgid "login failed: user doesn't exist"
 +msgstr "Login failed: user doesn't exist"
 +
 +msgid "return home"
 +msgstr "Return Home"
 +
 +msgid "config"
 +msgstr "Config"
 +
 +msgid "Saving articles"
 +msgstr "Saving articles"
 +
 +msgid "There are several ways to save an article:"
 +msgstr "There are several ways to save an article:"
 +
 +msgid "read the documentation"
 +msgstr "Read the documentation"
 +
 +msgid "download the extension"
 +msgstr "Download the extension"
 +
 +msgid "Firefox Add-On"
 +msgstr "Firefox Add-On"
 +
 +msgid "Chrome Extension"
 +msgstr "Chrome Extension"
 +
 +msgid "via F-Droid"
 +msgstr "via F-Droid"
 +
 +msgid " or "
 +msgstr " or "
 +
 +msgid "via Google Play"
 +msgstr "via Google Play"
 +
 +msgid "download the application"
 +msgstr "Download the application"
 +
 +msgid "By filling this field"
 +msgstr "By filling this field"
 +
 +msgid "bag it!"
 +msgstr "bag it!"
 +
 +msgid "Bookmarklet: drag & drop this link to your bookmarks bar"
 +msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar"
 +
 +msgid "Upgrading wallabag"
 +msgstr "Upgrading wallabag"
 +
 +msgid "Installed version"
 +msgstr "Installed version"
 +
 +msgid "Latest stable version"
 +msgstr "Latest stable version"
 +
 +msgid "A more recent stable version is available."
 +msgstr "A more recent stable version is available."
 +
 +msgid "You are up to date."
 +msgstr "You are up to date."
 +
 +msgid "Latest dev version"
 +msgstr "Latest dev version"
 +
 +msgid "A more recent development version is available."
 +msgstr "A more recent development version is available."
 +
 +msgid "You can clear cache to check the latest release."
- msgstr ""
- "<a href='?feed&amp;action=generate'>Regenerate Token</a>"
++msgstr ""
++"You can <a href=\"#cache\">clear the cache</a> to check for the latest "
++"release."
 +
 +msgid "Feeds"
 +msgstr "Feeds"
 +
 +msgid ""
 +"Your feed token is currently empty and must first be generated to enable "
 +"feeds. Click <a href='?feed&amp;action=generate'>here to generate it</a>."
 +msgstr ""
 +"Your feed token is currently empty and must first be generated to enable "
 +"feeds. Click <a href='?feed&amp;action=generate'>here to generate it</a>."
 +
 +msgid "Unread feed"
 +msgstr "Unread feed"
 +
 +msgid "Favorites feed"
 +msgstr "Favorites feed"
 +
 +msgid "Archive feed"
 +msgstr "Archive feed"
 +
 +msgid "Your token:"
 +msgstr "Your token:"
 +
 +msgid "Your user id:"
 +msgstr "Your user ID:"
 +
 +msgid ""
 +"You can regenerate your token: <a href='?feed&amp;action=generate'>generate!"
 +"</a>."
- msgid "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format."
- msgstr "You can import your Pocket, Readability, Instapaper, wallabag or any file in appropriate JSON or HTML format."
++msgstr "<a href='?feed&amp;action=generate'>Regenerate Token</a>"
 +
 +msgid "Change your theme"
 +msgstr "Change Your Theme"
 +
 +msgid "Theme:"
 +msgstr "Theme:"
 +
 +msgid "Update"
 +msgstr "Update"
 +
 +msgid "Change your language"
 +msgstr "Change Your Language"
 +
 +msgid "Language:"
 +msgstr "Language:"
 +
 +msgid "Change your password"
 +msgstr "Change Your Password"
 +
 +msgid "New password:"
 +msgstr "New password:"
 +
 +msgid "Password"
 +msgstr "Password"
 +
 +msgid "Repeat your new password:"
 +msgstr "Repeat your new password:"
 +
 +msgid "Import"
 +msgstr "Import"
 +
- msgid "Please select export file on your computer and press \"Import\" button below. Wallabag will parse your file, insert all URLs and start fetching of articles if required."
- msgstr "Please select export file on your computer and press &ldquo;Import&rdquo; button below. wallabag will parse your file, insert all URLs and start fetching of articles if required."
++msgid ""
++"You can import your Pocket, Readability, Instapaper, Wallabag or any data in "
++"appropriate json or html format."
++msgstr ""
++"You can import your Pocket, Readability, Instapaper, wallabag or any file in "
++"appropriate JSON or HTML format."
 +
 +msgid ""
 +"Please execute the import script locally as it can take a very long time."
 +msgstr ""
 +"Please execute the import script locally as it can take a very long time."
 +
- msgid "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)"
- msgstr "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)"
++msgid ""
++"Please select export file on your computer and press \"Import\" button "
++"below. Wallabag will parse your file, insert all URLs and start fetching of "
++"articles if required."
++msgstr ""
++"Please select export file on your computer and press &ldquo;Import&rdquo; "
++"button below. wallabag will parse your file, insert all URLs and start "
++"fetching of articles if required."
 +
 +msgid "You can click here to fetch content for articles with no content."
 +msgstr "Fetch content for articles with no content"
 +
 +msgid "More info in the official documentation:"
 +msgstr "More info in the official documentation:"
 +
- "To completely remove wallabag, delete the wallabag folder and database(s) from your web server."
++msgid ""
++"(<a href=\"http://doc.wallabag.org/en/User_documentation/"
++"Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)"
++msgstr ""
++"(<a href=\"http://doc.wallabag.org/en/User_documentation/"
++"Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)"
 +
 +msgid "Import from Pocket"
 +msgstr "Import from Pocket"
 +
 +#, php-format
 +msgid "(you must have a %s file on your server)"
 +msgstr "(you must have a %s file on your server)"
 +
 +msgid "Import from Readability"
 +msgstr "Import from Readability"
 +
 +msgid "Import from Instapaper"
 +msgstr "Import from Instapaper"
 +
 +msgid "Import from wallabag"
 +msgstr "Import from wallabag"
 +
 +msgid "Export your wallabag data"
 +msgstr "Export your wallabag data"
 +
 +msgid "Click here"
 +msgstr "Click here"
 +
 +msgid "to download your database."
 +msgstr "to download your database."
 +
 +msgid "to export your wallabag data."
 +msgstr "to export your wallabag data."
 +
 +msgid "Export JSON"
 +msgstr "Export JSON"
 +
 +msgid "Cache"
 +msgstr "Cache"
 +
 +msgid "to delete cache."
 +msgstr "to delete cache."
 +
 +msgid "Delete Cache"
 +msgstr "Delete Cache"
 +
 +msgid "You can enter multiple tags, separated by commas."
 +msgstr "You can enter multiple tags, separated by commas."
 +
 +msgid "Add tags:"
 +msgstr "Add tags:"
 +
 +msgid "no tags"
 +msgstr "no tags"
 +
 +msgid "The tag has been applied successfully"
 +msgstr "The tag has been applied successfully"
 +
 +msgid "interview"
 +msgstr "interview"
 +
 +msgid "editorial"
 +msgstr "editorial"
 +
 +msgid "video"
 +msgstr "video"
 +
 +msgid "return to article"
 +msgstr "Return to article"
 +
 +msgid "plop"
 +msgstr "plop"
 +
 +msgid ""
 +"You can <a href='wallabag_compatibility_test.php'>check your configuration "
 +"here</a>."
 +msgstr ""
 +"You can <a href='wallabag_compatibility_test.php'>check your configuration "
 +"here</a>."
 +
 +msgid "favoris"
 +msgstr "Favorites"
 +
 +msgid "archive"
 +msgstr "Archive"
 +
 +msgid "unread"
 +msgstr "Unread"
 +
 +msgid "by date asc"
 +msgstr "by date asc"
 +
 +msgid "by date"
 +msgstr "by date"
 +
 +msgid "by date desc"
 +msgstr "by date desc"
 +
 +msgid "by title asc"
 +msgstr "by title asc"
 +
 +msgid "by title"
 +msgstr "by title"
 +
 +msgid "by title desc"
 +msgstr "by title desc"
 +
 +msgid "Tag"
 +msgstr "Tag"
 +
 +msgid "No articles found."
 +msgstr "No articles found."
 +
 +msgid "Toggle mark as read"
 +msgstr "Toggle mark as read"
 +
 +msgid "toggle favorite"
 +msgstr "Toggle favorite"
 +
 +msgid "delete"
 +msgstr "Delete"
 +
 +msgid "original"
 +msgstr "Original"
 +
 +msgid "estimated reading time:"
 +msgstr "Estimated reading time:"
 +
 +msgid "mark all the entries as read"
 +msgstr "Mark all the entries as read"
 +
 +msgid "results"
 +msgstr "Results"
 +
 +msgid "installation"
 +msgstr "Installation"
 +
 +msgid "install your wallabag"
 +msgstr "Install your wallabag"
 +
 +msgid ""
 +"wallabag is still not installed. Please fill the below form to install it. "
 +"Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation "
 +"on wallabag website</a>."
 +msgstr ""
 +"wallabag is still not installed. Please fill the below form to install it. "
 +"Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation "
 +"on wallabag website</a>."
 +
 +msgid "Login"
 +msgstr "Login"
 +
 +msgid "Repeat your password"
 +msgstr "Repeat your password"
 +
 +msgid "Install"
 +msgstr "Install"
 +
 +msgid "login to your wallabag"
 +msgstr "Login to your wallabag"
 +
 +msgid "Login to wallabag"
 +msgstr "Login to wallabag"
 +
 +msgid "you are in demo mode, some features may be disabled."
 +msgstr "You are in demo mode; some features may be disabled."
 +
 +msgid "Username"
 +msgstr "Username"
 +
 +msgid "Stay signed in"
 +msgstr "Stay signed in"
 +
 +msgid "(Do not check on public computers)"
 +msgstr "(Do not check on public computers)"
 +
 +msgid "Sign in"
 +msgstr "Sign in"
 +
 +msgid "favorites"
 +msgstr "Favorites"
 +
 +msgid "estimated reading time :"
 +msgstr "Estimated reading time:"
 +
 +msgid "Mark all the entries as read"
 +msgstr "Mark all the entries as read"
 +
 +msgid "Return home"
 +msgstr "Return home"
 +
 +msgid "Back to top"
 +msgstr "Back to top"
 +
 +msgid "Mark as read"
 +msgstr "Mark as read"
 +
 +msgid "Favorite"
 +msgstr "Favorite"
 +
 +msgid "Toggle favorite"
 +msgstr "Toggle favorite"
 +
 +msgid "Delete"
 +msgstr "Delete"
 +
 +msgid "Tweet"
 +msgstr "Tweet"
 +
 +msgid "Email"
 +msgstr "Email"
 +
 +msgid "shaarli"
 +msgstr "shaarli"
 +
 +msgid "flattr"
 +msgstr "flattr"
 +
 +msgid "Does this article appear wrong?"
 +msgstr "Does this article appear wrong?"
 +
 +msgid "tags:"
 +msgstr "tags:"
 +
 +msgid "Edit tags"
 +msgstr "Edit Tags"
 +
 +msgid "save link!"
 +msgstr "Save Link"
 +
 +msgid "home"
 +msgstr "Home"
 +
 +msgid "tags"
 +msgstr "Tags"
 +
 +msgid "logout"
 +msgstr "Logout"
 +
 +msgid "powered by"
 +msgstr "Powered by"
 +
 +msgid "debug mode is on so cache is off."
 +msgstr "Debug mode is on, so cache is off."
 +
 +msgid "your wallabag version:"
 +msgstr "Your wallabag version:"
 +
 +msgid "storage:"
 +msgstr "Storage:"
 +
 +msgid "save a link"
 +msgstr "Save a Link"
 +
 +msgid "back to home"
 +msgstr "Back to Home"
 +
 +msgid "toggle mark as read"
 +msgstr "Toggle mark as read"
 +
 +msgid "tweet"
 +msgstr "Tweet"
 +
 +msgid "email"
 +msgstr "Email"
 +
 +msgid "this article appears wrong?"
 +msgstr "This article appears wrong?"
 +
 +msgid "No link available here!"
 +msgstr "No link available here"
 +
 +msgid "Poching a link"
 +msgstr "bagging a link"
 +
 +msgid "by filling this field"
 +msgstr "by filling this field"
 +
 +msgid "bookmarklet: drag & drop this link to your bookmarks bar"
 +msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar"
 +
 +msgid "Drag &amp; drop this link to your bookmarks bar:"
 +msgstr "Drag &amp; drop this link to your bookmarks bar:"
 +
 +msgid "your version"
 +msgstr "your version"
 +
 +msgid "latest stable version"
 +msgstr "latest stable version"
 +
 +msgid "a more recent stable version is available."
 +msgstr "A more recent stable version is available."
 +
 +msgid "you are up to date."
 +msgstr "You are up to date."
 +
 +msgid "latest dev version"
 +msgstr "latest dev version"
 +
 +msgid "a more recent development version is available."
 +msgstr "A more recent development version is available."
 +
 +msgid "Please execute the import script locally, it can take a very long time."
 +msgstr ""
 +"Please execute the import script locally, it can take a very long time."
 +
 +msgid "More infos in the official doc:"
 +msgstr "More information in the official doc:"
 +
 +msgid "import from Pocket"
 +msgstr "Import from Pocket"
 +
 +msgid "import from Readability"
 +msgstr "Import from Readability"
 +
 +msgid "import from Instapaper"
 +msgstr "Import from Instapaper"
 +
 +msgid "Tags"
 +msgstr "Tags"
 +
 +msgid "Untitled"
 +msgstr "Untitled"
 +
 +msgid "the link has been added successfully"
 +msgstr "The link has been added successfully."
 +
 +msgid "error during insertion : the link wasn't added"
 +msgstr "Error during insertion: the link wasn't added."
 +
 +msgid "the link has been deleted successfully"
 +msgstr "The link has been deleted successfully."
 +
 +msgid "the link wasn't deleted"
 +msgstr "The link wasn't deleted."
 +
 +msgid "Article not found!"
 +msgstr "Article not found."
 +
 +msgid "previous"
 +msgstr "Previous"
 +
 +msgid "next"
 +msgstr "Next"
 +
 +msgid "in demo mode, you can't update your password"
 +msgstr "In demo mode, you can't update your password."
 +
 +msgid "your password has been updated"
 +msgstr "Your password has been updated."
 +
 +msgid ""
 +"the two fields have to be filled & the password must be the same in the two "
 +"fields"
 +msgstr ""
 +"The two fields must be filled, and the password must be the same in both "
 +"fields"
 +
 +msgid "still using the \""
 +msgstr "Still using the \""
 +
 +msgid "that theme does not seem to be installed"
 +msgstr "That theme does not seem to be installed."
 +
 +msgid "you have changed your theme preferences"
 +msgstr "You have changed your theme preferences."
 +
 +msgid "that language does not seem to be installed"
 +msgstr "That language does not seem to be installed."
 +
 +msgid "you have changed your language preferences"
 +msgstr "You have changed your language preferences."
 +
 +msgid "login failed: you have to fill all fields"
 +msgstr "Login failed: you have to fill all fields."
 +
 +msgid "welcome to your wallabag"
 +msgstr "Welcome to your wallabag."
 +
 +msgid "login failed: bad login or password"
 +msgstr "Login failed: bad login or password."
 +
 +msgid "import from instapaper completed"
 +msgstr "Import from Instapaper completed."
 +
 +msgid "import from pocket completed"
 +msgstr "Import from Pocket completed."
 +
 +msgid "import from Readability completed. "
 +msgstr "Import from Readability completed."
 +
 +msgid "import from Poche completed. "
 +msgstr "Import from Poche completed. "
 +
 +msgid "Unknown import provider."
 +msgstr "Unknown import provider."
 +
 +msgid "Incomplete inc/poche/define.inc.php file, please define \""
 +msgstr "Incomplete inc/poche/define.inc.php file, please define \""
 +
 +msgid "Could not find required \""
 +msgstr "Could not find required \""
 +
 +msgid "Uh, there is a problem while generating feeds."
 +msgstr "There is a problem generating feeds."
 +
 +msgid "Cache deleted."
 +msgstr "Cache deleted."
 +
 +msgid "Oops, it seems you don't have PHP 5."
 +msgstr "Oops, it seems you don't have PHP 5."
 +
 +msgid "Add user"
 +msgstr "Add User"
 +
 +msgid "Add a new user :"
 +msgstr "Add a new user:"
 +
 +msgid "Login for new user"
 +msgstr "Login for new user:"
 +
 +msgid "Password for new user"
 +msgstr "Password for new user:"
 +
 +msgid "Email for new user (not required)"
 +msgstr "Email for new user (not required):"
 +
 +msgid "Send"
 +msgstr "Send"
 +
 +msgid "Delete account"
 +msgstr "Delete Account"
 +
 +msgid "You can delete your account by entering your password and validating."
 +msgstr "You can delete your account by entering your password and validating."
 +
 +msgid "Be careful, data will be erased forever (that is a very long time)."
 +msgstr "Be careful, data will be erased forever (that is a very long time)."
 +
 +msgid "Type here your password"
 +msgstr "Enter your password"
 +
 +msgid "You are the only user, you cannot delete your own account."
 +msgstr "You cannot delete your account because you are the only user."
 +
 +msgid ""
 +"To completely remove wallabag, delete the wallabag folder on your web server "
 +"(and eventual databases)."
 +msgstr ""
++"To completely remove wallabag, delete the wallabag folder and database(s) "
++"from your web server."
 +
 +msgid "Enter your search here"
 +msgstr "Enter your search here"
 +
 +msgid "Tag these results as"
 +msgstr "Tag these results as"
 +
 +# ebook
 +msgid "Fancy an E-Book ?"
 +msgstr "Fancy an E-Book?"
 +
 +msgid ""
 +"Click on <a href=\"./?epub&amp;method=all\" title=\"Generate ePub\">this "
 +"link</a> to get all your articles in one ebook (ePub 3 format)."
 +msgstr ""
 +"Click on <a href=\"./?epub&amp;method=all\" title=\"Generate EPUB\">this "
 +"link</a> to get all your articles in one ebook (EPUB 3 format)."
 +
 +msgid ""
 +"This can <b>take a while</b> and can <b>even fail</b> if you have too many "
 +"articles, depending on your server configuration."
 +msgstr ""
 +"This can <b>take a while</b> and can <b>even fail</b> if you have too many "
 +"articles, depending on your server configuration."
 +
 +msgid "Download the articles from this tag in an epub"
 +msgstr "Download the articles from this tag in an EPUB"
 +
 +msgid "Download the articles from this search in an epub"
 +msgstr "Download the articles from this search in an EPUB"
 +
 +msgid "Download the articles from this category in an epub"
 +msgstr "Download the articles from this category in an EPUB"
 +
 +#~ msgid "poche it!"
 +#~ msgstr "poche it!"
 +
 +#~ msgid "Updating poche"
 +#~ msgstr "Updating poche"
 +
 +#~ msgid "create an issue"
 +#~ msgstr "create an issue"
 +
 +#~ msgid "or"
 +#~ msgstr "or"
 +
 +#~ msgid "contact us by mail"
 +#~ msgstr "contact us by mail"
 +
 +#~ msgid "your poche version:"
 +#~ msgstr "your poche version:"
index da087516d80aed792f03751f1ff39d968c4f8efe,6dfcdd37d5bbf3cbad80d59afd66b41b2897b962..eed260b2e0a008835e8fcc661fb8d2035da8dc1b
Binary files differ
index 3d031967bafe7da7c703024f6e48ba52e3f70f1f,59dc29d6d6e57d6cdecf787e5d7307808ee6175c..4bdb3cd583d1220fafbd9e3c1dfd0470698a14e5
@@@ -1,10 -1,10 +1,10 @@@
  msgid ""
  msgstr ""
- "Project-Id-Version: wallabag 1.7\n"
+ "Project-Id-Version: wallabag 1.7.2\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2014-05-10 20:09+0100\n"
+ "POT-Creation-Date: 2014-07-26 20:09+0100\n"
  "PO-Revision-Date: \n"
- "Last-Translator: tcit <tcit@openmailbox.org>\n"
 -"Last-Translator: tcit <tcit@tcit.fr>\n"
++"Last-Translator: Thomas Citharel <tcit@openmailbox.org>\n"
  "Language-Team: \n"
  "Language: fr_FR\n"
  "MIME-Version: 1.0\n"
@@@ -12,7 -12,7 +12,7 @@@
  "Content-Transfer-Encoding: 8bit\n"
  "X-Poedit-KeywordsList: _;gettext;gettext_noop\n"
  "X-Poedit-SourceCharset: UTF-8\n"
 -"X-Generator: Poedit 1.6.4\n"
 +"X-Generator: Poedit 1.5.4\n"
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
  
  msgid "wallabag, a read it later open source system"
@@@ -298,9 -298,6 +298,9 @@@ msgstr "Nom d'utilisateur
  msgid "Password for new user"
  msgstr "Mot de passe du nouvel utilisateur"
  
 +msgid "Email for new user (not required)"
 +msgstr "E-mail pour le nouvel utilisateur (facultatif)"
 +
  msgid "Send"
  msgstr "Envoyer"
  
@@@ -323,12 -320,10 +323,12 @@@ msgstr "
  "Vous êtes l'unique utilisateur, vous ne pouvez pas supprimer votre compte."
  
  msgid ""
 -"To completely remove wallabag, delete the wallabag folder on your web server."
 +"To completely remove wallabag, delete the wallabag folder on your web server "
 +"(and eventual databases)."
  msgstr ""
  "Pour désinstaller complètement wallabag, supprimez le répertoire "
 -"<code>wallabag</code> de votre serveur Web."
 +"<code>wallabag</code> de votre serveur Web (ainsi que les bases de données "
 +"éventuelles)."
  
  msgid "Save a link"
  msgstr "Ajouter un lien"
@@@ -372,24 -367,6 +372,24 @@@ msgstr "Cet article s'affiche mal ?
  msgid "tags:"
  msgstr "tags :"
  
 +msgid "Add tags:"
 +msgstr "Ajouter des tags :"
 +
 +msgid "no tags"
 +msgstr "pas de tags"
 +
 +msgid "The tag has been applied successfully"
 +msgstr "Le tag a été appliqué avec succès"
 +
 +msgid "interview"
 +msgstr "interview"
 +
 +msgid "editorial"
 +msgstr "éditorial"
 +
 +msgid "video"
 +msgstr "vidéo"
 +
  msgid "Edit tags"
  msgstr "Modifier les tags"
  
@@@ -674,32 -651,118 +674,131 @@@ msgstr "Cache effacé.
  msgid "Oops, it seems you don't have PHP 5."
  msgstr "Oups, vous ne semblez pas avoir PHP 5."
  
 +msgid "Tag these results as"
 +msgstr "Appliquer à ces résultats le tag"
 +
 +# ebook
  msgid "Fancy an E-Book ?"
  msgstr "Envie d'un E-Book ?"
  
- msgid ""
- "Click on <a href=\"./?epub&amp;method=all\" title=\"Generate ePub\">this "
- "link</a> to get all your articles in one ebook (ePub 3 format)."
- msgstr ""
- "Cliquez sur <a href=\"./?epub&amp;method=all\" title=\"Générer ePub\">ce "
- "lien</a> pour obtenir tous vos articles (format ePub 3)."
+ msgid "Click to get all your articles in one ebook :"
+ msgstr "Cliquez pour obtenir tous vos articles dans un E-Book :"
+ msgid "Generate ePub file"
+ msgstr "Générer fichier ePub"
+ msgid "Generate Mobi file"
+ msgstr "Générer fichier Mobi"
+ msgid "Generate PDF file"
+ msgstr "Générer fichier PDF"
  
  msgid ""
  "This can <b>take a while</b> and can <b>even fail</b> if you have too many "
  "articles, depending on your server configuration."
  msgstr ""
 -"Ceci peut <b>prendre un moment</b> et peut <b>même échouer</b> si vous avez "
 -"trop d'articles, selon la configuration de votre serveur."
 +"Ceci peut <b>prendre un moment</b> et même <b>échouer</b> si vous avez trop "
- "d'articles, selon la configuration de votre serveur."
++"d'articles, selon la configuration matérielle de votre serveur."
 +
 +msgid "Download the articles from this tag in an epub"
 +msgstr "Télécharger les articles de ce tag dans un epub"
 +
 +msgid "Download the articles from this search in an epub"
 +msgstr "Télécharger les articles de cette recherche dans un epub"
 +
 +msgid "Download the articles from this category in an epub"
 +msgstr "Télécharger les articles de cette catégorie dans un epub"
+ msgid "Download the articles from this tag in an ePub file"
+ msgstr "Télécharger les articles de ce tag dans un fichier ePub"
+ msgid "Download the articles from this tag in an Mobi file"
+ msgstr "Télécharger les articles de ce tag dans un fichier Mobi"
+ msgid "Download the articles from this tag in an PDF file"
+ msgstr "Télécharger les articles de ce tag dans un fichier PDF"
+ msgid "Download the articles from this search in an ePub"
+ msgstr "Télécharger les articles de cette recherche dans un fichier ePub"
+ msgid "Download the articles from this search in a Mobi file"
+ msgstr "Télécharger les articles de cette recherche dans un fichier Mobi"
+ msgid "Download the articles from this search in a PDF file"
+ msgstr "Télécharger les articles de cette recherche dans un fichier PDF"
+ msgid "Download the articles from this category in an ePub"
+ msgstr "Télécharger les articles de cette catégorie dans un fichier ePub"
+ msgid "Download the articles from this category in a Mobi file"
+ msgstr "Télécharger les articles de cette catégorie dans un fichier Mobi"
+ msgid "Download the articles from this category in a PDF file"
+ msgstr "Télécharger les articles de cette catégorie dans un fichier PDF"
+ msgid "Download as ePub3"
+ msgstr "Télécharger en ePub3"
+ msgid "Download as Mobi"
+ msgstr "Télécharger en Mobi"
+ msgid "Download as PDF"
+ msgstr "Télécharger en PDF"
+ msgid "All my articles on %s"
+ msgstr "Tous mes articles le %s"
+ msgid "Allarticles"
+ msgstr "TousArticles"
+ msgid "Articles tagged %s"
+ msgstr "Articles avec le tag %s"
+ msgid "Tag %s"
+ msgstr "Tag %s"
+ msgid "Articles in category %s"
+ msgstr "Articles de la catégorie %s"
+ msgid "Category %s"
+ msgstr "Catégorie %s"
+ msgid "Articles for search %s"
+ msgstr "Articles pour la recherche %s"
+ msgid "Search %s"
+ msgstr "Recherche %s"
+ msgid "wallabag articles book"
+ msgstr "Livre d'articles issus de wallabag"
+ msgid "Some articles saved on my wallabag"
+ msgstr "Des articles sauvegardés sur wallabag"
+ msgid "Produced by wallabag with PHPePub"
+ msgstr "Produit par wallabag avec PHPePub"
+ msgid ""
+ "Please open <a href='https://github.com/wallabag/wallabag/issues'>an issue</"
+ "a> if you have trouble with the display of this E-Book on your device."
+ msgstr ""
+ "Merci d'ouvrir <a href='https://github.com/wallabag/wallabag/issues'>un "
+ "ticket</a> si vous avez des problèmes d'affichage de cet E-Book sur votre "
+ "appareil."
+ msgid "Produced by wallabag with PHPMobi"
+ msgstr "Produit par wallabag avec PHPMobi"
+ msgid "Mail function is disabled. You can't send emails from your server"
+ msgstr ""
+ "La fonction mail est désactivée. Vous ne pouvez pas envoyer d'E-mails depuis "
+ "votre serveur"
+ msgid "You didn't set your kindle's email adress !"
+ msgstr "Vous n'avez pas renseigné l'adresse E-mail de votre Kindle !"
+ msgid "The email has been sent to your kindle !"
+ msgstr "L'E-mail a été envoyé à votre Kindle !"
+ msgid "Produced by wallabag with mPDF"
+ msgstr "Produit par wallabag avec mPDF"
diff --combined themes/baggy/config.twig
index 2b967cd4abaa7dc4b602a04eb4f444e348cdad1e,dda05c29928dbab4d7a91d29e6d19dabadb157de..a5a615597ec3cefb0dfd4e1c7822748eaa41e704
@@@ -6,29 -6,30 +6,29 @@@
  {% endblock %}
  {% block content %}
              <h2>{% trans "Saving articles" %}</h2>
 -            <p>{% trans "There are several ways to save an article:" %} (<a href="http://doc.wallabag.org/" title="{% trans "read the documentation" %}">?</a>)</p>
 +            <p>{% trans "There are several ways to save an article:" %} {% trans "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)" %}</p>
 +            <p>
 +                <form method="get" action="index.php">
 +                    <label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label><br>
 +                    <input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" />
 +                    <input type="submit" value="{% trans "bag it!" %}" />
 +                </form>
 +            </p>
 +            <h3>Browser Plugins</h3>
              <ul>
 -                <li>Firefox: <a href="https://addons.mozilla.org/firefox/addon/wallabag/" title="download the firefox extension">{% trans "download the extension" %}</a></li>
 -                <li>Chrome: <a href="http://doc.wallabag.org/doku.php?id=users:chrome_extension" title="download the chrome extension">{% trans "download the extension" %}</a></li>
 -                <li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" title="download the application">{% trans "via F-Droid" %}</a> {% trans " or " %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" title="download the application">{% trans "via Google Play" %}</a></li>
 -                <li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" title="download the iOS application">{% trans "download the application" %}</a></li>
 -                <li>Windows Phone: <a href="http://www.windowsphone.com/en-us/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450" title="download the window phone application">{% trans "download the application" %}</a></li>
 -                <li>
 -                    <form method="get" action="index.php">
 -                        <label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label>
 -                        <input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" />
 -                        <input type="submit" value="{% trans "bag it!" %}" />
 -                    </form>
 -                </li>
 -                <li>{% trans "Bookmarklet: drag &amp; drop this link to your bookmarks bar" %} <a id="bookmarklet" ondragend="this.click();" title="i am a bookmarklet, use me !" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "bag it!" %}</a></li>
 +                <li><a href="https://addons.mozilla.org/firefox/addon/wallabag/" target="_blank">{% trans "Firefox Add-On" %}</a></li>
 +                <li><a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj" target="_blank">{% trans "Chrome Extension" %}</a></li>
              </ul>
 -
 -            <h2>{% trans "Upgrading wallabag" %}</h2>
 +            <h3>Mobile Apps</h3>
              <ul>
 -                <li>{% trans "Installed version" %} : <strong>{{ constant('POCHE') }}</strong></li>
 -                <li>{% trans "Latest stable version" %} : {{ prod }}. {% if compare_prod == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent stable version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_prod }})</li>
 -                {% if constant('DEBUG_POCHE') == 1 %}<li>{% trans "Latest dev version" %} : {{ dev }}. {% if compare_dev == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent development version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_dev }}){% endif %}</li>
 +                <li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via F-Droid" %}</a> {% trans " or " %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via Google Play" %}</a></li>
 +                <li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{% trans "download the application" %}</a></li>
 +                <li>Windows Phone: <a href="http://www.windowsphone.com/en-us/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450" target="_blank">{% trans "download the application" %}</a></li>
              </ul>
 -            <p>{% trans "You can clear cache to check the latest release." %}</p>
 +                <h3>{% trans "Bookmarklet" %}</h3>
 +                <p>
 +                {% trans "Drag &amp; drop this link to your bookmarks bar:" %} <a id="bookmarklet" ondragend="this.click();" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "bag it!" %}</a>
 +                </p>
  
              <h2>{% trans "Feeds" %}</h2>
              {% if token == '' %}
                  <li><a href="?feed&amp;type=fav&amp;user_id={{ user_id }}&amp;token={{ token }}" target="_blank">{% trans "Favorites feed" %}</a></li>
                  <li><a href="?feed&amp;type=archive&amp;user_id={{ user_id }}&amp;token={{ token }}" target="_blank">{% trans "Archive feed" %}</a></li>
              </ul>
 -            <p>{% trans "Your token:" %} <strong>{{token}}</strong></p>
 -            <p>{% trans "Your user id:" %} <strong>{{user_id}}</strong></p>
 -            <p>{% trans "You can regenerate your token: <a href='?feed&amp;action=generate'>generate!</a>." %}</p>
 +            <p class="more-info">
 +              {% trans "Your token:" %} <strong>{{token}}</strong><br>
 +              {% trans "Your user id:" %} <strong>{{user_id}}</strong><br>
 +              {% trans "You can regenerate your token: <a href='?feed&amp;action=generate'>generate!</a>." %}
 +            </p>
              {% endif %}
  
              <h2>{% trans "Change your theme" %}</h2>
                  <input type="hidden" name="token" value="{{ token }}">
              </form>
  
 -            {% if http_auth == 0 %}
 -            <h2>{% trans "Change your password" %}</h2>
 -            <form method="post" action="?config" name="loginform">
 -                <fieldset class="w500p">
 -                    <div class="row">
 -                        <label class="col w150p" for="password">{% trans "New password:" %}</label>
 -                        <input class="col" type="password" id="password" name="password" placeholder="{% trans "Password" %}" tabindex="2">
 -                    </div>
 -                    <div class="row">
 -                        <label class="col w150p" for="password_repeat">{% trans "Repeat your new password:" %}</label>
 -                        <input class="col" type="password" id="password_repeat" name="password_repeat" placeholder="{% trans "Password" %}" tabindex="3">
 -                    </div>
 -                    <div class="row mts txtcenter">
 -                        <button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button>
 -                    </div>
 -                </fieldset>
 -                <input type="hidden" name="returnurl" value="{{ referer }}">
 -                <input type="hidden" name="token" value="{{ token }}">
 -            </form>
 -            {% endif %}
 -
 -            <h2>{% trans "Import" %}</h2>
 +            <h2><a name="import"></a>{% trans "Import" %}</h2>
              <p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p>
 -            <p>{% trans "Please select export file on your computer and press \"Import\" button below.<br>Wallabag will parse your file, insert all URLs and start fetching of articles if required.<br>Fetching process is controlled by two constants in your config file: IMPORT_LIMIT (how many articles are fetched at once) and IMPORT_DELAY (delay between fetch of next batch of articles)." %}</p>
 +            <p>{% trans "Please select export file on your computer and press \"Import\" button below. Wallabag will parse your file, insert all URLs and start fetching of articles if required." %}</p>
              <form method="post" action="?import" name="uploadfile" enctype="multipart/form-data">
                  <fieldset class="w500p">
                      <div class="row">
                          <label class="col w150p" for="file">{% trans "File:" %}</label>
 -                        <input class="col" type="file" id="file" name="file" tabindex="4">
 +                        <input class="col" type="file" id="file" name="file" tabindex="4" required="required">
                      </div>
                      <div class="row mts txtcenter">
                          <button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button>
                  </fieldset>
              </form>
              <p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p>
 -            
 +            <p class="more-info">{% trans "Fetching process is controlled by two constants in your config file: IMPORT_LIMIT (how many articles are fetched at once) and IMPORT_DELAY (delay between fetch of next batch of articles)." %}</p>
 +
              <h2>{% trans "Export your wallabag data" %}</h2>
 -            {% if constant('STORAGE') == 'sqlite' %}
 -            <p><a href="?download" target="_blank">{% trans "Click here" %}</a> {% trans "to download your database." %}</p>{% endif %}
 -            <p><a href="?export" target="_blank">{% trans "Click here" %}</a> {% trans "to export your wallabag data." %}</p>
 -            
 +            <p><a href="?export" target="_blank">{% trans "Export JSON" %}</a><br>
 +            <span class="more-info">Data will be exported in a single JSON file.</span></p>
 +
              <h2>{% trans "Fancy an E-Book ?" %}</h2>
-             <p><a href="./?epub&amp;method=all" title="Generate ePub">Download E-Book</a><br>
-             <span class="more-info">{% trans "Articles will be exported as a single E-book file (EPUB 3 format)." %} {% trans "This can <b>take a while</b> and can <b>even fail</b> if you have too many articles, depending on your server configuration." %}</span></p>
+             <p>{% trans "Click to get all your articles in one ebook :" %}
+             <ul>
+             <li><a href="./?epub&amp;method=all" title="{% trans 'Generate ePub file' %}">ePub 3</a></li>
+             <li><a href="./?mobi&amp;method=all" title="{% trans 'Generate Mobi file' %}">Mobi</a></li>
+             <li><a href="./?pdf&amp;method=all" title="{% trans 'Generate PDF file' %}">PDF</a></li>
+             </ul>
 -            <br>{% trans "This can <b>take a while</b> and can <b>even fail</b> if you have too many articles, depending on your server configuration." %}</p>
++            <span class="more-info">{% trans "This can <b>take a while</b> and can <b>even fail</b> if you have too many articles, depending on your server configuration." %}</span></p>
  
 -            <h2>{% trans "Cache" %}</h2>
 -            <p><a href="?empty-cache">{% trans "Click here" %}</a> {% trans "to delete cache." %}</p>
 +            <h2><a name="cache"></a>{% trans "Cache" %}</h2>
 +            <p><a href="?empty-cache">{% trans "Delete Cache" %}</a><br>
 +            <span class="more-info">Deleting the cache may help with display or other problems.</span></p>
 +
 +            {% if http_auth == 0 %}
 +            <h2>{% trans "Change your password" %}</h2>
 +            <form method="post" action="?config" name="loginform">
 +                <fieldset class="w500p">
 +                    <div class="row">
 +                        <label class="col w150p" for="password">{% trans "New password:" %}</label>
 +                        <input class="col" type="password" id="password" name="password" placeholder="{% trans "Password" %}" tabindex="2">
 +                    </div>
 +                    <div class="row">
 +                        <label class="col w150p" for="password_repeat">{% trans "Repeat your new password:" %}</label>
 +                        <input class="col" type="password" id="password_repeat" name="password_repeat" placeholder="{% trans "Password" %}" tabindex="3">
 +                    </div>
 +                    <div class="row mts txtcenter">
 +                        <button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button>
 +                    </div>
 +                </fieldset>
 +                <input type="hidden" name="returnurl" value="{{ referer }}">
 +                <input type="hidden" name="token" value="{{ token }}">
 +            </form>
 +            {% endif %}
  
              <h2>{% trans 'Add user' %}</h2>
 -            <p>{% trans 'Add a new user :' %}</p>
              <form method="post" action="?newuser">
                  <fieldset class="w500p">
                  <div class="row">
                      <label class="col w150p" for="newusername">{% trans 'Login for new user' %}</label>
 -                    <input class="col" type="text" id="newusername" name="newusername" placeholder="{% trans 'Login' %}">
 +                    <input class="col" type="text" id="newusername" name="newusername" placeholder="{% trans 'Login' %}" required>
                  </div>
                  <div class="row">
                      <label class="col w150p" for="password4newuser">{% trans "Password for new user" %}</label>
 -                    <input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans "Password" %}">
 +                    <input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans 'Password' %}" required>
 +                </div>
 +                <div class="row">
 +                    <label class="col w150p" for="newuseremail">{% trans 'Email for new user (not required)' %}</label>
 +                    <input class="col" type="email" id="newuseremail" name="newuseremail" placeholder="{% trans 'Email' %}">
                  </div>
                  <div class="row mts txtcenter">
 -                    <button type="submit">{% trans "Send" %}</button> 
 +                    <button type="submit">{% trans "Add user" %}</button>
                  </div>
                  </fieldset>
              </form>
                      <input class="col" type="password" id="password4deletinguser" name="password4deletinguser" placeholder="{% trans "Password" %}">
                  </div>
              <div class="row mts txtcenter">
 -                <button type="submit">{% trans "Send" %}</button>
 +                <button type="submit">{% trans "Delete account" %}</button>
              </div>
              </form>
 -            {% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}<br />
 -            {% trans "To completely remove wallabag, delete the wallabag folder on your web server." %}</p>{% endif %}
 +            {% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}</p>
 +            <p>{% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %}
 +
 +            <h2>{% trans "Upgrading wallabag" %}</h2>
 +            <ul>
 +                <li>{% trans "Installed version" %}: <strong>{{ constant('POCHE') }}</strong></li>
 +                <li>{% trans "Latest stable version" %}: {{ prod }}. {% if compare_prod == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent stable version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_prod }})</li>
 +                {% if constant('DEBUG_POCHE') == 1 %}<li>{% trans "Latest dev version" %}: {{ dev }}. {% if compare_dev == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent development version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_dev }}){% endif %}</li>
 +            </ul>
 +            <p class="more-info">{% trans "You can clear cache to check the latest release." %}</p>
 +
  {% endblock %}
diff --combined themes/baggy/home.twig
index dec848f23ad75c0211d3f471dbeb2b239fb6f961,4f4152200703edd0413a3b9acbeb42123fb2201b..426ead1d12420c9472495a44567e7c1ae7d69b91
                  {% endblock %}
              <div id="list-entries" class="list-entries">
                      {% for entry in entries %}
 -                <div id="entry-{{ entry.id|e }}" class="entrie"{% if listmode %} style="width:100%; margin-left:0;"{% endif %}>
 +                <div id="entry-{{ entry.id|e }}" class="entrie">
                      <h2><a href="index.php?view=view&amp;id={{ entry.id|e }}">{{ entry.title|raw }}</a></h2>
                      {% if entry.content| getReadingTime > 0 %}
 -                        <div class="estimatedTime"><a target="_blank" title="{% trans "estimated reading time:" %} {{ entry.content| getReadingTime }} min" class="tool reading-time"><span>{% trans "estimated reading time :" %} {{ entry.content| getReadingTime }} min</span></div>
 +                        <div class="estimatedTime"><span class="tool reading-time">{% trans "estimated reading time :" %} {{ entry.content| getReadingTime }} min</span></div>
                      {% else %}
 -                        <div class="estimatedTime"><a target="_blank" title="{% trans "estimated reading time:" %} {{ entry.content| getReadingTime }} min" class="tool reading-time"><span>{% trans "estimated reading time :" %} <small class="inferieur"></small> 1 min</span></div>
 +                        <div class="estimatedTime"><span class="tool reading-time">{% trans "estimated reading time :" %} <small class="inferieur">&lt;</small> 1 min</span></div>
                      {% endif %}
                      <ul class="tools links">
                          <li><a title="{% trans "Toggle mark as read" %}" class="tool icon-check icon {% if entry.is_read == 0 %}archive-off{% else %}archive{% endif %}" href="./?action=toggle_archive&amp;id={{ entry.id|e }}"><span>{% trans "Toggle mark as read" %}</span></a></li>
                  {% endfor %}
              </div>
              {{ block('pager') }}
 -            {% if view == 'home' %}{% if nb_results > 1 %}<a title="{% trans "Mark all the entries as read" %}"  href="./?action=archive_all">{{ "Mark all the entries as read" }}</a>{% endif %}{% endif %}
 -
 -            {% if search_term is defined %}<a title="{% trans %} Apply the tag {{ search_term }} to this search {% endtrans %}" href="./?action=add_tag&amp;search={{ search_term }}">{% trans %} Apply the tag {{ search_term }} to this search {% endtrans %}</a>{% endif %}
 +            {% if view == 'home' %}{% if nb_results > 1 %}<p><a title="{% trans "Mark all the entries as read" %}"  href="./?action=archive_all">{% trans "Mark all the entries as read" %}</a></p>{% endif %}{% endif %}
-             {% if searchterm is defined %}<p><a title="{% trans "Tag these results as" %} {{ searchterm }}" href="./?action=add_tag&search={{ searchterm }}">
- {% trans "Tag these results as" %} {{ searchterm }}</p></a>{% endif %}
-             
-             {% if tag %}<p><a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&amp;method=tag&amp;value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</p></a>
-             {% elseif search_term is defined %}<p><a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&amp;method=search&amp;value={{ search_term }}">{% trans "Download the articles from this search in an epub" %}</p></a>
-             {% else %}<p><a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&amp;method=category&amp;value={{ view }}">{% trans "Download the articles from this category in an epub" %}</a></p>{% endif %}
++            {% if searchterm is defined %}<a title="{% trans "Tag these results as" %} {{ searchterm }}" href="./?action=add_tag&search={{ searchterm }}">{% trans "Tag these results as" %} {{ searchterm }}</a>{% endif %}<br />
              
 -            {% elseif search_term is defined %}
 -            <a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&amp;method=search&amp;value={{ search_term }}">{% trans "Download as ePub3" %}</a>
 -            <a title="{% trans "Download the articles from this search in a mobi file" %}" href="./?mobi&amp;method=search&amp;value={{ search_term }}">{% trans "Download as Mobi" %}</a>
 -            <a title="{% trans "Download the articles from this search in a pdf file" %}" href="./?pdf&amp;method=search&amp;value={{ search_term }}">{% trans "Download as PDF" %}</a>
+             {% if tag %}
+             <a title="{% trans "Download the articles from this tag in an epub file" %}" href="./?epub&amp;method=tag&amp;value={{ tag.value }}">{% trans "Download as ePub3" %}</a>
+             <a title="{% trans "Download the articles from this tag in a mobi file" %}" href="./?mobi&amp;method=tag&amp;value={{ tag.value }}">{% trans "Download as Mobi" %}</a>
+             <a title="{% trans "Download the articles from this tag in a pdf file" %}" href="./?pdf&amp;method=tag&amp;value={{ tag.value }}">{% trans "Download as PDF" %}</a>
++            {% elseif searchterm is defined %}
++            <a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&amp;method=search&amp;value={{ searchterm }}">{% trans "Download as ePub3" %}</a>
++            <a title="{% trans "Download the articles from this search in a mobi file" %}" href="./?mobi&amp;method=search&amp;value={{ searchterm }}">{% trans "Download as Mobi" %}</a>
++            <a title="{% trans "Download the articles from this search in a pdf file" %}" href="./?pdf&amp;method=search&amp;value={{ searchterm }}">{% trans "Download as PDF" %}</a>
+             {% else %}
+             <a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&amp;method=category&amp;value={{ view }}">{% trans "Download as ePub3" %}</a>
+             <a title="{% trans "Download the articles from this category in a mobi file" %}" href="./?mobi&amp;method=category&amp;value={{ view }}">{% trans "Download as Mobi" %}</a>
+             <a title="{% trans "Download the articles from this category in a pdf file" %}" href="./?pdf&amp;method=category&amp;value={{ view }}">{% trans "Download as PDF" %}</a>
              {% endif %}
 -            
 -            {% endif %}
++{% endif %}
  {% endblock %}
diff --combined themes/baggy/view.twig
index 9225d11b7073279158d00210c08b453fb7d482ad,3f151592fb953bb2935cc57dcd2cc71379cd0693..dd2743277bee20515306c36bc6a625dbe8078b37
@@@ -4,7 -4,6 +4,7 @@@
  {% endblock %}
  {% block title %}{{ entry.title|raw }} ({{ entry.url | e | getDomain }}){% endblock %}
  {% block content %}
 +                              {% include '_highlight.twig' %}
          <div id="article_toolbar">
              <ul class="links">
                  <li class="topPosF"><a href="#top" title="{% trans "Back to top" %}" class="tool top icon icon-arrow-up-thick"><span>{% trans "Back to top" %}</span></a></li>
                  {% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter icon icon-twitter" title="{% trans "Tweet" %}"><span>{% trans "Tweet" %}</span></a></li>{% endif %}
                  {% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&amp;body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="{% trans "Email" %}"><span>{% trans "Email" %}</span></a></li>{% endif %}
                  {% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&amp;title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %}
 -                {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span> ({{ flattr.numflattrs }})</a></li>{% endif %}{% endif %}
 +                {% if constant('SHARE_DIASPORA') == 1 %}<li><a href="{{ constant('DIASPORA_URL') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}&notes=&v=1&noui=1&jump=doclose" target="_blank" class="tool diaspora icon-image icon-image--diaspora" title="{% trans "diaspora" %}"><span>{% trans "diaspora" %}</span></a></li>{% endif %}
 +                {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span> ({{ flattr.numFlattrs }})</a></li>{% endif %}{% endif %}
 +                {% if constant('CARROT') == 1 %}<li><a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon-image icon-image--carrot" target="_blank" title="{% trans "carrot" %}"><span>Carrot</span></a></li>{% endif %}
                  {% if constant('SHOW_PRINTLINK') == 1 %}<li><a title="{% trans "Print" %}" class="tool icon icon-print" href="javascript: window.print();"><span>{% trans "Print" %}</span></a></li>{% endif %}
-                 <li><a href="./?epub&amp;method=id&amp;value={{ entry.id|e }}" title="Generate epub file">EPUB</a></li>
+                 <li><a href="./?epub&amp;method=id&amp;value={{ entry.id|e }}" title="Generate ePub file">EPUB</a></li>
+                 <li><a href="./?mobi&amp;method=id&amp;value={{ entry.id|e }}" title="Generate Mobi file">MOBI</a></li>
+                 <li><a href="./?pdf&amp;method=id&amp;value={{ entry.id|e }}" title="Generate PDF file">PDF</a></li>
                  <li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&amp;body={{ entry.url|url_encode }}" title="{% trans "Does this article appear wrong?" %}" class="tool bad-display icon icon-delete"><span>{% trans "Does this article appear wrong?" %}</span></a></li>
              </ul>
          </div>
@@@ -34,7 -33,7 +36,7 @@@
                  {{ content | raw }}
              </article>
          </div>
 -        <script src="{{ poche_url }}themes/{{theme}}/js/restoreScroll.js"></script>
 +        <script src="{{ poche_url }}themes/_global/js/restoreScroll.js"></script>
          <script type="text/javascript">
          $(document).ready(function() {
          
index 082e179f58f47ce95d91bfd0dc7fb097cb946c1c,a65d2b2c10b3f6db9836957ff08bca15e23cbd2a..bac563cf2d31a1fbe64667f2324d9f871411c7f3
@@@ -6,29 -6,29 +6,29 @@@
  {% endblock %}
  {% block content %}
              <h2>{% trans "Saving articles" %}</h2>
 -            <p>{% trans "There are several ways to save an article:" %} (<a href="http://doc.wallabag.org/" title="{% trans "read the documentation" %}">?</a>)</p>
 +            <p>{% trans "There are several ways to save an article:" %} {% trans "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)" %}</p>
 +            <p>
 +                <form method="get" action="index.php">
 +                    <label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label><br>
 +                    <input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" />
 +                    <input type="submit" value="{% trans "bag it!" %}" />
 +                </form>
 +            </p>
 +            <h3>Browser Plugins</h3>
              <ul>
 -                <li>Firefox: <a href="https://addons.mozilla.org/firefox/addon/wallabag/" title="download the firefox extension">{% trans "download the extension" %}</a></li>
 -                <li>Chrome: <a href="http://doc.wallabag.org/doku.php?id=users:chrome_extension" title="download the chrome extension">{% trans "download the extension" %}</a></li>
 -                <li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" title="download the application">{% trans "via F-Droid" %}</a> {% trans " or " %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" title="download the application">{% trans "via Google Play" %}</a></li>
 -                <li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" title="download the iOS application">{% trans "download the application" %}</a></li>
 -                <li>Windows Phone: <a href="http://www.windowsphone.com/en-us/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450" title="download the window phone application">{% trans "download the application" %}</a></li>
 -                <li>
 -                    <form method="get" action="index.php">
 -                        <label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label>
 -                        <input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" />
 -                        <input type="submit" value="{% trans "bag it!" %}" />
 -                    </form>
 -                </li>
 -                <li>{% trans "Bookmarklet: drag & drop this link to your bookmarks bar" %} <a id="bookmarklet" ondragend="this.click();" title="i am a bookmarklet, use me !" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "bag it!" %}</a></li>
 +                <li><a href="https://addons.mozilla.org/firefox/addon/wallabag/" target="_blank">{% trans "Firefox Add-On" %}</a></li>
 +                <li><a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj" target="_blank">{% trans "Chrome Extension" %}</a></li>
              </ul>
 -
 -            <h2>{% trans "Upgrading wallabag" %}</h2>
 +            <h3>Mobile Apps</h3>
              <ul>
 -                <li>{% trans "Installed version" %} : <strong>{{ constant('POCHE') }}</strong></li>
 -                <li>{% trans "Latest stable version" %} : {{ prod }}. {% if compare_prod == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent stable version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %}</li>
 -                {% if constant('DEBUG_POCHE') == 1 %}<li>{% trans "Latest dev version" %} : {{ dev }}. {% if compare_dev == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent development version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %}</li>{% endif %}
 +                <li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via F-Droid" %}</a> {% trans " or " %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via Google Play" %}</a></li>
 +                <li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{% trans "download the application" %}</a></li>
 +                <li>Windows Phone: <a href="http://www.windowsphone.com/en-us/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450" target="_blank">{% trans "download the application" %}</a></li>
              </ul>
 +                <h3>{% trans "Bookmarklet" %}</h3>
 +                <p>
 +                {% trans "Drag &amp; drop this link to your bookmarks bar:" %} <a id="bookmarklet" ondragend="this.click();" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "bag it!" %}</a>
 +                </p>
  
              <h2>{% trans "Feeds" %}</h2>
              {% if token == '' %}
                  <li><a href="?feed&amp;type=fav&amp;user_id={{ user_id }}&amp;token={{ token }}" target="_blank">{% trans "Favorites feed" %}</a></li>
                  <li><a href="?feed&amp;type=archive&amp;user_id={{ user_id }}&amp;token={{ token }}" target="_blank">{% trans "Archive feed" %}</a></li>
              </ul>
 -            <p>{% trans "Your token:" %} <strong>{{token}}</strong></p>
 -            <p>{% trans "Your user id:" %} <strong>{{user_id}}</strong></p>
 -            <p>{% trans "You can regenerate your token: <a href='?feed&amp;action=generate'>generate!</a>." %}</p>
 +            <p class="more-info">
 +              {% trans "Your token:" %} <strong>{{token}}</strong><br>
 +              {% trans "Your user id:" %} <strong>{{user_id}}</strong><br>
 +              {% trans "You can regenerate your token: <a href='?feed&amp;action=generate'>generate!</a>." %}
 +            </p>
              {% endif %}
              
              <h2>{% trans "Change your theme" %}</h2>
              <form method="post" action="?updatetheme" name="changethemeform">
 -                <fieldset class="w500p">
 +                <fieldset class="w500p inline">
                      <div class="row">
                          <label class="col w150p" for="theme">{% trans "Theme:" %}</label>
                          <select class="col" id="theme" name="theme">
@@@ -67,7 -65,7 +67,7 @@@
  
              <h2>{% trans "Change your language" %}</h2>
              <form method="post" action="?updatelanguage" name="changelanguageform">
 -                <fieldset class="w500p">
 +                <fieldset class="w500p inline">
                      <div class="row">
                          <label class="col w150p" for="language">{% trans "Language:" %}</label>
                          <select class="col" id="language" name="language">
                  <input type="hidden" name="token" value="{{ token }}">
              </form>
  
 -            {% if http_auth == 0 %}
 -            <h2>{% trans "Change your password" %}</h2>
 -            <form method="post" action="?config" name="loginform">
 -                <fieldset class="w500p">
 -                    <div class="row">
 -                        <label class="col w150p" for="password">{% trans "New password:" %}</label>
 -                        <input class="col" type="password" id="password" name="password" placeholder="{% trans "Password" %}" tabindex="2">
 -                    </div>
 -                    <div class="row">
 -                        <label class="col w150p" for="password_repeat">{% trans "Repeat your new password:" %}</label>
 -                        <input class="col" type="password" id="password_repeat" name="password_repeat" placeholder="{% trans "Password" %}" tabindex="3">
 -                    </div>
 -                    <div class="row mts txtcenter">
 -                        <button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button>
 -                    </div>
 -                </fieldset>
 -                <input type="hidden" name="returnurl" value="{{ referer }}">
 -                <input type="hidden" name="token" value="{{ token }}">
 -            </form>
 -            {% endif %}
 -
 -            <h2>{% trans "Import" %}</h2>
 +            <h2><a name="import"></a>{% trans "Import" %}</h2>
              <p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p>
 -            <p>{% trans "Please select export file on your computer and press \"Import\" button below.<br>Wallabag will parse your file, insert all URLs and start fetching of articles if required.<br>Fetching process is controlled by two constants in your config file: IMPORT_LIMIT (how many articles are fetched at once) and IMPORT_DELAY (delay between fetch of next batch of articles)." %}</p>
 +            <p>{% trans "Please select export file on your computer and press \"Import\" button below. Wallabag will parse your file, insert all URLs and start fetching of articles if required." %}</p>
              <form method="post" action="?import" name="uploadfile" enctype="multipart/form-data">
                  <fieldset class="w500p">
                      <div class="row">
                          <label class="col w150p" for="file">{% trans "File:" %}</label>
 -                        <input class="col" type="file" id="file" name="file" tabindex="4">
 +                        <input class="col" type="file" id="file" name="file" tabindex="4" required="required">
                      </div>
                      <div class="row mts txtcenter">
                          <button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button>
                  </fieldset>
              </form>
              <p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p>
 +            <p class="more-info">{% trans "Fetching process is controlled by two constants in your config file: IMPORT_LIMIT (how many articles are fetched at once) and IMPORT_DELAY (delay between fetch of next batch of articles)." %}</p>
  
              <h2>{% trans "Export your wallabag data" %}</h2>
 -            {% if constant('STORAGE') == 'sqlite' %}
 -            <p><a href="?download" target="_blank">{% trans "Click here" %}</a> {% trans "to download your database." %}</p>{% endif %}
 -            <p><a href="?export" target="_blank">{% trans "Click here" %}</a> {% trans "to export your wallabag data." %}</p>
 +            <p><a href="?export" target="_blank">{% trans "Export JSON" %}</a><br>
 +            <span class="more-info">Data will be exported in a single JSON file.</span></p>
  
              <h2>{% trans "Fancy an E-Book ?" %}</h2>
-             <p><a href="./?epub&amp;method=all" title="Generate ePub">Download E-Book</a><br>
-             <span class="more-info">{% trans "Articles will be exported as a single E-book file (EPUB 3 format)." %} {% trans "This can <b>take a while</b> and can <b>even fail</b> if you have too many articles, depending on your server configuration." %}</span></p>
+             <p>{% trans "Click to get all your articles in one ebook :" %}
+             <ul>
+             <li><a href="./?epub&amp;method=all" title="Generate ePub file">ePub 3</a></li>
+             <li><a href="./?mobi&amp;method=all" title="Generate Mobi file">Mobi</a></li>
+             <li><a href="./?pdf&amp;method=all" title="Generate PDF file">PDF</a></li>
+             </ul>
++            </p>
 -            <br>{% trans "This can <b>take a while</b> and can <b>even fail</b> if you have too many articles, depending on your server configuration." %}</p>
++            <span class="more-info">{% trans "This can <b>take a while</b> and can <b>even fail</b> if you have too many articles, depending on your server configuration." %}</span></p>
  
-             
 +            <h2><a name="cache"></a>{% trans "Cache" %}</h2>
 +            <p><a href="?empty-cache">{% trans "Delete Cache" %}</a><br>
 +            <span class="more-info">Deleting the cache may help with display or other problems.</span></p>
 +
 +            {% if http_auth == 0 %}
 +            <h2>{% trans "Change your password" %}</h2>
 +            <form method="post" action="?config" name="loginform">
 +                <fieldset class="w500p">
 +                    <div class="row">
 +                        <label class="col w150p" for="password">{% trans "New password:" %}</label>
 +                        <input class="col" type="password" id="password" name="password" placeholder="{% trans "Password" %}" tabindex="2">
 +                    </div>
 +                    <div class="row">
 +                        <label class="col w150p" for="password_repeat">{% trans "Repeat your new password:" %}</label>
 +                        <input class="col" type="password" id="password_repeat" name="password_repeat" placeholder="{% trans "Password" %}" tabindex="3">
 +                    </div>
 +                    <div class="row mts txtcenter">
 +                        <button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button>
 +                    </div>
 +                </fieldset>
 +                <input type="hidden" name="returnurl" value="{{ referer }}">
 +                <input type="hidden" name="token" value="{{ token }}">
 +            </form>
 +            {% endif %}
 -            <h2>{% trans "Cache" %}</h2>
 -            <p><a href="?empty-cache">{% trans "Click here" %}</a> {% trans "to delete cache." %}</p>
 -                       
              <h2>{% trans 'Add user' %}</h2>
 -            <p>{% trans 'Add a new user :' %}</p>
              <form method="post" action="?newuser">
                  <fieldset class="w500p">
                  <div class="row">
                      <label class="col w150p" for="newusername">{% trans 'Login for new user' %}</label>
 -                    <input class="col" type="text" id="newusername" name="newusername" placeholder="{% trans 'Login' %}">
 +                    <input class="col" type="text" id="newusername" name="newusername" placeholder="{% trans 'Login' %}" required>
                  </div>
                  <div class="row">
                      <label class="col w150p" for="password4newuser">{% trans "Password for new user" %}</label>
 -                    <input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans "Password" %}">
 +                    <input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans 'Password' %}" required>
 +                </div>
 +                <div class="row">
 +                    <label class="col w150p" for="newuseremail">{% trans 'Email for new user (not required)' %}</label>
 +                    <input class="col" type="email" id="newuseremail" name="newuseremail" placeholder="{% trans 'Email' %}">
                  </div>
                  <div class="row mts txtcenter">
 -                    <button type="submit">{% trans "Send" %}</button> 
 +                    <button type="submit">{% trans "Add user" %}</button>
                  </div>
                  </fieldset>
              </form>
 -            
 +
              <h2>{% trans "Delete account" %}</h2>
              {% if not only_user %}<form method="post" action="?deluser">
              <p>{% trans "You can delete your account by entering your password and validating." %}<br /><b>{% trans "Be careful, data will be erased forever (that is a very long time)." %}</b></p>
                      <input class="col" type="password" id="password4deletinguser" name="password4deletinguser" placeholder="{% trans "Password" %}">
                  </div>
              <div class="row mts txtcenter">
 -                <button type="submit">{% trans "Send" %}</button>
 +                <button type="submit">{% trans "Delete account" %}</button>
              </div>
              </form>
 -            {% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}<br />
 -            {% trans "To completely remove wallabag, delete the wallabag folder on your web server." %}</p>{% endif %}
 +            {% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}</p>
 +            <p>{% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %}
 +
 +            <h2>{% trans "Upgrading wallabag" %}</h2>
 +            <ul>
 +                <li>{% trans "Installed version" %}: <strong>{{ constant('POCHE') }}</strong></li>
 +                <li>{% trans "Latest stable version" %}: {{ prod }}. {% if compare_prod == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent stable version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_prod }})</li>
 +                {% if constant('DEBUG_POCHE') == 1 %}<li>{% trans "Latest dev version" %}: {{ dev }}. {% if compare_dev == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent development version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_dev }}){% endif %}</li>
 +            </ul>
 +            <p class="more-info">{% trans "You can clear cache to check the latest release." %}</p>
 +
  {% endblock %}
diff --combined themes/default/home.twig
index 6bc549e6c6d3e6e43265647800c377f83418f1eb,093c2dc5e20b04076dc767143b89ec1b01c9de6b..59615691c23ca273587a40f13cc9de567ff8f7c1
                  {% block pager %}
                      {% if nb_results > 1 %}
                  <div class="results">
 -                    <div class="nb-results">{{ nb_results }} {% trans "results" %}{% if search_term is defined %}{% trans " found for « " %} {{ search_term }} »{% endif %}</div>
 +                    <div class="nb-results">{{ nb_results }} {% trans "results" %}{% if searchterm is defined %}{% trans " found for « " %} {{ searchterm }} »{% endif %}</div>
                          {{ page_links | raw }}
                  </div>
                      {% elseif nb_results == 1 %}
 -                        {% if search_term is defined %}
 +                        {% if searchterm is defined %}
                       <div class="results">
 -                        <div class="nb-results">{% trans "Only one result found for " %} « {{ search_term }} »</div>
 +                        <div class="nb-results">{% trans "Only one result found for " %} « {{ searchterm }} »</div>
                       </div>
                          {% endif %}
                      {% endif %}
                  {% endfor %}
  
              {{ block('pager') }}
++            {% if view == 'home' %}{% if nb_results > 1 %}<p><a title="{% trans "Mark all the entries as read" %}"  href="./?action=archive_all">{% trans "Mark all the entries as read" %}</a></p>{% endif %}{% endif %}
++            {% if searchterm is defined %}<a title="{% trans "Tag these results as" %} {{ searchterm }}" href="./?action=add_tag&search={{ searchterm }}">{% trans "Tag these results as" %} {{ searchterm }}</a>{% endif %}<br />
              
--            {% if view == 'home' %}{% if nb_results > 1 %}<a title="{% trans "mark all the entries as read" %}"  href="./?action=archive_all">{% trans "mark all the entries as read" %}</a>{% endif %}{% endif %}
--            
-       {% if searchterm is defined %}<a title="{% trans "Tag these results as" %} {{ searchterm }}" href="./?action=add_tag&search={{ searchterm }}">
- {% trans "Tag these results as" %} {{ searchterm }}</a>{% endif %}            
-       {% if tag %}<a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&amp;method=tag&amp;value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</a>
-             {% elseif searchterm is defined %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&amp;method=search&amp;value={{ searchterm }}">{% trans "Download the articles from this search in an epub" %}</a>
 -            {% if tag %}<a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&amp;method=tag&amp;value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</a>
 -            {% elseif search_term is defined %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&amp;method=search&amp;value={{ search_term }}">{% trans "Download the articles from this search in an epub" %}</a>
--            {% else %}<a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&amp;method=category&amp;value={{ view }}">{% trans "Download the articles from this category in an epub" %}</a>{% endif %}
++            {% if tag %}
++            <a title="{% trans "Download the articles from this tag in an epub file" %}" href="./?epub&amp;method=tag&amp;value={{ tag.value }}">{% trans "Download as ePub3" %}</a>
++            <a title="{% trans "Download the articles from this tag in a mobi file" %}" href="./?mobi&amp;method=tag&amp;value={{ tag.value }}">{% trans "Download as Mobi" %}</a>
++            <a title="{% trans "Download the articles from this tag in a pdf file" %}" href="./?pdf&amp;method=tag&amp;value={{ tag.value }}">{% trans "Download as PDF" %}</a>
++            {% elseif searchterm is defined %}
++            <a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&amp;method=search&amp;value={{ searchterm }}">{% trans "Download as ePub3" %}</a>
++            <a title="{% trans "Download the articles from this search in a mobi file" %}" href="./?mobi&amp;method=search&amp;value={{ searchterm }}">{% trans "Download as Mobi" %}</a>
++            <a title="{% trans "Download the articles from this search in a pdf file" %}" href="./?pdf&amp;method=search&amp;value={{ searchterm }}">{% trans "Download as PDF" %}</a>
++            {% else %}
++            <a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&amp;method=category&amp;value={{ view }}">{% trans "Download as ePub3" %}</a>
++            <a title="{% trans "Download the articles from this category in a mobi file" %}" href="./?mobi&amp;method=category&amp;value={{ view }}">{% trans "Download as Mobi" %}</a>
++            <a title="{% trans "Download the articles from this category in a pdf file" %}" href="./?pdf&amp;method=category&amp;value={{ view }}">{% trans "Download as PDF" %}</a>
++            {% endif %}
              
              {% endif %}
  {% endblock %}